grokkit/docs/user-guide/agent.md

50 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

# 🤖 Agent Guide
The `agent` command is a multi-file autonomous agent that allows you to perform complex refactorings or feature implementations across multiple files using natural language instructions.
> [!WARNING]
> This command is currently experimental. Always ensure you have a clean git state before running the agent.
### Why use Agent?
- **Multi-file awareness**: Unlike the `edit` command, the `agent` command scans your project to understand the context and identifies which files need to be changed.
- **Autonomous Planning**: Grok generates a high-level plan for the entire task before proposing any code changes.
- **Interactive Execution**: You review the plan first, then review and approve changes for each file individually or all at once.
- **Project-wide Refactoring**: Ideal for tasks like "refactor authentication to use JWT" or "add a new field to the User struct across all layers".
### Usage
Multi-file agent for complex refactoring (experimental).
```bash
grokkit agent "refactor authentication to use JWT"
```
### Options
| Flag | Description |
|------|-------------|
| `--model`, `-m` | Override the default model (e.g., `grok-4`) |
### Workflow
1. **Project Scan**: The agent scans the current directory for relevant files (currently focused on `.go` files).
2. **Plan Generation**: Grok analyzes your instruction and the file list to create a step-by-step plan.
3. **Plan Review**: You review the proposed plan and decide whether to proceed.
4. **Iterative Editing**:
- For each file in the plan, Grok generates the updated content.
- You see a diff-style preview of the proposed changes for that specific file.
- You can choose to:
- `y`: Apply changes to this file and move to the next.
- `n`: Skip changes for this file and move to the next.
- `a`: Apply changes to this file and all remaining files in the plan without further confirmation.
5. **Completion**: Once all files are processed, the agent provides a summary of the actions taken.
### Safety & Best Practices
- **Clean Git State**: Always run the agent on a clean git branch. This allows you to easily `git reset --hard` or `git restore` if the AI makes undesired changes.
- **Review the Plan**: Pay close attention to the initial plan. If it seems off, abort and try again with a more specific instruction.
- **Incremental Approval**: For complex tasks, approve files one by one (`y`) rather than using the "apply all" (`a`) option.
- **Verify Results**: After the agent finishes, run your tests (`make test`) and linter (`make lint`) to ensure the changes are correct and follow project standards.
- **Specific Instructions**: Provide as much context as possible in your instruction to help the agent understand the scope of the change.