Adds a status line indicating which mode the user is in. Adds a "normal" mode with keyboard shortcuts (including a chorded shortcut 'gg'). Adds a command mode with several basic commands that can be entered into an overlay. Chores: - Cleans up design/claude/plan.md to avoid confusing claude. - Adds some TODOs based on claude feedback.` Reviewed-on: #2 Co-authored-by: Drew Galbraith <drew@tiramisu.one> Co-committed-by: Drew Galbraith <drew@tiramisu.one>
15 lines
726 B
Markdown
15 lines
726 B
Markdown
# Implementation Plan
|
|
|
|
## Phase 3: Tool Execution
|
|
- `Tool` trait, `ToolRegistry`, core tools (`read_file`, `write_file`, `shell_exec`)
|
|
- Tool definitions in API requests, parse tool-use responses
|
|
- Approval gate: core -> TUI pending event -> user approve/deny -> result back
|
|
- Working directory confinement + path validation (no Landlock yet)
|
|
- **Done when:** Claude can read, modify files, and run commands with user approval
|
|
|
|
## Phase 4: Sandboxing
|
|
- Landlock: read-only system, read-write project dir, network blocked
|
|
- Tools execute through `Sandbox`, never directly
|
|
- `:net on/off` toggle, state in status bar
|
|
- Graceful degradation on older kernels
|
|
- **Done when:** Writes outside project dir fail; network toggle works
|