Skip to content

Commit a65000f

Browse files
committed
feat(automode): autonomous coding loop with session persistence
Add Auto-Mode - an autonomous coding loop for hands-free task completion. Features: - Autonomous iteration loop with configurable max iterations - Git worktree isolation for safe experimentation - Checkpoint system with automatic git commits - Circuit breaker protection (no progress, same error, test-only loops) - Completion promise detection (configurable keyword) - Resource limits (max runtime, max cost) - ESC key cancellation - Detailed changelog generation Session & Patterns: - Sessions saved to ~/.autohand/sessions/ and resumable via /resume - Auto-detects tech stack, frameworks, test/build/lint commands - Updates AGENTS.md with discovered project info CLI: --auto-mode, --max-iterations, --completion-promise, --no-worktree Slash: /automode status|pause|resume|cancel Hooks: automode:start|iteration|checkpoint|complete|cancel|error
1 parent ff6dda3 commit a65000f

20 files changed

Lines changed: 4061 additions & 57 deletions

README.md

Lines changed: 60 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
# Autohand CLI
1+
# Autohand Code CLI
22

33
[![Bun](https://img.shields.io/badge/Bun-%23c61f33?style=flat&logo=bun&logoColor=white)](https://bun.sh)
44

5-
**An agentic CLI that reads, reasons, and writes code across your entire project. No context switching. No copy-paste.**
5+
**An coding agentic CLI that reads, reasons, and writes code across your entire project. No context switching. No copy-paste, No you're absolute right!.**
66

7-
Autohand is an autonomous LLM-powered coding agent that lives in your terminal. It uses the ReAct (Reason + Act) pattern to understand your codebase, plan changes, and execute them with your approval. Built with TypeScript and Bun for blazing-fast performance.
7+
Autohand Code CLI is an autonomous LLM-powered coding agent that lives in your terminal. It uses the ReAct (Reason + Act) pattern to understand your codebase, plan changes, and execute them with your approval. It's blazing fast, intuitive, and extensible with a modular skill system.
8+
9+
We built with a very minimalistic design philosophy to keep the focus on coding. Just install, run `autohand`, and start giving instructions in natural language. Autohand handles the rest.
10+
11+
Scale Autohand across your team and CI/CD pipelines to automate repetitive coding tasks, enforce code quality, and accelerate development velocity.
12+
13+
![Alt Autohand in the terminal](docs/gif/autohand-intro.gif)
814

915
## Installation
1016

@@ -60,6 +66,7 @@ autohand
6066
```
6167

6268
Features:
69+
6370
- Type `/` for slash command suggestions
6471
- Type `@` for file autocomplete (e.g., `@src/index.ts`)
6572
- Press `ESC` to cancel in-flight requests
@@ -85,19 +92,19 @@ autohand -p "refactor database queries" --dry-run
8592

8693
### CLI Options
8794

88-
| Option | Short | Description |
89-
|--------|-------|-------------|
90-
| `--prompt <text>` | `-p` | Run a single instruction in command mode |
91-
| `--yes` | `-y` | Auto-confirm risky actions |
92-
| `--auto-commit` | `-c` | Auto-commit changes after completing tasks |
93-
| `--dry-run` | | Preview actions without applying mutations |
94-
| `--model <model>` | | Override the configured LLM model |
95-
| `--path <path>` | | Workspace path to operate in |
96-
| `--auto-skill` | | Auto-generate skills based on project analysis |
97-
| `--unrestricted` | | Run without approval prompts (use with caution) |
98-
| `--restricted` | | Deny all dangerous operations automatically |
99-
| `--config <path>` | | Path to config file |
100-
| `--temperature <value>` | | Sampling temperature for LLM |
95+
| Option | Short | Description |
96+
| ----------------------- | ----- | ----------------------------------------------- |
97+
| `--prompt <text>` | `-p` | Run a single instruction in command mode |
98+
| `--yes` | `-y` | Auto-confirm risky actions |
99+
| `--auto-commit` | `-c` | Auto-commit changes after completing tasks |
100+
| `--dry-run` | | Preview actions without applying mutations |
101+
| `--model <model>` | | Override the configured LLM model |
102+
| `--path <path>` | | Workspace path to operate in |
103+
| `--auto-skill` | | Auto-generate skills based on project analysis |
104+
| `--unrestricted` | | Run without approval prompts (use with caution) |
105+
| `--restricted` | | Deny all dangerous operations automatically |
106+
| `--config <path>` | | Path to config file |
107+
| `--temperature <value>` | | Sampling temperature for LLM |
101108

102109
## Agent Skills
103110

@@ -137,6 +144,7 @@ Generating skills...
137144
```
138145

139146
Skills are discovered from:
147+
140148
- `~/.autohand/skills/` - User-level skills
141149
- `<project>/.autohand/skills/` - Project-level skills
142150
- Compatible with Codex and Claude skill formats
@@ -145,46 +153,50 @@ See [Agent Skills Documentation](docs/agent-skills.md) for creating custom skill
145153

146154
## Slash Commands
147155

148-
| Command | Description |
149-
|---------|-------------|
150-
| `/help` | Display available commands |
151-
| `/quit` | Exit the session |
152-
| `/model` | Switch LLM models |
153-
| `/new` | Start fresh conversation |
154-
| `/undo` | Revert last changes |
155-
| `/session` | Show current session details |
156-
| `/sessions` | List past sessions |
157-
| `/resume` | Resume a previous session |
158-
| `/memory` | View/manage stored memories |
159-
| `/init` | Create `AGENTS.md` file |
160-
| `/agents` | List sub-agents |
161-
| `/agents-new` | Create new agent via wizard |
162-
| `/skills` | List and manage skills |
163-
| `/skills new` | Create a new skill |
164-
| `/feedback` | Send feedback |
165-
| `/formatters` | List code formatters |
166-
| `/lint` | List code linters |
167-
| `/completion` | Generate shell completion scripts |
168-
| `/export` | Export session to markdown/JSON/HTML |
169-
| `/status` | Show workspace status |
170-
| `/login` | Authenticate with Autohand API |
171-
| `/logout` | Sign out |
172-
| `/permissions` | Manage tool permissions |
156+
| Command | Description |
157+
| -------------- | ------------------------------------ |
158+
| `/help` | Display available commands |
159+
| `/quit` | Exit the session |
160+
| `/model` | Switch LLM models |
161+
| `/new` | Start fresh conversation |
162+
| `/undo` | Revert last changes |
163+
| `/session` | Show current session details |
164+
| `/sessions` | List past sessions |
165+
| `/resume` | Resume a previous session |
166+
| `/memory` | View/manage stored memories |
167+
| `/init` | Create `AGENTS.md` file |
168+
| `/agents` | List sub-agents |
169+
| `/agents-new` | Create new agent via wizard |
170+
| `/skills` | List and manage skills |
171+
| `/skills new` | Create a new skill |
172+
| `/feedback` | Send feedback |
173+
| `/formatters` | List code formatters |
174+
| `/lint` | List code linters |
175+
| `/completion` | Generate shell completion scripts |
176+
| `/export` | Export session to markdown/JSON/HTML |
177+
| `/status` | Show workspace status |
178+
| `/login` | Authenticate with Autohand API |
179+
| `/logout` | Sign out |
180+
| `/permissions` | Manage tool permissions |
173181

174182
## Tool System
175183

176184
Autohand includes 40+ tools for autonomous coding:
177185

178186
### File Operations
187+
179188
`read_file`, `write_file`, `append_file`, `apply_patch`, `search`, `search_replace`, `semantic_search`, `list_tree`, `create_directory`, `delete_path`, `rename_path`, `copy_path`, `multi_file_edit`
180189

181190
### Git Operations
191+
182192
`git_status`, `git_diff`, `git_commit`, `git_add`, `git_branch`, `git_switch`, `git_merge`, `git_rebase`, `git_cherry_pick`, `git_stash`, `git_fetch`, `git_pull`, `git_push`, `auto_commit`
183193

184194
### Commands & Dependencies
195+
185196
`run_command`, `custom_command`, `add_dependency`, `remove_dependency`
186197

187198
### Planning & Memory
199+
188200
`plan`, `todo_write`, `save_memory`, `recall_memory`
189201

190202
## Configuration
@@ -211,14 +223,14 @@ Create `~/.autohand/config.json`:
211223

212224
### Supported Providers
213225

214-
| Provider | Config Key | Notes |
215-
|----------|------------|-------|
226+
| Provider | Config Key | Notes |
227+
| ---------- | ------------ | ----------------------------------- |
216228
| OpenRouter | `openrouter` | Access to Claude, GPT-4, Grok, etc. |
217-
| Anthropic | `anthropic` | Direct Claude API access |
218-
| OpenAI | `openai` | GPT-4 and other models |
219-
| Ollama | `ollama` | Local models |
220-
| llama.cpp | `llamacpp` | Local inference |
221-
| MLX | `mlx` | Apple Silicon optimized |
229+
| Anthropic | `anthropic` | Direct Claude API access |
230+
| OpenAI | `openai` | GPT-4 and other models |
231+
| Ollama | `ollama` | Local models |
232+
| llama.cpp | `llamacpp` | Local inference |
233+
| MLX | `mlx` | Apple Silicon optimized |
222234

223235
## Session Management
224236

0 commit comments

Comments
 (0)