aidokitv1.0 rc
v1.0 RC · Apache 2.0 · Node 20+

One command. A complete AI-dev workflow.

aidokit scaffolds a structured, adapter-agnostic, AI-assisted development workflow into any project — greenfield or brownfield — and lets you pick which AI coding CLI drives it. Zero LLM calls. No telemetry. Reproducible.

Node.js 20+ · Apache 2.0 · first-party adapters: Claude Code, Codex CLI, GitHub Copilot CLI.

~/my-project

    
Works with Claude Code Codex CLI GitHub Copilot CLI
Built for serious projects

Six guarantees, in writing.

Scoped against a 25-point analysis of how AI coding workflows fail in practice. v1.x closes all 25 — see the table →

Zero LLM calls

aidokit itself never talks to a model. Every decision is deterministic; every CI run is hermetic.

Deterministic & hermetic

The same inputs always produce the same tree. A byte-compare gate in CI catches drift before it lands.

Adapter-agnostic

One workflow, your choice of CLI. Swap Claude Code for Codex or Copilot without rewriting your project.

Stack-aware

Stack packs detect Node, TypeScript, Python, React, and Go projects and emit tailored testing + lint conventions.

Brownfield-safe

Read-before-write everywhere. No file is overwritten without a diff. Existing conventions are preserved.

Migration-first

Every breaking change ships with aidokit migrate. Upgrading the kit never means rewriting it.

Top picks

Failures we explicitly prevent.

Six of the highest-cost ways AI coding workflows fail in practice — and the concrete aidokit mechanism that closes each. v1.x closes all 25 from the underlying analysis.

✅ Strong

Agent runaway loops

Agent burns 40 minutes and dollars of tokens retrying a flaky test, never escalating to a human.

Fix: aidokit verify --loop-cap bounds retries; hitting the cap creates a Beads blocker and stops.

🟢 Strong @ Standard

Scope creep

Feature branch ships unrelated formatting, refactors, and "I noticed this" edits outside the task's stated scope.

Fix: Immutable task briefs + watchdog hook refuses writes outside the declared scope.

✅ Strong

Hallucinated APIs & symbols

Agent invents a function name, a flag, or an entire module that doesn't exist — code compiles, breaks at runtime.

Fix: Context7 MCP, Read-before-edit skill, and a byte-compare gate that catches drift before merge.

✅ Strong

Prompt injection via MCP

A malicious doc snippet, search result, or web page in MCP output injects instructions the agent follows blindly.

Fix: untrustedOutput flag + quarantining-untrusted-output skill + doctor threat-T18 check.

✅ Strong

Secrets leakage

Agent commits a .env, an API key in a test file, or a token in a config — straight to the remote.

Fix: aidokit verify --secrets blocks the merge; .aidoignore hides sensitive files from the agent at read time.

✅ Strong

Token-cost explosion

Every subagent loads the full MCP catalog; one session burns more than a week's worth of usage with nothing to show.

Fix: Per-role MCP scoping + aidokit verify --budget + sub-agent context isolation.

How it works

From cold project to running workflow in five steps.

No magic. Each step is a question with a sensible default and a documented exit code.

Detect
Pick adapter
Pick stack pack
Emit
Iterate
First-party adapters

Pick the CLI you already use.

Standard

Claude Code

Full hook system, slash commands, MCP servers, two-stage review. The reference experience.

Read more
Minimum

Codex CLI

Lean surface: CLAUDE.md, docs scaffold, Beads task graph. Same workflow, fewer primitives.

Read more
Minimum

GitHub Copilot CLI

Same scaffold targeting Copilot's CLI. Lands the workflow without forcing a tool switch.

Read more
my-project/
├── CLAUDE.md
├── .claude/
│   ├── agents/
│   ├── commands/
│   ├── hooks/
│   └── skills/
├── docs/
│   ├── architecture/
│   ├── specs/
│   └── superpowers/
├── agent-artifacts/
└── .beads/
    └── tasks.db
What you get

A complete workflow tree.

One aidokit init emits a CLAUDE.md tuned to your stack, a .claude/ engine directory with the full Standard conformance kit, a docs/ scaffold ready for ADRs and specs, and a Beads task database for stateful planning.

Nothing is hidden. Every file is plain text. You can read it, diff it, and delete what you don't need.

Design principles

Nine rules. Non-negotiable.

Plain template files
No Handlebars, EJS, or Mustache. Just files with variables.
TypeScript contracts
Adapters and stack packs are real packages with typed interfaces.
Data-driven catalogs
MCP catalog and prereqs are TypeScript arrays. One-file edits.
Zero LLM calls
aidokit itself makes no model calls. Ever.
Conformance verified
Adapters declare a level; the harness verifies it. CI fails on drift.
Sibling extensions
Adapters and stack packs never import each other.
Migrations first-class
Every breaking change ships with an aidokit migrate path.
Read before write
No file overwritten without diff and confirmation.
Fail loud, recover safe
Partial writes go to staging; failure leaves your project untouched.
Two views, one source of truth

Pick how you want to read the docs.

User Docs

I want to use aidokit

Quick start, concepts, adapter and stack-pack guides, CLI reference. Linear, structured, citable.

Wiki

I want to understand aidokit

Devlog, hall of pain, design context. Non-linear, opinionated, behind-the-scenes.

Bootstrap your workflow in 18 seconds.

One command. Pick your CLI. Ship.

Read the quick start →