/lamina-init
Answer the business questions product design depends on and persist them in .lamina/. Run once per project, or again when the business use case changes.
Quick path
- Run
/lamina-initwith your domain description - Inspect
.lamina/business-context.mdand.lamina/personas.json - Proceed to
/lamina-design
When to use
- Starting a new project or major feature area
- Before
/lamina-designon an unfamiliar domain - When pivoting scope, market, or actor cast (
updatemode) - Before any verify on a greenfield project
Modes
| Mode | Command | Behavior |
|---|---|---|
establish (default) | /lamina-init <domain> | First-time bootstrap |
update | /lamina-init update <what changed> | Merge changelog on pivot; preserve prior decisions |
Establish
/lamina-init Exam hall ticket system for universities/lamina-init Boutique hotel booking marketplace in the United StatesUpdate
Use when the business use case changes — new market, scope pivot, or actor cast shift:
/lamina-init update Expanding to business travelers with corporate billingUpdate mode appends to the changelog in business-context.md and revises affected sections without discarding prior work.
What it produces
| File | Content |
|---|---|
.lamina/business-context.md | Domain charter — problem, goals, scope, constraints |
.lamina/personas.json | Actor cast — roles, goals, permissions, constraints |
See Global artifacts for field-level detail.
Brownfield scanning
On existing codebases, /lamina-init may perform a bounded repo scan to infer domain context. The scan is read-only — Lamina never edits app source during init.
Advanced: Brownfield scanning follows the field-research pattern. It reads source files and may walk the live UI to ground business-context.md in what already exists.
Init gate
/lamina-design and /lamina-verify are blocked until a valid business-context.md exists. This gate cannot be bypassed.
What to do next
Run /lamina-design with a specific feature or flow within the chartered domain:
/lamina-design Hall ticket download with payment gate and venue assignmentTips
- Be specific — “e-commerce” is too broad; “university exam hall ticketing” is right
- Include primary actors: “for students, invigilators, and admin staff”
- One init per domain — design individual flows with
/lamina-design, not repeated inits - For brownfield projects, mention the existing app: “init for our existing Next.js booking app”
Next steps
- /lamina-design — design a contract
- Global artifacts —
business-context.mdandpersonas.jsonreference - Brownfield and greenfield — existing vs new projects