CLI reference
Every command and flag, generated from the definitions themselves — so a flag cannot exist without appearing here.
Generated from packages/cli's own command definitions by pnpm --filter @launchquickly/web docs:cli. A test fails if regenerating would change it, so
a new flag cannot ship undocumented.
lq is vendored into every project, so run it with npx lq — the version
that answers is the one your project was scaffolded or last upgraded with, not a
global install. That matters more than it sounds: see
ADR-0006.
There is one validation verb on purpose. If you are looking for lq lint or
lq test, the answer is lq check, and
ADR-0008 explains why.
lq check
Verify the project against its own conventions. The only validation verb.
| flag | what it does |
|---|---|
--changed | Scope to files that differ from HEAD, for use inside an edit loop |
lq docs
Checks that the documentation tells the truth.
lq docs check
Every command in a fenced example must exist with those flags; every inline-code path must exist in the project.
| flag | what it does |
|---|---|
--docs | Directory of markdown/MDX pages to check. |
--project | Project root the paths are claims about. Defaults to the nearest project root. |
--assets | Where site-absolute image paths resolve. Defaults to ./public. |
lq doctor
Report on the manifest: template version, generated files, drift.
| flag | what it does |
|---|---|
--ci | Exit non-zero on errors (drift and warnings still do not fail) |
lq generate
Scaffold code that follows the conventions.
lq generate feature
Generate a vertical slice: schema, queries, actions, tests and RLS policy.
| flag | what it does |
|---|---|
<name> | Singular feature name, e.g. invoice |
--fields | e.g. "title:string, notes:text?, status:enum(draft,sent)" — types: string, text, int, bool, date, enum, uuid, email, money, ref; suffix ? for optional; money is minor units; ref(plural) is a foreign key to another feature |
--plural | Override the pluralisation |
--dry-run | Print what would be written |
lq manifest
Inspect and maintain .lq/manifest.json.
lq manifest prune
Drop manifest entries whose files no longer exist.
| flag | what it does |
|---|---|
--dry-run | List what would be dropped and write nothing. |
lq manifest sync
Record the current hash of every @lq-managed file. Maintainers only.
| flag | what it does |
|---|---|
--check | Report what would change and exit non-zero. Does not write. |
lq theme
List, switch and import theme presets.
lq theme import
Add a preset from a shadcnstudio/tweakcn CSS export (file or stdin).
| flag | what it does |
|---|---|
<name> | Name for the new preset (required) |
--from | Path to the exported CSS. Reads stdin when omitted. |
lq theme list
Show the presets this project has.
lq theme set
Switch the app to a preset (or default for none).
| flag | what it does |
|---|---|
<name> | Preset name (required) |
lq upgrade
Move this project onto a newer template release.
| flag | what it does |
|---|---|
--template | Path to an unpacked copy of the release to upgrade to. |
--channel | Fetch the release instead: "stable" or "dev". Needs a license key. |
--key | License key for --channel. Falls back to the LQ_LICENSE_KEY environment variable. |
--api-base | Override the license server for --channel (self-hosting). |
--dry-run | Show what would change and write nothing. |
--diff | Print a diff for every file left for you to merge. |