| Crates.io | fuzemill |
| lib.rs | fuzemill |
| version | 0.1.0 |
| created_at | 2026-01-12 16:22:27.569444+00 |
| updated_at | 2026-01-12 16:22:27.569444+00 |
| description | A Git workflow automation CLI for issue-driven development with AI agents. |
| homepage | |
| repository | https://github.com/arcafly/fuzemill |
| max_upload_size | |
| id | 2038114 |
| size | 45,335 |
fuzemill start "Fix the login bug" --agent claude --model opus
The above creates issue (example: ISSUE-123), worktree, branch, and tmux session with claude/gemini yolo mode, instructed to implement prompt and push PR.
Then, when done, on main worktree enter:
fuzemill merge ISSUE-123
A Git workflow automation CLI that orchestrates issue-driven development sessions with AI coding assistants. Fuzemill manages Git worktrees, issue tracking, and AI sessions in tmux to create isolated, focused development environments.
bd) for Git-backed issue tracking, or falls back to GitHub IssuesThe following tools must be installed and available in your PATH:
| Tool | Required | Purpose |
|---|---|---|
git |
Yes | Version control with worktree support |
tmux |
Yes | Terminal multiplexer for AI sessions |
gh (GitHub CLI) |
Yes | PR operations and GitHub Issues fallback |
bd (Beads CLI) |
Optional | Git-backed issue tracking (falls back to GitHub Issues if not installed) |
claude |
For Claude agent | Claude Code CLI |
gemini |
For Gemini agent | Gemini CLI |
direnv |
Optional | Auto-runs direnv allow if .envrc exists |
Fuzemill automatically detects which issue tracking system to use:
bd is installed: Uses Beads for Git-backed issue tracking with custom statusesbd is not installed: Falls back to GitHub Issues via gh CLIWhen using GitHub Issues:
gh issue createstatus:hooked, status:in_progress)gh issue close# macOS (Homebrew)
brew install git tmux gh direnv
# Install Beads (bd) - see beads documentation
# Install Claude Code - see https://claude.ai/code
# Install Gemini CLI - see Google's documentation
git clone https://github.com/arcafly/fuzemill.git
cd fuzemill
cargo install --path .
To uninstall:
cargo uninstall fuzemill
Create a worktree and launch an AI session for an existing issue:
fuzemill start --id ISSUE-123
Or create a new issue and start working on it:
fuzemill start "Fix the login bug" --priority high
Options:
--id <ID>: Use an existing issue ID--agent <claude|gemini>: Choose AI agent (default: claude)--model <MODEL>: Specify the AI model to use-v, --verbose: Enable verbose outputThe command will:
../<repo-name>-<issue-id>/<issue-id>direnv allow if .envrc existsRemove the worktree and branch without merging:
fuzemill unstart ISSUE-123
If run from within the worktree being removed, fuzemill will move you to the main repository.
Merge the PR, delete the branch, and close the issue:
fuzemill merge ISSUE-123
This command must be run from the main repository (not a worktree). It will:
gh pr merge --merge --delete-branchbd close or gh issue close)From within a fuzemill tmux session:
fuzemill done
This kills the current tmux session and triggers worktree cleanup.
Running fuzemill without arguments shows the current repository name:
fuzemill
# Output: myproject (in green if in a git repo)
# 1. (Optional) Initialize beads in your project if using bd for issue tracking
bd init
# 2. Create an issue and start working
fuzemill start "Add user authentication"
# 3. AI session opens in tmux - work with the AI to implement the feature
# The AI will commit, push, and open a PR
# 4. When done, the AI runs 'fuzemill done' to close the session
# 5. Review the PR on GitHub, then merge when ready
fuzemill merge AUTH-001
# 6. Done! Main branch is updated and issue is closed
Fuzemill creates worktrees as siblings to your main repository:
~/projects/
myproject/ # Main repository
myproject-ISSUE-1/ # Worktree for ISSUE-1
myproject-ISSUE-2/ # Worktree for ISSUE-2
cargo build # Debug build
cargo build --release # Release build
cargo run # Run in development mode