| # Stack 2.9 CLI & Agent Interface |
|
|
| A powerful command-line interface and agent that showcases Stack 2.9 capabilities. Features interactive chat, command execution, voice input, and comprehensive tool support. |
|
|
| ## Features |
|
|
| - **Interactive Chat Mode**: Conversational interface with the agent |
| - **Command Execution**: Run single commands and get results |
| - **Voice Input Support** (requires setup): Speech-to-text interaction |
| - **37 Built-in Tools**: File ops, git, code execution, web search, memory, planning |
| - **Context Awareness**: Project scanning and memory integration |
| - **Self-Reflection**: Agent evaluates and improves its own responses |
| - **Multi-mode Operation**: Chat, command-line, or voice interfaces |
|
|
| ## Quick Start |
|
|
| ### Installation |
|
|
| ```bash |
| cd /Users/walidsobhi/.openclaw/workspace/stack-2.9 |
| pip install -e . |
| ``` |
|
|
| ### Basic Usage |
|
|
| **Interactive Chat:** |
| ```bash |
| stack |
| ``` |
|
|
| **Single Command:** |
| ```bash |
| stack -c "read README.md" |
| ``` |
|
|
| **Execute Specific Tools:** |
| ```bash |
| stack -t git_status project_scan |
| ``` |
|
|
| **Voice Mode (requires setup):** |
| ```bash |
| stack -v |
| ``` |
|
|
| ## Modes |
|
|
| ### 1. Interactive Chat Mode |
| Start a conversation with the agent: |
| ```bash |
| stack |
| ``` |
|
|
| Commands in chat mode: |
| - `/tools` - List tools used in current session |
| - `/schema` - Show tool schemas |
| - `/context` - Show current workspace context |
| - `/history` - Show conversation history |
| - `/clear` - Clear history |
| - `/voice` - Toggle voice input |
| - `/exit` - Exit |
|
|
| ### 2. Command Mode |
| Execute a single query: |
| ```bash |
| stack -c "list my tasks" |
| stack -c "search for *.py files" |
| stack -c "git status" |
| ``` |
|
|
| ### 3. Tool Mode |
| Execute specific tools directly: |
| ```bash |
| stack -t read project_scan memory_list |
| ``` |
|
|
| ### 4. Voice Mode |
| Use voice input/output (requires `SpeechRecognition` and `pyttsx3`): |
| ```bash |
| pip install SpeechRecognition pyttsx3 pyaudio |
| stack -v |
| ``` |
|
|
| ## Tool Categories |
|
|
| ### File Operations |
| - `read` - Read file contents |
| - `write` - Write to file |
| - `edit` - Edit file with text replacement |
| - `search` - Search for files |
| - `grep` - Search patterns in files |
| - `copy` - Copy files/directories |
| - `move` - Move/rename files |
| - `delete` - Delete files |
|
|
| ### Git Operations |
| - `git_status` - Get git status |
| - `git_commit` - Create commit |
| - `git_push` - Push to remote |
| - `git_pull` - Pull from remote |
| - `git_branch` - Manage branches |
| - `git_log` - View commit history |
| - `git_diff` - Show changes |
|
|
| ### Code Execution |
| - `run` - Run shell commands |
| - `test` - Run tests (pytest) |
| - `lint` - Lint code (ruff/pylint/mypy) |
| - `format` - Format code (ruff/black) |
| - `typecheck` - Type checking (mypy) |
| - `server` - Start development server |
| - `install` - Install dependencies |
|
|
| ### Web Tools |
| - `web_search` - Search the web |
| - `fetch` - Fetch URL content |
| - `download` - Download files |
| - `check_url` - Check URL accessibility |
| - `screenshot` - Take webpage screenshot |
|
|
| ### Memory & Context |
| - `memory_recall` - Search memory |
| - `memory_save` - Save to memory |
| - `memory_list` - List memory entries |
| - `context_load` - Load project context |
| - `project_scan` - Scan project structure |
|
|
| ### Task Planning |
| - `create_task` - Create a task |
| - `list_tasks` - List tasks |
| - `update_task` - Update task status |
| - `delete_task` - Delete task |
| - `create_plan` - Create execution plan |
| - `execute_plan` - Execute plan |
|
|
| ## Query Examples |
|
|
| **File operations:** |
| - "read main.py" |
| - "show me the contents of README.md" |
| - "create a file called notes.txt with 'Hello World'" |
|
|
| **Git operations:** |
| - "git status" |
| - "commit with message 'update'" |
| - "push to origin main" |
|
|
| **Code execution:** |
| - "run pytest" |
| - "lint the code" |
| - "format all files" |
|
|
| **Web search:** |
| - "search the web for Python async best practices" |
| - "look up how to use FastAPI" |
| - "fetch https://example.com" |
|
|
| **Memory:** |
| - "remember that the API key is in .env" |
| - "what do you remember about this project?" |
| - "list all memories" |
|
|
| **Tasks:** |
| - "create task: implement login" |
| - "list my tasks" |
| - "complete task abc123" |
|
|
| ## Architecture |
|
|
| ``` |
| stack-2.9/ |
| βββ stack_cli/ |
| β βββ __init__.py # Package init |
| β βββ cli.py # CLI entry point |
| β βββ agent.py # Core agent logic |
| β βββ tools.py # 37 built-in tools |
| β βββ context.py # Context management |
| βββ stack.py # Main entry script |
| βββ pyproject.toml # Package config |
| βββ requirements.txt # Dependencies |
| ``` |
|
|
| ## Setup |
|
|
| 1. Install dependencies: |
| ```bash |
| pip install -e . |
| ``` |
|
|
| 2. (Optional) Install voice dependencies: |
| ```bash |
| pip install SpeechRecognition pyttsx3 pyaudio |
| ``` |
|
|
| 3. Run the CLI: |
| ```bash |
| stack |
| ``` |
|
|
| ## Customization |
|
|
| - Configure workspace context in `AGENTS.md`, `SOUL.md`, `TOOLS.md` |
| - Long-term memory stored in `MEMORY.md` and `memory/` folder |
| - Session files in `.tasks.json` and `.plans.json` |
|
|
| ## License |
|
|
| MIT |
|
|