| name | mishkan-init |
| description | Initialise a project under MISHKAN. Runs the SWE-BASICS-BEFORE-CODE sequence through the right specialists (PRD → SRS → CONTRACT → ARCHITECTURE → THREAT_MODEL → C4 → docs scaffold), seeds Cognee, writes the project CLAUDE.md, and begins Sprint S0. Use once per project, triggered by /mishkan-init. |
mishkan-init
Initialise a new project under MISHKAN. Run once per project. Surface a /plan
to Y4NN before the first doc is written — the plan is the scope contract for init.
Preconditions
- Y4NN has converged on intent in exploration mode (Nehemiah + Bezalel).
- Working directory is the project root.
Sequence (each phase feeds the next — do not skip, do not reorder)
- Nehemiah — from the intent conversation, write
docs/PRD.md (product
requirements: problem, users, use cases).
- Nathan (Yasad) —
docs/SRS.md (software requirements from the PRD).
- Zadok (Yasad) —
docs/CONTRACT.md (invariants + guarantees). /plan first.
- Bezalel + Nathan —
docs/ARCHITECTURE.md. /plan first.
- Benaiah (Mishmar) —
docs/THREAT_MODEL.md via STRIDE. /plan first.
- Meshullam (Migdal) —
docs/diagrams/C4/ (Context, Container, Component).
/plan first.
- Jehoshaphat (Sefer) — scaffold
docs/README.md, docs/adr/,
docs/runbooks/ (stub runbooks per team). /plan first.
- Automated — knowledge setup (decisions D-007 + D-012 + D-015). Init composes
the two control verbs (the human-facing equivalents of the scripts):
- Automated — write
./CLAUDE.md from
~/.claude/mishkan/templates/project-CLAUDE.md, fill placeholders, set Sprint
S0. Copy ~/.claude/mishkan/templates/settings.json → .claude/settings.json,
the team rules from ~/.claude/mishkan/rules/* → .claude/rules/* for
path-scoped loading, and render ~/.claude/mishkan/templates/mcp.json →
./.mcp.json, substituting __MISHKAN_WORK_PORT__ with the work-store port
captured in step 8 so the cognee MCP points at THIS project's own store:
sed "s/__MISHKAN_WORK_PORT__/${WORK_PORT}/" \
~/.claude/mishkan/templates/mcp.json > ./.mcp.json
- Automated — Graphify code graph (the third store of the knowledge stack,
per D-008): if
graphify is on PATH (uv tool install graphifyy provides
it), run an initial scan so the project has a structure graph from Sprint
S0 onwards. Otherwise skip with a one-line note — the agent fleet still
works; the graph populates the first time Hizkiah / Salma / Nathan / Zadok /
Oholiab runs graphify update . mid-sprint.
if command -v graphify >/dev/null 2>&1; then
graphify update . || echo "mishkan-init: graphify scan failed, skipping (project will scan on first structural query)"
fi
The output graphify-out/ is gitignored by convention — re-derivable, no
need to commit. The MISHKAN observability daemon's graphify_tail source
will start emitting graphify_scan / graphify_query events for the
Knowledge tab as soon as the graph exists.
Outputs
docs/{PRD,SRS,CONTRACT,ARCHITECTURE,THREAT_MODEL,README}.md
docs/adr/ docs/runbooks/ docs/diagrams/C4/
./CLAUDE.md (sprint S0)
.claude/settings.json .claude/rules/{common,frontend,backend,infrastructure,documentation}/
.mcp.json (cognee = this project's OWN per-project work store, cognee-curated = shared reference)
Cognee: curated box ensured (:7730) + this project's per-project work store provisioned (own port) + tagged docs ingested
Constraints
Sequence before implementation — no code is written during init. Stateful
operations hard stop. Every doc is dated and conforms to the Sefer rules.
English only.