atc turns a dirty Git worktree into meaningful, atomic commits using AI. It scans your changes, reviews the full change set, and proposes specific, behavior-grouped commits. It never creates generic update file commits.
Status: under active construction. See
implementation.mdfor the full spec andoperation.mdfor build progress.
Small, behavior-scoped commits make history reviewable, bisectable, and revertible. atc automates the tedious staging/splitting while keeping you in control: it plans first, applies only on request, and stops rather than committing junk.
pipx install .
atc --versionOpenAI-compatible:
export ATC_OPENAI_API_KEY=sk-...
export ATC_OPENAI_BASE_URL=https://api.openai.com/v1
export ATC_OPENAI_MODEL=gpt-4o-miniAnthropic:
export ATC_ANTHROPIC_API_KEY=sk-ant-...
export ATC_ANTHROPIC_MODEL=claude-3-5-sonnet-latestValidate setup:
atc doctoratc # compact dry-run plan (no commits)
atc --verbose # ultra-specific dry-run plan
atc --apply # apply the saved plan
atc --apply --now --verbose # plan and commit in one run--compact(default): fewer commits, still atomic by behavior.--verbose: prefer one contextual hunk per commit.
atc never commits .env, ignored files, caches, or runtime artifacts. Binary files are refused by default. It uses no zero-context patches and makes no broad fallback commits.
atc resume # resume latest interrupted session
atc sessions # list sessionsA backup.patch is written before applying, for manual recovery.
atc commits locally only. It never pushes, never rewrites history, and never edits or formats your code.