{{command_prefix}}new-project
One-time project initialization. Replaces "run scan cold" by gathering context up front and producing PROJECT.md + STATE.md + cycle-1.
Steps
- Existing check: If
.design/STATE.mdexists, ask (AskUserQuestion): "Project already initialized. Re-initialize? (This does not delete existing work.)" Abort if declined. - Create directory:
mkdir -p .designvia Bash. - Auto-detect from codebase (do this before asking):
- Read
package.jsonfor framework (React/Next.js/Vue/SvelteKit/etc.). - Glob for
tailwind.config.*,components/,src/,shadcn.jsonto guess the design system. - Use directory name as default project name.
- Read
- Gather context (AskUserQuestion, one at a time, pre-filled with detected values):
- Project name
- Project type (framework)
- Main design goal
- Primary user
- Design system / component library
- Write
.design/PROJECT.md:markdown# Project: <name> **Type**: <framework> **Design system**: <system> **Main goal**: <goal> **Primary user**: <user> **Initialized**: <date> - Initialize STATE.md: Copy from
reference/STATE-TEMPLATE.md, fill in project name, set stage tobrief, cycle tocycle-1. - Create
.design/config.jsonwith defaults fromreference/config-schema.md. - Initialize first cycle: Write
.design/CYCLES.mdwith acycle-1entry (goal copied from PROJECT.md main goal, statusactive). - Seed project-local skills directory: Create
./.claude/skills/and write./.claude/skills/README.md:markdown# Project-Local Skills Auto-loaded by gdd pipeline stages. See `reference/project-skills-guide.md` in the plugin. Files named `design-*-conventions.md` are read by explore/plan/design. Populated by `{{command_prefix}}sketch-wrap-up` and manual edits. - Print: "Project initialized. Run
{{command_prefix}}briefto capture your design problem, or{{command_prefix}}exploreto scan directly. Run{{command_prefix}}connectionsto wire up optional integrations (Figma, Storybook, Chromatic, etc.)."
Do Not
- Do not delete or overwrite existing
.design/artifacts if re-initializing. - Do not run any pipeline stage automatically - this is init only.


