git-aint
AI-friendly issue tracking, powered by git. Issues are markdown files with YAML frontmatter, synced via a dedicated git branch. No databases, no SaaS — just files and git.
Install
Quick install (Linux/macOS — downloads a prebuilt binary):
|
Via cargo (from crates.io):
From source:
Verify it works:
Git discovers subcommands by looking for executables named git-<name> on your PATH — no plugin registry or configuration needed. The install script places the binary in ~/.local/bin; cargo installs to ~/.cargo/bin. Make sure the relevant directory is on your PATH.
Quick start
# Initialize git-aint in your repo
# Create an issue (called an "aint")
# List open aints
# See details
# Pick up work (creates worktree + branch, sets status to active)
# Push code and create a PR
# Mark as done
How it works
Aints live in .aint/aints/ — a git worktree on the aint-sync branch, gitignored from your main branch. Each aint is a markdown file named <status>.<id>.<slug>.md:
.aint/aints/
├── ci-setup/ # grouping directory
│ ├── summary.md # directory metadata
│ ├── active.c9x8.fix-auth.md # an aint (status.id.slug)
│ └── open.d4m1.add-cache.md
└── open.f6p3.standalone-task.md # aint at root level
- IDs are 4-character base-36 codes (e.g.
c9x8) - Statuses progress:
backlog→open→active→pushed→merged(orrejected) - Priority: 0 critical, 1 high, 2 medium, 3 low, 4 backlog
- Directories group related aints, with an optional
summary.mdfor metadata
The CLI auto-commits and pushes to aint-sync after each write. You can also edit files directly and run git aint sync to commit your changes.
Commands
| Command | Description |
|---|---|
init |
Set up git-aint in a repo (idempotent) |
list |
List aints with filters (--search, --view tree, --stats) |
get <ref> |
Show full details of an aint |
create |
Create a new aint |
update <ref> |
Update status, priority, tags, deps |
doctor |
Run health checks and validation (--fix to auto-repair) |
sync |
Pull, commit, and push .aint/ changes |
exec |
Run a command with {placeholder} expansion |
Aliases:
| Alias | Does |
|---|---|
pickup <ref> |
Create worktree + branch, set active |
push <ref> |
Push code, create PR, set pushed |
tree |
list --view tree |
summary |
Generate structured project status |
whats-next |
Suggest the next aint to work on |
All commands support --output json. Run git aint <command> --help for full options.
AI agent integration
git-aint is designed to work with AI coding agents like Claude Code. Run git aint init to auto-detect and configure agent integrations (hooks, skills, instructions). See .aint/AGENTS.md for agent-specific usage instructions.