npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

qlaw-cli

v0.1.6

Published

Interactive terminal UI chat application built with OpenTUI and React. A modern, developer-friendly chat interface for your terminal with commands, mentions, and AI integration.

Readme

qlaw-cli

License: MIT Version PRs Welcome Built with Bun Code of Conduct

qlaw-cli interface

A modern, feature-rich terminal UI chat application with OpenAI integration, built with OpenTUI and React.

👉 New here? Start with the Quick Start Guide | ✋ Read our Code of Conduct before contributing

✨ Features

Core Capabilities

  • 🤖 OpenAI/Azure Integration - Streaming responses with OpenAI and Azure OpenAI support
  • 💬 Session Management - Multiple conversations with persistent history
  • Command System - 10+ built-in commands + custom command support
  • 🏷️ Smart Mentions - Context, file, code, and docs references
  • 🎯 Autocomplete - Fuzzy suggestions with keyboard navigation
  • 🎨 Themes - Light/Dark toggle
  • 💾 Settings Persistence - Preferences saved across sessions

User Experience

  • 🎨 Claude Code-Inspired Design - Clean, professional interface with warm accents
  • 📱 Fully Responsive - Adapts to any terminal size
  • ⌨️ Keyboard-Driven - Efficient workflows without leaving the keyboard
  • 📜 Smart Scrolling - Auto-scroll with visual feedback
  • 🔧 Overlay Menus - Settings and session list overlays

Built-in Commands

/clear, /help, /model, /endpoint, /api-key, /status, /settings, /sessions, /commands, /export, /theme, /terminal-setup, and more

🚀 Quick Start

Installation

Install from npm:

npm install -g qlaw-cli

Or using other package managers:

# Using yarn
yarn global add qlaw-cli

# Using pnpm
pnpm add -g qlaw-cli

# Using bun
bun add -g qlaw-cli

Then run from anywhere:

qlaw

Development Setup

If you want to contribute or develop locally:

# Clone the repository
git clone https://github.com/Qredence/qlaw-cli.git
cd qlaw-cli

# Install dependencies
bun install

# Copy environment template
cp .env.example .env

# Add your OpenAI API key to .env
# OPENAI_API_KEY=your-key-here

# Run locally
bun run start

# Or with auto-reload during development
bun run dev

📖 Usage

Getting Started

  1. Type your message in the input field
  2. Press Enter to send
  3. AI responds with streaming support
  4. Use commands by typing / for quick actions
  5. Add mentions by typing @ for context

Commands

Type / to see available commands:

  • /clear - Clear chat history (with confirmation)
  • /help - Show help information
  • /model - Set the model name
  • /endpoint - Set the API endpoint base URL
  • /api-key - Set the API key (masked in status)
  • /status - Show current configuration
  • /settings - Print current settings summary
  • /settings panel - Open the interactive settings menu
  • /sessions - View recent sessions
  • /commands - List custom commands
  • /export - Export current chat to JSON
  • /theme - Toggle light/dark theme
  • /terminal-setup - Terminal keybinding tips
  • /keybindings - Inspect or edit suggestion navigation shortcuts
  • /mode - Switch between standard/workflow modes
  • /workflow - Workflow controls reference
  • /agents - Show current agent-fleet roles
  • /run - Kick off the workflow in the active mode
  • /continue - Continue a workflow handoff
  • /judge - Invoke the judge agent for a decision
  • /af-bridge - Configure the Agent Framework bridge base URL
  • /af-model - Configure the Agent Framework model identifier

Settings Panel

  • Run /settings panel to open the interactive settings overlay (Core API, UI, Agent Framework sections)
  • Run /settings alone to print the current configuration in the transcript
  • Use or Tab to highlight a row, Enter to edit/toggle, and Esc to close
  • Text fields launch inline prompts; updates persist to ~/.qlaw-cli/qlaw_settings.json
  • Agent Framework rows mirror /af-bridge + /af-model, and workflow mode can stay enabled by default
  • Update suggestion navigation shortcuts with /keybindings set <action> <binding> or /keybindings reset

Mentions

Type @ for contextual references:

  • @context <text> - Add contextual information to your message
  • @file <path> - Reference a file in your message
  • @code <snippet> - Include a code snippet in your message
  • @docs <topic> - Reference documentation in your message

Mentions are automatically formatted to provide structured context to the AI. For example:

  • @docs API authentication will format as a documentation reference
  • @file src/index.ts will format as a file reference
  • @code function example() { return true; } will format as a code snippet

Keyboard Shortcuts

  • - Navigate suggestions
  • Tab - Autocomplete suggestion
  • Enter - Send message / Select suggestion
  • Esc - Cancel input / Close overlays / Exit
  • Ctrl+C - Force exit

📚 Documentation

🗺️ Roadmap

Upcoming Release - Focus Areas

The next release will focus on the following key areas:

🎯 Enhanced Interactivity

  • [x] Improved command autocomplete and suggestions
  • [x] Interactive prompts and confirmations
  • [x] Enhanced keyboard navigation and shortcuts
  • [x] Real-time feedback and visual indicators

⚙️ Settings Implementation

  • [x] Comprehensive settings panel
  • [x] User preferences persistence
  • [x] Configurable themes and colors
  • [x] API configuration management
  • [x] Custom keybindings

🤖 Agent Framework Integration

  • [ ] Native integration of agent-framework as core framework
  • [ ] Native integration of agentic-fleet as core framework
  • [ ] Seamless agent orchestration and management
  • [ ] Multi-agent conversation support
  • [ ] Agent capability discovery

✨ User Experience Improvements

  • [ ] Streamlined onboarding flow
  • [ ] Enhanced error messages and help system
  • [ ] Performance optimizations
  • [ ] Accessibility enhancements
  • [ ] Improved session management UI

v0.3.0 (Future)

  • [ ] Multi-model support (Claude, Gemini, etc.)
  • [ ] Local LLM integration (Ollama)
  • [ ] Voice input support
  • [ ] Image analysis capabilities
  • [ ] Advanced RAG with vector search
  • [ ] Plugin marketplace
  • [ ] Collaborative sessions
  • [ ] Cloud sync capabilities

🤝 Contributing

We welcome contributions! Please see:

📄 License

MIT License - see LICENSE file for details.

🙏 Acknowledgements

Inspiration:

  • Claude Code - Design inspiration for the clean, minimal interface and warm accent color scheme
  • Cursor - Terminal integration patterns and workflow concepts

Built With:

  • OpenTUI - The excellent terminal UI framework that powers this application
  • React - Component library for building the interface
  • Bun - Fast JavaScript runtime and package manager
  • TypeScript - Type-safe development

Special thanks to the OpenTUI team for creating such a powerful and elegant framework for building terminal UIs.


Made with ❤️ by Qredence