Work naturally with your agentic AI. AGENTIC_BOOTSTRAP continuously turns the architecture, decisions, trade-offs, and future ideas created along the way into lasting project knowledge—without interrupting your flow.
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.
Before you run · two requirements
Capable model. Claude Sonnet / Opus, GPT-4 class, Gemini 1.5 / 2.x, full DeepSeek-V3, Qwen 2.5 Coder 32B+. Smaller distilled reasoners may skip steps in this multi-step playbook.
~80k context window that fits. Verify your model + runtime + tool can carry it. Watch for GGUF caps at 32k (most Qwen 2.5, Codestral, Phi-4), runtime defaults (Ollama, vLLM, llama.cpp), and agents that re-send the file every turn.
Can't meet both? A hosted API for the one-shot is rounding error against a single dev day.
Save AGENTIC-BOOTSTRAP.md at the root of any repo — fresh or existing.
Hand it to your assistant of choice — Claude Code, Cursor, Codex CLI, Continue.dev, Windsurf, Copilot, Aider, OpenCode — with one prompt.
Re-run is safe — it's idempotent.
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.
That's the setup. From here, it's you and your agent doing what you already do — with a repository that remembers.
Nudge it if it stalls
Less-capable models sometimes acknowledge the file but won't start.
Paste this to get them moving:
Nudge it toward rich prompts
Some hosts have interactive prompt UI (pickers, multi-select) but default to plain text on the first read.
Paste this to get the pickers:
Origin
AGENTIC_BOOTSTRAP wasn't born from trying to build a product. It was born from trying not to repeat myself.
It started while building a project where I gradually developed a better way of collaborating with agentic AI. As the project evolved, so did the engineering: architectural decisions, TODOs, conventions, prompt history, ADRs, and the operating model itself.
Then I started another project.
Almost immediately I found myself thinking:
“I wish this project had everything I built into the last one.”
Instead, I was rebuilding the same engineering practices from scratch. Repeating conversations with the AI. Rediscovering conventions. Losing valuable ideas because they lived only inside the chat. Avoiding clearing the context because I didn't want to lose the reasoning that got us there.
By the third project, it was obvious.
This shouldn't be something I rebuilt every time.
It should be something I bootstrap once and evolve forever.
That's why AGENTIC_BOOTSTRAP exists.
It gives every new project the engineering maturity of the previous one from day one.
Start with the bootstrap.
Keep what works.
Remove what doesn't.
Add your own skills, workflows, standards, and conventions.
Evolve it with your project.
AGENTIC_BOOTSTRAP gives you the first version of your operating model. What it becomes is yours.
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 (plus generic fallback for C# · Java · Ruby · PHP · Kotlin · Swift · anything else), 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.
Runtime footprint
The bootstrap is heavyweight at scaffold time and lightweight forever after. A template index lets capable agents skip what doesn't apply to your answers, cutting scaffold cost further. The playbook's cost is paid at bootstrap. Regular sessions stay lightweight.
Scaffold · smart agent
~25k tokens
Claude Code, Cursor, Codex CLI — agents whose Read tool supports offset + limit. Reads the operator playbook, interview, and decision matrix, then jumps straight to only the ~15 templates your answers require. Skips the other ~65.
Scaffold · naive fallback
~80k tokens
Agents without offset reads, or hosts that ignore the index instruction, fall through to top-to-bottom reading. No functionality lost; the bootstrap still works — you just pay the full playbook cost. Backward-compatible safety net.
Every session after
~5–15k tokens
Agents usually auto-load only the thin spine — AGENTS.md plus the relevant rule files under .agents/rules/. The footprint depends on the gates you enabled and the assistant's loading strategy, but it stays far smaller than the original bootstrap playbook.
The bootstrap pays its token cost at scaffold time. Your team works at the runtime cost forever after.
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; Codex gets .codex/config.toml; Continue.dev gets a tools-autonomy block in .continue/config.json; Windsurf gets .windsurf/settings.json; Aider gets the matching keys in .aider.conf.yml. 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 and let's build this together