Stack-2-9-finetuned / stack /docs /archive /STACK_CLI_README.md
walidsobhie-code
refactor: Squeeze folders further - cleaner structure
65888d5
# 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