One markdown file. Any agentic coding assistant. One prompt. Your repo grows the discipline a Senior Engineer would have set up on day one — workflow rules, ADR culture, the testing pyramid, telemetry, security rubric, TODO discipline — then bundles every change into one focused git commit. Tool-agnostic. Cross-stack. Idempotent.
Works with
One tool-agnostic spine — AGENTS.md + .agents/rules/ — plus a thin adapter file per assistant you pick.
60-second demo
No dependencies. No SDK. The discipline lives in a single markdown file you can read end-to-end.
Save AGENTIC-BOOTSTRAP.md at the root of any repo — fresh or existing.
Hand it to your assistant of choice — Claude Code, Cursor, Aider, Codex, Continue.dev, Windsurf, Copilot — with one prompt.
17 questions, smart defaults, then the agent writes the rules, ADR index, prompt log, per-tool adapters, the test scaffold — and bundles it all into one disciplined commit.
What you get
Every artifact has a reason. AGENTS.md is the primary cross-tool brief. .agents/rules/ holds the durable workflow rules. .docs/ grows with the project — ADRs, timestamped prompts, deferred TODOs, security audits. Per-tool adapters (CLAUDE.md, .cursor/rules/, .aider.conf.yml, …) are thin pointers.
your-repo/ ├── AGENTS.md # primary cross-tool brief — title, purpose, run, architecture ├── README.md · LICENSE · SECURITY.md │ ├── .agents/ # tool-agnostic spine │ ├── rules/ │ │ ├── workflow.md # prompt → ADR → telemetry → commit → push │ │ ├── workflow-todos.md # how do-later ideas are captured │ │ ├── workflow-security.md # per-request security checks │ │ ├── best-practices.md # code-style + idioms │ │ └── layered-architecture.md # 4-Layer / 3-Tier / SPA / Monorepo / Serverless │ └── bootstrap.json # interview answers — re-runnable │ │ # Per-tool adapters — only the ones you picked get written: ├── CLAUDE.md # Claude Code adapter (@-includes the brief) ├── .claude/settings.json # Claude permission posture (cautious → bypass) ├── .cursor/rules/agents.mdc # Cursor adapter (alwaysApply: true) ├── .aider.conf.yml # Aider read: list ├── .continue/config.json # Continue.dev rules entry ├── .windsurfrules # Windsurf adapter ├── .github/copilot-instructions.md # Copilot adapter (rules inlined) │ └── .docs/ ├── prompts/ # timestamped, one per request ├── adrs/ # slim Nygard format, indexed ├── todos/ # one file per deferred idea └── security/ └── methodology.md # OWASP + LLM-specific rubric
Features
AI agents are powerful but undisciplined. Without a process, decisions vanish, TODOs pile up, and changes lose their why. The bootstrap turns the discipline into files.
17 targeted questions. Smart defaults. Re-runnable — adding a new question only asks existing projects that one.
Every request bundles prompt file + ADR (when it matters) + tests + telemetry + code into a single focused commit. Deferred ideas land as one-file-per-entry under .docs/todos/ — context, deferred-because, revisit-when. No drive-by changes. No buried promises. git log reads as the project's story.
Slim Nygard format, indexed by README. The agent picks the Mermaid type that fits — flowchart, sequenceDiagram, stateDiagram, erDiagram, C4Context, gitGraph, gantt, and any other Mermaid type the situation calls for — guided by a picker table that maps decision-shape to diagram-type, plus readability conventions that keep diagrams legible.
Pyramid-shaped: unit-heavy, integration-light, e2e-thin. Mock at boundaries, never at internals. Bug fixes start with a failing regression test that becomes the bug's tombstone. TDD encouraged but not mandated — the hard rule is tests + code land in the same commit, always. Coverage tracked, never gated by a percentage.
OWASP Top 10 rubric plus optional LLM sub-rubric (prompt injection, tool agency, supply chain). Dated audits as siblings.
Python · TypeScript · Go · Rust scaffolds, paired with 9 architecture shapes (4-Layer DDD · Hexagonal · Microservice · Vertical Slice · 3-Tier · SPA · Flat · Monorepo · Serverless). And when your agent has web search, best-practices.md gets refined live from current sources for your exact stack, with inline citations — falling back to a sensible generic baseline when search isn't available.
Architectures supported
The interview detects the difference between system topology ("microservices") and internal code organisation — and routes you to the right scaffold for each.
Presentation → application → domain ← infrastructure + shared. Non-trivial backends with multiple I/O surfaces.
Pure domain/ with ports/ + symmetric adapters/primary & /secondary. Covers the Ports-and-Adapters / Clean / Onion family in one template.
Presentation / business / data. Simpler CRUD apps — Rails/Django/.NET-style.
Pages → components → hooks → services. React / Vue / Svelte conventions.
No layering — modules organised by topic. CLIs, libraries, small scripts.
Apps + services + packages. Each sub-project picks its own internal architecture.
Handler-per-trigger + thin lib/ core. AWS Lambda / Cloud Functions / Workers / Vercel.
One service in a larger ecosystem. 4-Layer DDD internals plus health / readiness, retries + circuit breakers, distributed tracing, consumer-driven contracts.
Organise by feature, not by layer. Each slice owns its handler / service / model / repository / tests. Features may only import from shared/ — never from each other.
Permission postures
Pick how much autonomy your agent gets — from "ask for everything" to "no prompts ever" — and the bootstrap fans that one intent out across every tool you picked. Claude gets a .claude/settings.json; Cursor gets .cursor/settings.json; Aider gets the matching keys in .aider.conf.yml; Codex gets .codex/config.toml; Continue.dev gets a tools-autonomy block in .continue/config.json; Windsurf gets .windsurf/settings.json. OpenCode and Copilot don't have file-based permission models — their adapters carry a posture-intent note you apply in the IDE.
Autonomy axis
Every action prompts. Safest for shared / team / open-source projects.
Pre-allows safe reads (ls, cat, grep, git status/log/diff). Writes still prompt.
Reads + safe git + language-specific build/test (uv:* · npm:* · go:* · cargo:*). Force-push / hard-reset still gated.
No prompts, ever. Only safe in dedicated dev VMs / containers / trusted personal workspaces.
Two weeks later
Day 1 is one focused commit. By the second week, every change carries its prompt file, its ADR when it matters, its tests, its security checks. Reading the history reconstructs the why, not just the what.
Adoption
Three example projects show what the bootstrap actually produces. A 60-second quickstart walks the steps. A doctor mode audits an existing repo against the rules without writing anything.
Examples
Three fully-bootstrapped sample projects — python-4layer-ddd, typescript-vertical-slice, go-microservice. Browse what lands before you run it.
Browse examples/ →Quickstart
Drop the file, prompt the agent, get the scaffold + first commit. Includes the question-by-question reference and a side-by-side comparison vs Cookiecutter / copier / a hand-typed agent brief.
Read QUICKSTART.md →Doctor mode
Already bootstrapped? Ask "run bootstrap-doctor against this repo" for a structured drift report — missing rule files, stale answer cache, security audits overdue, stub best-practices, ADR-index drift. No writes; pure read.
See doctor-mode spec →Why this, not …
| This bootstrap | Cookiecutter / copier | Hand-typed agent brief | |
|---|---|---|---|
| Output | Disciplined repo + first commit | A working repo | A markdown file |
| Tools supported | 8 agentic assistants | N/A — templating tool | One |
| Discipline encoded | Workflow + ADRs + tests + security + TODOs | Whatever the template author wrote | Whatever you typed |
| Architectures | 9, with diagram picker | Whatever the template author wrote | None |
| Live best-practices | Refined from current sources for your stack | Frozen at template-author time | Frozen at typing time |
| Onboarding cost | One file. One prompt. 60 seconds. | Install + find + verify a template | Hours of typing |
| Re-runnable | Yes — idempotent; picks up new conventions | Usually no | No |
| Audit mode | Yes — doctor mode reports drift | No | No |
Found a bug, got an idea, or built something you'd like to ship?
One file. One prompt. One commit. Drop it into a fresh repo, an existing repo, or re-run it later — the bootstrap reuses your prior answers and only asks about what's new.
› follow AGENTIC-BOOTSTRAP.md to bootstrap this repo