Skip to content

Repository files navigation

combust

Alpha software. Combust is under active development and may drift heavily over time. APIs, commands, and file formats are subject to change without notice.

Combust is a rebuild of hydra in Rust, designed for future expansion. Hydra is no longer maintained and will be deleted soon, along with this message.

Combust turns markdown design documents into branches, code, and commits. It assembles context from your design docs, hands it to Claude, runs tests and linting, and pushes a branch ready for your review.

You don't need a CI system, VM infrastructure, web interfaces, or pull requests. Combust works entirely on your local machine: you write the spec, combust does the rest.

Install

From crates.io:

cargo install combust

From source:

cargo install --path .

Quick start

# Initialize a combust project in the current git repo
combust init
# Create a design task
combust edit add-auth
# Run the task — combust hands it to Claude, runs tests, commits, and pushes
combust run add-auth
# Check what's running
combust status

Design directory structure

After combust init, a .combust/ directory is created:

.combust/
├── config.json # Project configuration
├── design/
│ ├── rules.md # Global rules for Claude
│ ├── lint.md # Lint/formatting rules
│ ├── functional.md # Functional specification (ground truth)
│ ├── combust.yml # Test/lint/clean commands
│ ├── tasks/ # Pending task files (markdown)
│ ├── state/ # Task state directories (review, merge, completed, abandoned)
│ ├── milestones/ # Milestone definitions
│ └── other/ # Supplemental design files
└── work/ # Git worktrees for in-progress tasks

Command reference

Project setup

CommandDescription
combust initInitialize a combust project
combust init <url> [dir]Clone a repo and initialize (optional directory name, like git)
combust init --privateStore design data in ~/.local/share/combust/ (symlink .combust)
combust init --tmuxAlso copy Makefile.tmux for tmux-based parallel task execution

Task lifecycle

CommandDescription
combust edit <task>Create or edit a task's markdown spec
combust add <task>Add a task from standard input
combust show <task>Show a task's content regardless of its state
combust run <task>Execute a task — Claude implements, tests, commits, and pushes
combust review listList tasks in review
combust review view <task>View a task under review
combust review diff <task>Show the diff for a reviewed task
combust review edit <task>Edit a task's spec during review
combust review run <task>Re-run a review session
combust review rm <task>Abandon a task from review
combust test <task>Add tests for a task in review
combust merge listList tasks ready to merge
combust merge run <task>Merge a task branch into the main branch
combust merge rm <task>Abandon a task from merge
combust reconcileMerge completed task specs into functional.md
combust verifyVerify all functional.md requirements against the codebase

Task organization

CommandDescription
combust listList pending tasks
combust statusShow all task states and running tasks (YAML)
combust status -jOutput as JSON
combust status -aInclude empty states in output
combust group listList task groups
combust group tasks <group>List tasks in a group
combust group run <group>Run all pending tasks in a group
combust group merge <group>Merge all tasks in a group

Design files

CommandDescription
combust other listList supplemental design files
combust other add <file>Add a file to other/
combust other view <file>View a supplemental file
combust other edit <file>Edit a supplemental file
combust other rm <file>Remove a supplemental file

Milestones

CommandDescription
combust milestone new <name>Create a new milestone
combust milestone listList milestones
combust milestone view <name>View a milestone
combust milestone edit <name>Edit a milestone
combust milestone verify <name>Verify milestone promises
combust milestone repair <name>Create missing task files for a milestone
combust milestone deliver <name>Mark a milestone as delivered
combust milestone history <name>View delivery history

Utilities

CommandDescription
combust fixScan for and fix project issues
combust fix -yAuto-confirm fixes
combust clean <task>Run the clean command in a task's worktree
combust syncImport issues from GitHub/Gitea as tasks
combust sync --label <label>Filter imported issues by label
combust notify <message>Send a desktop notification
combust completion <shell>Generate shell completions (bash, zsh, fish, elvish, powershell)

Common flags

Most commands that invoke Claude accept these flags:

FlagDescription
--model <name>Override the Claude model
-Y, --no-auto-acceptDisable auto-accept for tool calls
-N, --no-notifyDisable notifications
-T, --tuiForce built-in TUI instead of Claude Code CLI

Configuration

Edit .combust/config.json:

{
"source_repo_url": "https://github.com/you/repo",
"private": false,
"theme": "base16-ocean.dark"
}

The theme field controls syntax highlighting for status output. Available themes are the syntect built-in set.

Workflow integrations

The contrib/ directory contains additional tools for integrating combust into your workflow, including tmux parallel execution and taskwarrior-tui shortcuts. See contrib/README.md for details.

License

See LICENSE for details.

About

AI-driven local pull request workflow where Claude is the only contributor

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages