mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 20:03:05 +00:00
Shift+P conflicts with typing capital P. Ctrl+Alt+P is cross-platform safe and doesn't conflict with common shortcuts like: - Ctrl+Shift+P (command palette on Windows/VS Code) - Shift+Alt+P (types π on macOS)
65 lines
1.9 KiB
Markdown
65 lines
1.9 KiB
Markdown
# Plan Mode Extension
|
|
|
|
Read-only exploration mode for safe code analysis.
|
|
|
|
## Features
|
|
|
|
- **Read-only tools**: Restricts available tools to read, bash, grep, find, ls, question
|
|
- **Bash allowlist**: Only read-only bash commands are allowed
|
|
- **Plan extraction**: Extracts numbered steps from `Plan:` sections
|
|
- **Progress tracking**: Widget shows completion status during execution
|
|
- **[DONE:n] markers**: Explicit step completion tracking
|
|
- **Session persistence**: State survives session resume
|
|
|
|
## Commands
|
|
|
|
- `/plan` - Toggle plan mode
|
|
- `/todos` - Show current plan progress
|
|
- `Ctrl+Alt+P` - Toggle plan mode (shortcut)
|
|
|
|
## Usage
|
|
|
|
1. Enable plan mode with `/plan` or `--plan` flag
|
|
2. Ask the agent to analyze code and create a plan
|
|
3. The agent should output a numbered plan under a `Plan:` header:
|
|
|
|
```
|
|
Plan:
|
|
1. First step description
|
|
2. Second step description
|
|
3. Third step description
|
|
```
|
|
|
|
4. Choose "Execute the plan" when prompted
|
|
5. During execution, the agent marks steps complete with `[DONE:n]` tags
|
|
6. Progress widget shows completion status
|
|
|
|
## How It Works
|
|
|
|
### Plan Mode (Read-Only)
|
|
- Only read-only tools available
|
|
- Bash commands filtered through allowlist
|
|
- Agent creates a plan without making changes
|
|
|
|
### Execution Mode
|
|
- Full tool access restored
|
|
- Agent executes steps in order
|
|
- `[DONE:n]` markers track completion
|
|
- Widget shows progress
|
|
|
|
### Command Allowlist
|
|
|
|
Safe commands (allowed):
|
|
- File inspection: `cat`, `head`, `tail`, `less`, `more`
|
|
- Search: `grep`, `find`, `rg`, `fd`
|
|
- Directory: `ls`, `pwd`, `tree`
|
|
- Git read: `git status`, `git log`, `git diff`, `git branch`
|
|
- Package info: `npm list`, `npm outdated`, `yarn info`
|
|
- System info: `uname`, `whoami`, `date`, `uptime`
|
|
|
|
Blocked commands:
|
|
- File modification: `rm`, `mv`, `cp`, `mkdir`, `touch`
|
|
- Git write: `git add`, `git commit`, `git push`
|
|
- Package install: `npm install`, `yarn add`, `pip install`
|
|
- System: `sudo`, `kill`, `reboot`
|
|
- Editors: `vim`, `nano`, `code`
|