Help us improve
Share bugs, ideas, or general feedback.
From project-scaffolder
Scaffold Claude Code project infrastructure — hooks, agents, settings.json, and CLAUDE.md — for any Design Machines project type. Use when setting up a new project, configuring Claude Code hooks, creating a CLAUDE.md routing document, adding commit-push reminders, setting up Docker safety gates, configuring session-start workflows, or standardizing .claude/ directory structure. Covers go-templ-datastar, go-library, css-framework, and craft-cms project types.
npx claudepluginhub design-machines-studio/depot --plugin project-scaffolderHow this skill is triggered — by the user, by Claude, or both
Slash command
/project-scaffolder:scaffolding [project-type: go-templ-datastar|go-library|css-framework|craft-cms][project-type: go-templ-datastar|go-library|css-framework|craft-cms]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Standardize Claude Code setup across all Design Machines projects. Generate `.claude/` infrastructure (hooks, agents, settings) and a routing-style `CLAUDE.md` from battle-tested templates.
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Explores codebases via GitNexus: discover repos, query execution flows, trace processes, inspect symbol callers/callees, and review architecture.
Share bugs, ideas, or general feedback.
Standardize Claude Code setup across all Design Machines projects. Generate .claude/ infrastructure (hooks, agents, settings) and a routing-style CLAUDE.md from battle-tested templates.
| Type | Stack | Docker | Hooks | Agents |
|---|---|---|---|---|
go-templ-datastar | Go + Templ + Datastar + Live Wires | Yes | all 5 + a11y-check | go-builder, css-reviewer, doc-sync, security-auditor, a11y-html-reviewer, a11y-css-reviewer, a11y-dynamic-content-reviewer |
go-library | Go module (no frontend) | Optional | commit-push, pre-stop, post-edit | doc-sync |
css-framework | CSS + npm build | No | commit-push, pre-stop, post-edit, a11y-check | css-reviewer, doc-sync, a11y-css-reviewer |
craft-cms | Craft CMS + DDEV + Twig | DDEV | commit-push, pre-stop, post-edit, block-bare-craft, a11y-check | doc-sync, security-auditor, a11y-html-reviewer, a11y-css-reviewer |
| Hook | Event | Matcher | Default | Purpose |
|---|---|---|---|---|
block-bare-go.sh | PreToolUse | Bash | Go projects | Prevent Go/Templ outside Docker |
session-start-gate.sh | PreToolUse | Edit|Write | Opt-in | Block changes until planner workflow completes |
commit-push-reminder.sh | PostToolUse | Edit|Write | ALL | Nudge commits at 3+ files, push at 2+ commits |
post-edit-context.sh | PostToolUse | Edit|Write | ALL | Agent reminders based on file type |
a11y-check.sh | PostToolUse | Edit|Write | Frontend projects | A11y agent reminders after template/CSS/JS changes |
nats-safety.sh | PostToolUse | Edit|Write | go-templ-datastar | NATS config safety reminders after editing NATS-related files |
pre-stop-check.sh | Stop | — | ALL | Uncommitted work check + agent compliance |
| Agent | Applies to | Purpose |
|---|---|---|
go-builder.md | Go projects | Docker-safe build, test, generate |
css-reviewer.md | Live Wires projects | CSS compliance (layers, naming, tokens) |
doc-sync.md | ALL projects | Documentation freshness after code changes |
security-auditor.md | Backend projects | OWASP review + project-specific concerns |
a11y-html-reviewer.md | Frontend projects | WCAG HTML/template compliance |
a11y-css-reviewer.md | Frontend projects | WCAG visual accessibility (contrast, focus, motion) |
a11y-dynamic-content-reviewer.md | Datastar projects | Live regions, focus management, keyboard |
nats-reviewer.md | go-templ-datastar | NATS safety: DontListen, ScopedEventBus, subject naming, event ordering |
go-test-runner.md | go-templ-datastar, go-library | Go test runner: race detection, coverage, missing test files |
migration-validator.md | go-templ-datastar, go-library | Migration review: goose format, table prefixes, cross-fixture FK |
Module Interface (go-templ-datastar): Production Assembly projects use a Module interface for fixture registration. When scaffolding, the generated CLAUDE.md includes ScopedDB, ScopedNATS, Module interface, and federation sections. See the project-configs.md reference for the full CLAUDE.md template.
When the user asks to scaffold a project, follow these steps:
Ask the user:
go-templ-datastar, go-library, css-framework, craft-cms. If the project doesn't fit any of these, use a generic starter from references/claude-md-templates/ (see "Generic CLAUDE.md Starters" below) and skip to Step 5.Set these variables from the user's answers:
{{PROJECT_PREFIX}} — lowercase directory name of the project (e.g., assembly, dashboard). Used in /tmp/ marker files to avoid collisions between projects.{{PROJECT_NAME}} — display name (e.g., "Assembly", "Dashboard"){{PROJECT_TYPE}} — the selected typeRead the reference files to get templates:
${CLAUDE_SKILL_DIR}/references/hooks.md — hook script templates${CLAUDE_SKILL_DIR}/references/agents.md — agent definition templates${CLAUDE_SKILL_DIR}/references/project-configs.md — settings.json and CLAUDE.md templatesCreate the following in the target project:
.claude/
settings.json ← from project-configs.md, based on project type
hooks/
block-bare-go.sh ← Go projects only (from hooks.md)
session-start-gate.sh ← if opted in (from hooks.md)
commit-push-reminder.sh ← always (from hooks.md)
post-edit-context.sh ← always, customized per type (from hooks.md)
a11y-check.sh ← frontend projects (from hooks.md)
pre-stop-check.sh ← always (from hooks.md)
agents/
go-builder.md ← Go projects only (from agents.md)
css-reviewer.md ← Live Wires projects (from agents.md)
doc-sync.md ← always (from agents.md)
security-auditor.md ← backend projects (from agents.md)
a11y-html-reviewer.md ← frontend projects (from agents.md)
a11y-css-reviewer.md ← frontend projects (from agents.md)
a11y-dynamic-content-reviewer.md ← Datastar projects (from agents.md)
CLAUDE.md ← routing doc (from project-configs.md)
.pa11yci.json ← frontend projects (from project-configs.md)
tests/
a11y/
pages.spec.js ← frontend projects (from project-configs.md)
tasks/
todo.md ← empty task file
lessons.md ← empty lessons file
{{PROJECT_PREFIX}} and {{PROJECT_NAME}} placeholders in generated filespost-edit-context.sh: remove sections that don't apply to the project type (marked with comments)pre-stop-check.sh: set the AGENTS array to only include applicable agentschmod +x .claude/hooks/*.shTell the user:
CLAUDE.md and fill in project-specific sections (architecture overview, build commands, directory structure)settings.json — add project-specific permissions to settings.local.json if needed.claude/agents/post-edit-context.sh hook can be extended with project-specific file type → agent mappingsFor projects that don't match one of the four project-type templates above, use a starter from ${CLAUDE_SKILL_DIR}/references/claude-md-templates/. These files sit in a sub-directory (not flat under references/) to signal "choose one" and to reserve room for additional stack-generic starters (python, node, docs-site) without polluting the top-level reference namespace.
| Template | Use when |
|---|---|
| ${CLAUDE_SKILL_DIR}/references/claude-md-templates/minimal.md | No DM-stack assumptions. Any project, any stack. |
| ${CLAUDE_SKILL_DIR}/references/claude-md-templates/dm-standard.md | DM project that doesn't match one of the four project-type templates. |
Copy the chosen template to the target project's CLAUDE.md and edit in place. No {{PLACEHOLDER}} substitution required — these starters ship with concrete content, unlike the project-type templates in project-configs.md which do use placeholder substitution. minimal.md's header comment is a license-mandated attribution block; retain it verbatim when the template is redistributed. dm-standard.md's header is informational and may be stripped by the consumer.
All templates use double-brace placeholders:
| Placeholder | Replaced with | Example |
|---|---|---|
{{PROJECT_PREFIX}} | Lowercase project directory name | assembly |
{{PROJECT_NAME}} | Display name | Assembly |
{{PROJECT_TYPE}} | Project type key | go-templ-datastar |
{{PROJECT_URL_LOCAL}} | Local development URL | http://dm006.asmbly.site |
{{PROJECT_URL_PROD}} | Production URL | https://dm006.asmbly.app |
Replace all placeholders before writing files. Remove any remaining placeholder lines that don't apply.
The dm-review depot plugin provides a full code review orchestrator that launches up to 15 parallel agents across accessibility, security, architecture, CSS, voice, and governance domains. It detects project type automatically from marker files (go.mod, craft/, .ddev/, package.json) and selects applicable agents — no per-project configuration needed.
For projects with the depot installed, run /dm-review for a full review or /dm-review quick for core agents only.
These principles are baked into every hook template:
$CLAUDE_PROJECT_DIR, never hardcoded absolute pathsjq to extract fields0 = allow, 2 = block (for PreToolUse hooks){"systemMessage": "..."} for nudges{{PROJECT_PREFIX}} in marker names to avoid collisionsgit rev-parse --short HEAD in the marker nameprintf '%s\n' instead of echo to prevent flag injection; quote all variable expansionsOfficial and third-party Claude Code plugins that complement this skill:
| Plugin | Tool | When to Use |
|---|---|---|
| hookify | /hookify | Create custom hooks beyond scaffold templates |
| claude-md-management | /revise-claude-md | Ongoing CLAUDE.md maintenance after scaffolding |
| plugin-dev | /create-plugin | Develop project-specific plugins |
| superpowers | /plan | Architecture planning before scaffolding |
| File | Contains |
|---|---|
| ${CLAUDE_SKILL_DIR}/references/hooks.md | All 5 hook script templates with full source and customization notes |
| ${CLAUDE_SKILL_DIR}/references/agents.md | Agent definition templates (go-builder, css-reviewer, doc-sync, security-auditor) |
| ${CLAUDE_SKILL_DIR}/references/project-configs.md | settings.json templates, CLAUDE.md routing doc templates, tasks file starters — organized by project type |
| ${CLAUDE_SKILL_DIR}/references/claude-md-templates/minimal.md | Drop-in CLAUDE.md starter for any stack — Karpathy's four principles, verbatim, with MIT attribution |
| ${CLAUDE_SKILL_DIR}/references/claude-md-templates/dm-standard.md | Drop-in CLAUDE.md starter for DM projects that don't match a project-type template — paraphrased principles plus DM conventions |