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.
Maintainers
Readme
qlaw-cli
![]()
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-cliOr using other package managers:
# Using yarn
yarn global add qlaw-cli
# Using pnpm
pnpm add -g qlaw-cli
# Using bun
bun add -g qlaw-cliThen run from anywhere:
qlawDevelopment 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
- Type your message in the input field
- Press Enter to send
- AI responds with streaming support
- Use commands by typing
/for quick actions - 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 panelto open the interactive settings overlay (Core API, UI, Agent Framework sections) - Run
/settingsalone to print the current configuration in the transcript - Use
↑↓orTabto highlight a row,Enterto edit/toggle, andEscto 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 authenticationwill format as a documentation reference@file src/index.tswill format as a file reference@code function example() { return true; }will format as a code snippet
Keyboard Shortcuts
↑↓- Navigate suggestionsTab- Autocomplete suggestionEnter- Send message / Select suggestionEsc- Cancel input / Close overlays / ExitCtrl+C- Force exit
📚 Documentation
- Quick Start Guide - Get up and running in 3 minutes
- Architecture - Technical design and structure
- UI Reference - Visual interface guide
- Design System - Colors, typography, and components
- Changelog - Version history
- API Integration - Configure OpenAI/Azure/custom backends
- Agent Bridge Example - Python Agent Framework bridge used by AF modes
🗺️ 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:
- Contributing Guide - How to contribute
- Code of Conduct - Community standards
- Security Policy - Reporting vulnerabilities
- Publishing Guide - For maintainers: How to publish releases to npm
📄 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
