dna init¶
Make a project agent-ready: board + skill + AGENTS.md + git hooks.
One command bootstraps everything an AI coding agent needs to work DNA-style in this project:
.dna/
The assets ship inside dna-cli as an embedded onboarding scope of real Kinds and are materialized by the SDK's own byte-faithful readers/writers — one Kind, N regenerable projections. AGENTS.md serves every tool at once; Gemini CLI users can point GEMINI.md at it.
With --from, the skills + AGENTS.md come from a DISTRIBUTED onboarding
pack (your team's own conventions) instead of the embedded scope. The
pack is fetched and validated with the same machinery as dna install
(untrusted-input defenses included) but only PROJECTED into tool
directories — nothing from the pack is written to the .dna/ source.
Review the projected files before committing: a skill is agent
instructions; treat a third-party pack like a dependency.
Idempotent: re-running never overwrites an existing file unless --force is given; the summary reports what was created vs skipped.
Examples:
dna init # here, board '
Generated from the command definitions
This page is introspected from the dna Click command tree by
scripts/gen_cli_docs.py, so it stays in lockstep with
dna init --help.
dna init¶
Make a project agent-ready: board + skill + AGENTS.md + git hooks.
One command bootstraps everything an AI coding agent needs to work DNA-style in this project:
.dna/
The assets ship inside dna-cli as an embedded onboarding scope of real Kinds and are materialized by the SDK's own byte-faithful readers/writers — one Kind, N regenerable projections. AGENTS.md serves every tool at once; Gemini CLI users can point GEMINI.md at it.
With --from, the skills + AGENTS.md come from a DISTRIBUTED onboarding
pack (your team's own conventions) instead of the embedded scope. The
pack is fetched and validated with the same machinery as dna install
(untrusted-input defenses included) but only PROJECTED into tool
directories — nothing from the pack is written to the .dna/ source.
Review the projected files before committing: a skill is agent
instructions; treat a third-party pack like a dependency.
Idempotent: re-running never overwrites an existing file unless --force is given; the summary reports what was created vs skipped.
Examples:
dna init # here, board '
Options
| Option | Description |
|---|---|
--dir |
Project directory to initialize (default: current directory). (default: .) |
--force |
Overwrite existing onboarding files (skill projections, AGENTS.md). The board Genome is never rewritten — an existing board is verified and kept. |
--from |
Project a DISTRIBUTED onboarding pack instead of the embedded one: github:owner/repo[/subdir][@ref], local:<path>, or a bare directory path. The pack must carry at least one agentskills.io Skill bundle; a root AGENTS.md replaces the embedded instruction surface (absent: the embedded one is used, with a note). Pack content is validated with the same defenses as dna install and only PROJECTED into tool directories — combine with dna install <same-uri> when you also want it on the board. |
--help |
Show this message and exit. |
--json |
Machine-readable summary. |
--scope |
Board scope name (default: ' |
--tools |
Comma-separated agent tools to project the SDLC skill for (claude, copilot, cursor, opencode — or 'all'). The SKILL.md format is identical across tools; only the directory differs. (default: claude,copilot) |