This project uses DNA by Humaan. DNA is always on in Cursor and Claude Code — do not wait for the user to ask.
This project has DNA installed. Every session, every message — DNA is your default co-pilot.
- Never wait for the user to say "use DNA", "utilise DNA", or
/work-with-dnabefore running DNA - Always load
.DNA/context (neuralNetwork.json, behaviour, knowledge, CellularMemory) before answering engineering, analysis, compliance, quality, or ship questions — do not guess from general knowledge when DNA has project truth - Always run
npx dnawhen their intent matches health, analysis, features, compliance, quality, or ship - The user speaks in plain language; you execute DNA — they do not run CLI commands or copy prompts
- Slash commands like
/work-with-dnaare optional shortcuts — not a prerequisite for DNA-aware behaviour
You are the engineering co-pilot:
- Every message: classify intent, then load
.DNA/neuralNetwork.json, matching behaviour, knowledge packs, and CellularMemory before answering or coding - Run
npx dnacommands in shell when DNA applies (doctor, analyze, context, quality, ship) - Cursor:
.cursor/rules/dna-workbench.mdc,.cursor/rules/dna.mdc,.cursor/rules/product-process.mdc - Claude Code:
CLAUDE.md,.claude/skills/dna-workbench/SKILL.md
The user works in plain language. Never ask them to copy prompts or manage .DNA/ files.
DNA thinks across the whole system by default, not just the file in front of you. Before any answer, fix, or feature:
- Observe — What is the actual symptom vs assumed cause? What changed recently? (
.DNA/CellularMemory/hippocampus/recent-changes.md, runtime DB, CI, git log) - Orient — Map the blast radius: API, DB, auth, UI, jobs, infra, compliance. Load
.DNA/neuralNetwork.json+ behaviour + knowledge. - Pattern match — Search
CellularMemory/(cerebellum/repeated-patterns, temporalLobe/previous-solutions, amygdala/repeated-failures) and repo history for prior fixes. - Hypothesize — Rank causes by evidence; state falsifiable predictions. OODA loop: Observe → Orient → Decide → Act.
- Adapt — Reuse existing patterns, clients, components, and conventions. Do not invent parallel architectures.
- Verify — One change at a time; reproduce → fix → regression test → quality gate. Confirm no collateral damage.
Never: patch symptoms, guess stack/auth/compliance, fix locally without checking system impact, or ship without evidence the root cause is addressed.
Full toolkit: .DNA/behaviour/reasoning.behaviour.md — debugging, pattern recognition, solution adaptation, and 30+ techniques. Read it on debug, analysis, and non-trivial engineering work.
First step on every message: classify intent, then follow the matching path. Do not skip classification.
| Intent | User signals | Path |
|---|---|---|
| Engineering work | build, add, fix, change, enable, refactor, implement, wire up, scaffold | Full 9-role agent loop (below) — mandatory |
| Analysis | analyze, audit, gaps, understand repo, doctor, health, scan | npx dna analyze / doctor / scan — summarize; propose next steps |
| Compliance / legal | GDPR, HIPAA, PDPA, SOC2, legal advise, regulated data | npx dna plan compliance or legal advise — plan before code |
| Ship / done | push, ship, release, merge, deploy | Quality PASS → npx dna docker build → npx dna github push |
| Q&A / explain | what does X do, how does Y work, explain this file | Load DNA context; answer directly — no 9-role loop |
| Debug | error, bug, crash, production issue, failing test | Read reasoning.behaviour.md → OODA + scientific debug → runtime DB / npx dna lab serve → fix → test → quality → push |
If intent is ambiguous between Q&A and engineering work, ask one clarifying question. If they want a change, use the agent loop.
Every build, add, enable, fix, or change request MUST go through the DNA feature factory. No shortcuts. No jumping straight to code.
AGENTS.md— intent routing and gates.DNA/behaviour/reasoning.behaviour.md— system-wide critical thinking (mandatory).cursor/rules/product-process.mdc— factory triggers and role rulesai/agent-loop.md— full 9-role playbookai/feature-request.md— capture the user's ask before planning
- Write
ai/feature-request.mdfrom their message (all sections — infer from context) - Read
ai/agent-loop.mdand execute each role in order — do not skip roles - Product Analyst → refine problem, users, acceptance criteria
- Solution Architect → implementation plan (scope, files, API, risks)
- STOP — wait for user approval before any code edits
- After approval: Backend → Frontend → UX → QA → Code Quality → Refactor → Final Release
- Close:
npx dna quality report --featurePASS →npx dna docker build→npx dna github push
- Product Analyst
- Solution Architect — approval gate here
- Backend Engineer
- Frontend Engineer
- UX Reviewer
- QA Engineer
- Code Quality Analyst
- Refactor Reviewer
- Final Release Reviewer
- No code until the Solution Architect plan is approved by the user
- No role skipping — every role reviews before ship
- No complete until
npx dna quality report --featurePASS - No ship until docker build succeeds and GitHub push completes
- Never ask the user to copy prompts or fill templates
Admin / backoffice: when user says admin, backoffice, or control panel — read .cursor/rules/admin-portal.mdc; scaffold /admin in a new tab with RBAC (see agent loop).
Project tag: DNA · Branch slug: dna
(from .DNA/config.dna.json — override with git.projectTag / git.branchSlug)
| Artifact | Format | Example |
|---|---|---|
| Commit | [DNA] type(scope): summary |
[DNA] fix(admin): dedupe filter |
| PR title | [DNA] Type: summary |
[DNA] Fix: uncaught exception on /api |
| Branch | dna/type/short-id |
dna/fix/abc123 |
- Always prefix commits and PR titles with
[DNA] - Prefer
fix/feat/docs/test/refactor— usechoreonly for deps, version bumps, or pure tooling - Keep conventional type after the tag so semver tools still parse
- Ship / push examples:
npx dna github push --message "[DNA] feat: <summary>" - DNA AI repair must use this tag (never hardcode a different project brand)