---
name: Core Agent Tools (The Hands)
---

# Story: Core Agent Tools (The Hands)

## User Story
**As an** Agent
**I want to** be able to read files, list directories, search content, and execute shell commands
**So that** I can autonomously explore and modify the target project.

## Acceptance Criteria
*   [ ] Rust Backend: Implement `read_file(path)` command (scoped to project).
*   [ ] Rust Backend: Implement `write_file(path, content)` command (scoped to project).
*   [ ] Rust Backend: Implement `list_directory(path)` command.
*   [ ] Rust Backend: Implement `exec_shell(command, args)` command.
    *   [ ] Must enforce allowlist (git, cargo, npm, etc).
    *   [ ] Must run in project root.
*   [ ] Rust Backend: Implement `search_files(query, globs)` using `ignore` crate.
*   [ ] Frontend: Expose these as tools to the (future) LLM interface.

## Out of Scope
*   The LLM Chat UI itself (connecting these to a visual chat window comes later).
*   Complex git merges (simple commands only).
