Commands

qm new NAME

Scaffold a new project.

FlagDefaultDescription
--modestaticProject mode: static or rails
--skip-promptsfalseUse defaults for all prompts
--gittrueInitialize a git repository
--installfalseRun npm install after scaffolding

qm generate page NAME

Create a new page with frontmatter.

FlagDefaultDescription
--layoutpageLayout: page or base
--title(derived)Page title (defaults to titleized name)

qm generate controller NAME

Create a Stimulus controller. If the name matches a preset (toggle, animate, mobile-nav, form, reading-progress, clipboard, analytics), the full implementation is used.

qm generate controller list    # Show available presets

qm generate post TITLE

Create a blog post at src/content/posts/ with frontmatter, today's date, and draft: true.

qm generate project TITLE

Create a portfolio project at src/portfolio/projects/.

FlagDefaultDescription
--category(blank)Project category

qm validate

Run the Section 10 quality checklist against the current project. Returns exit code 0 (pass) or 1 (fail) for CI integration.

qm promote --to=rails

Convert a static site to a Rails application. Creates a sibling directory with converted templates, data, and routes.

qm generate event NAME

Register a Pulse key event in config/pulse_events.yml. Rails mode only.

FlagDefaultDescription
--description(placeholder)What this event tracks

qm version

Print the gem version and spec version. Also available as qm --version or qm -v.