AI-powered terminal toolkit with coding assistant, shell autocomplete, and API documentation generator
Project description
lac-cli
lac-cli is a terminal toolkit built by lacai.io that brings AI directly into your command line. It includes an AI-powered shell, a coding assistant with project memory, a multi-model debate engine, and an API documentation generator.
New in v0.2.9: Fixed LacMind UI - messages now display properly, icon path corrected, OS detection in system prompt.
Install
Quick install (Unix/Linux/macOS):
curl -fsSL https://lacai.io/install.sh | bash
Quick install (Windows PowerShell):
iwr -useb https://lacai.io/install.ps1 | iex
Manual install (all platforms):
# Unix/Linux/macOS
pip3 install 'lac-cli[all]'
pip3 install anthropic
# Windows
pip install lac-cli[all]
pip install anthropic
Optional components:
pip install lac-cli[agent] # Just the coding assistant
pip install lac-cli[shell] # Shell with autocomplete server
pip install lac-cli[mind] # Multi-model debate engine
pip install lac-cli[all] # Everything
AI Provider Libraries (install based on your choice):
pip install anthropic # For Claude
pip install openai # For OpenAI/GPT
# Ollama requires no additional install
Getting Started
Run lac to see the menu of available tools:
lac
You'll see:
lac-cli v0.2.9
Available Tools:
1. Shell - AI-powered terminal with autocomplete
2. Mind - Multi-model debate engine
3. GenDoc - API documentation generator
4. Agent - AI coding assistant with project memory
5. Settings - Configure AI provider and model
Select a tool [1-5] or press Enter for Shell:
Or use direct commands:
lac shell # Launch AI terminal shell
lac mind # Launch multi-model debate
lac gendoc <path> # Generate API docs
lac agent # Launch AI coding assistant
LacAgent AI Coding Assistant
Launch the AI coding assistant with project memory:
lac agent
LacAgent is a powerful AI coding assistant that can:
- Read, write, and edit files in your project
- Execute shell commands (with safety checks)
- Test API endpoints with HTTP requests
- Watch files for changes
- Generate API documentation
- Remember project context across sessions
- Undo/redo file changes with diff preview
Slash Commands:
/undo # Revert last file edit with diff preview
/redo # Reapply undone edit
/history # Show all file edits this session
/diff <file> # Inspect file contents with line numbers
/gendoc [path] # Generate API documentation
/plan # Enable PlanMode (approve plans before execution)
/noplan # Disable PlanMode (execute immediately)
/tasks # Show current task list
/cleartasks # Clear all tasks
Example Usage:
[You] create a FastAPI app with user authentication
[Agent] → Creates files, installs dependencies, sets up routes
[You] run the server
[Agent] → Starts uvicorn in background, provides log file location
[You] test the /users endpoint
[Agent] → Makes HTTP request, shows response
[You] /undo
[Agent] → Reverts last file change with diff preview
Terminal Shell
Launch the AI-powered shell:
lac shell
The first time you run it, a setup wizard will walk you through picking your AI provider and entering your API key.
To redo the setup:
lac shell --setup
To run without an internet connection:
lac shell --offline
To adjust autocomplete speed (default 150ms):
lac shell --debounce 50 # faster
lac shell --debounce 300 # slower
LacMind Multi-Model Debate
Launch the web-based debate interface for complex queries:
lac mind
LacMind runs multiple AI models in a debate format where they challenge and refine each other's ideas, then vote on the best response. Perfect for research, code generation, and complex problem-solving.
GenDoc API Documentation
Generate beautiful API documentation from your codebase:
lac gendoc /path/to/project
GenDoc scans your project, detects the framework, and uses AI to analyze your routes and controllers to generate comprehensive API documentation. Supports Laravel, Django, FastAPI, Flask, Express, and Rails.
Optional flags:
lac gendoc /path/to/project --prompt "Focus on authentication endpoints"
lac gendoc /path/to/project --integrate # Add /docs route to your framework
lac gendoc /path/to/project --output custom.html
How It Works
Main Menu
When you run lac without arguments, you get an interactive menu to choose between:
- Shell - AI-powered terminal with real-time autocomplete
- Mind - Multi-model debate for complex queries
- GenDoc - API documentation generator
- Agent - AI coding assistant with project memory
- Settings - Configure AI provider and model
You can also use direct commands like lac shell, lac mind, lac gendoc <path>, or lac agent.
LacAgent Coding Assistant
LacAgent is an AI coding assistant that runs in your project directory with full filesystem and command execution access:
Core Capabilities:
- File Operations - Read, write, and patch files with exact string matching
- Glob Patterns - List files with patterns like
**/*.py,*.js,src/** - Command Execution - Run shell commands with automatic background process detection
- API Testing - Make HTTP requests to test your endpoints
- File Watching - Monitor files for changes and get diff reports
- Documentation - Generate API docs using GenDoc integration
- Project Memory - Remembers project context, stack, decisions across sessions
- Undo/Redo - Full file edit history with diff preview and restoration
- PlanMode - Review and approve execution plans before running (enabled by default)
- Task Tracking - Agent manages task lists for multi-step work
- Interactive Questions - Agent can ask clarifying questions mid-execution
Smart Features:
- Automatically runs long-running commands (flutter run, npm start, etc.) in background with logging
- Logs saved to
~/.lac/logs/for later inspection - Multi-line paste support with visual indicator
- Slash command autocomplete (type
/to see options) - Security validation prevents dangerous commands and path escaping
File Editing Workflow:
- Agent reads file first to get exact content
- Uses patch_file to make surgical edits (not full rewrites)
- Automatically snapshots before every edit
- You can /undo anytime to revert with diff preview
Terminal Shell
When you launch lac, it automatically starts a local server in the background that handles communication with your AI model. You do not need to start anything manually.
As you type, the shell sends your input to the AI and shows a suggested completion as ghost text. Press Tab to accept it. If you type something in plain English like "show all files bigger than 100mb", the shell converts it to the right command and asks you to confirm before running it.
The shell now tracks your session history (commands + outputs) and passes it to the AI for smarter context-aware suggestions.
LacMind Debate Engine
LacMind orchestrates multiple AI models in a structured debate:
- Debate Rounds - Models discuss and challenge each other's ideas sequentially
- Voting Phase - Models vote on who provided the best reasoning
- Consensus Summary - The winning model delivers the final response
Models are labeled anonymously (Model A, B, C) during debate to prevent bias. You can configure debate duration and select which models participate.
GenDoc Documentation Generator
GenDoc uses AI to automatically generate API documentation:
- Project Scanning - Detects framework and finds route/controller files
- AI Analysis - Sends files to lacai.io backend for intelligent analysis
- HTML Generation - Creates beautiful, interactive documentation
- Framework Integration - Optionally adds
/docsroute to your app
The first time you run lac gendoc, you'll be prompted for an API key from lacai.io/dashboard/keys. Documentation includes endpoint details, parameters, request/response examples, and export to Swagger/Postman formats.
Supported Providers
| Provider | Notes |
|---|---|
claude |
Anthropic API |
openai |
OpenAI API |
ollama |
Local models, no API key needed |
custom |
Any OpenAI compatible endpoint |
Commands
Main Menu
| Command | What it does |
|---|---|
lac |
Show interactive menu |
lac shell |
Launch AI terminal shell |
lac mind |
Launch LacMind debate UI |
lac gendoc <path> |
Generate API documentation |
lac agent |
Launch AI coding assistant |
LacAgent
| Command | What it does |
|---|---|
lac agent |
Launch AI coding assistant |
/undo |
Revert last file edit with diff |
/redo |
Reapply undone edit |
/history |
Show all file edits this session |
/diff <file> |
Inspect file with line numbers |
/gendoc [path] |
Generate API documentation |
/plan |
Enable PlanMode |
/noplan |
Disable PlanMode |
/tasks |
Show current task list |
/cleartasks |
Clear all tasks |
Ctrl+C |
Interrupt agent execution |
exit |
Quit the agent |
Terminal Shell
| Command | What it does |
|---|---|
lac shell |
Launch the AI shell |
lac shell --setup |
Re-run setup wizard |
lac shell --offline |
Run without server |
lac shell --debounce MS |
Set autocomplete delay |
exit |
Quit the shell |
logout |
Delete your config and start fresh |
clear |
Clear the screen and session history |
cd <path> |
Change directory |
LacMind
| Command | What it does |
|---|---|
lac mind |
Launch LacMind web interface |
| Settings page | Add/edit/delete AI models |
| Duration selector | Set debate time (30s - 5min) |
| Stop button | End debate early |
| Export | Save conversations to PDF |
GenDoc
| Command | What it does |
|---|---|
lac gendoc <path> |
Generate API docs from project |
--prompt "text" |
Custom instructions for AI analysis |
--integrate |
Add /docs route to framework |
--output file.html |
Custom output filename |
| Export buttons | Download as Swagger or Postman |
Config
Your config is saved at ~/.lac/config.json after setup. You can edit it directly if needed.
{
"provider": "claude",
"api_key": "sk-...",
"model": "claude-haiku-4-5-20251001",
"base_url": "https://api.anthropic.com",
"server": "ws://localhost:8765"
}
Features
LacAgent Coding Assistant
- File Operations - Read, write, patch files with exact string matching
- Glob Pattern Support - List files with
**/*.py,*.js,src/**patterns - Command Execution - Run shell commands with safety validation
- Background Processes - Auto-detects long-running commands (flutter run, npm start, etc.) and runs them in background with logging
- API Testing - Make HTTP requests (GET, POST, PUT, DELETE, etc.) to test endpoints
- File Watching - Monitor files for changes and get diff reports
- Documentation Generation - Integrated GenDoc for API docs
- Project Memory - Persistent memory stores project context, stack, decisions, todos
- Undo/Redo System - Full file edit history with diff preview and restoration
- PlanMode - Review and approve execution plans before running (enabled by default)
- Task Tracking - Agent creates and manages task lists for multi-step work with status icons (☐ ⚡ ✅)
- Interactive Questions - Agent can ask clarifying questions with ask_user tool
- Multi-line Paste - Paste code freely with visual indicator
[Pasted · N lines · M chars] - Slash Commands - Autocomplete for /undo, /redo, /history, /diff, /gendoc, /plan, /noplan, /tasks, /cleartasks
- Clean Interrupts - Press Ctrl+C anytime to stop agent execution cleanly
- Security - Path validation, dangerous command blocking, confirmation prompts
- Native Tool Calling - Uses Anthropic/OpenAI function calling for reliable tool execution
- Session Logs - All background process logs saved to
~/.lac/logs/
Terminal Shell
- Ghost text autocomplete as you type, powered by your AI model
- Plain English to shell command conversion with confirmation before running
- Session history tracking - AI sees your recent commands and outputs for better context
- Configurable autocomplete debounce delay (--debounce flag)
- Works with any major AI provider or local models via Ollama
- Offline mode falls back to history and static completions
- Local server starts automatically in the background, no manual setup needed
- Logout clears your credentials and resets the config
LacMind
- Multi-model debate engine with sequential discussion rounds
- Anonymous voting system to select best reasoning
- Real-time streaming of debate progress
- Conversation history with chat persistence
- Model management (add/edit/delete models)
- Configurable debate duration
- Stop debate early if consensus is reached
- Export conversations to PDF
- Clean, minimal dark theme UI
GenDoc
- Automatic framework detection (Laravel, Django, FastAPI, Flask, Express, Rails)
- AI-powered endpoint analysis and documentation generation
- Interactive HTML documentation with search and navigation
- Resizable sidebar with endpoint filtering
- Try It feature to test endpoints directly from docs
- Export to Swagger (OpenAPI 3.0) and Postman Collection formats
- Optional framework integration to serve docs at
/docsroute - Custom prompts to guide AI analysis
- Separate API key system from lac shell (stored in
~/.lac/gendoc.json) - Credit-based usage with backend session management
About
lac-cli is part of lacai.io. Built for developers who live in the terminal.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lac_cli-0.2.9.tar.gz.
File metadata
- Download URL: lac_cli-0.2.9.tar.gz
- Upload date:
- Size: 207.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62e23310fb2f8ffb55325cff6614fab950724b9425e6a97a184e1c9abf4243c3
|
|
| MD5 |
8dbee8e471295362697ef67705c85399
|
|
| BLAKE2b-256 |
b2029573db889e726a9fab8c5e37ba8732fe7c1c497d155a2cd19d730f2570d9
|
File details
Details for the file lac_cli-0.2.9-py3-none-any.whl.
File metadata
- Download URL: lac_cli-0.2.9-py3-none-any.whl
- Upload date:
- Size: 215.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bc2da14620f487eaf4270f1df3712f0e8df4183ff68a74057da515e34196ace
|
|
| MD5 |
d412e555ed3974e19bcbc646bd35a66e
|
|
| BLAKE2b-256 |
284814edae6762ccc3379e0c017c514e0f1a20dd66d0cc9a054a94c51e82177e
|