findplate create [dir] [options]create is the default command, so findplate [dir] works too.
Flags
| Flag | Description |
|---|---|
[dir] | target directory. Also the project name when --name is not set |
--name <name> | project name. Becomes the package scope, titles and database name |
--pitch <text> | one-line pitch shown on the generated landing page |
--preset <id> | design preset, see presets. Default monochrome |
--profile <id> | minimal, standard or everything, see profiles. Default standard with -y |
--modules <a,b> | exact modules to include, see modules. Wins over --profile. Pass an empty value for none |
--no-install | skip pnpm install |
--no-git | skip git init and the first commit |
--no-agents | skip generating agent rules, see agents |
--no-skills | skip installing the recommended public skills |
--github, --no-github | create the GitHub repo, board and rules after the first commit, see GitHub setup. Asked when interactive |
-y, --yes | no prompts, use defaults |
-h, --help | show help |
-v, --version | show the version |
Project names are lowercase letters, digits and dashes, 3 to 40 characters. The target directory must be missing or empty.
Interactive mode
Without -y, in a terminal, the cli asks for:
- the name, pitch and design preset
- a profile: Minimal, Standard, Everything or Custom
- a checklist of modules grouped by purpose, pre-ticked from the profile. Space toggles one module or a whole group. A module that needs another one ticks it for you and says so
- a short "Keys you will need" note for the modules you kept, each key with the page to get it from
- the keys themselves, hidden as you type. Every one is optional
Keys you skip are listed under "Still to set in .env" when the cli finishes, and findplate doctor warns about them later. Ctrl+C at any prompt cancels without creating anything. Re-running create in an unfinished project resumes with the profile and modules you chose the first time.
Agent mode
Coding agents and scripts have no tty. Pass -y and everything you want as flags, and nothing is ever prompted:
bunx findplate create my-app \
--pitch "Invoices for freelancers" \
--preset monochrome \
--modules storage,ai,docs \
-y--nameor[dir]is required with-y- without
--profileor--modules,-yuses thestandardprofile --moduleswins when both are given--modules ""generates a project with no optional modules- unknown presets, profiles or modules fail with the list of valid ids
Add --no-install --no-git when the agent will run those steps itself.
What it does
- validates the name and target
- copies the template, renames
acmeto your project, removes the modules you turned off - replaces the theme tokens with the preset's
theme.css - writes
.envwith generated secrets and an admin password pnpm install,pnpm check, thengit initwith a first commit
Git
The first commit lands on your init.defaultBranch (or main when unset). The step is skipped, with a note, when git isn't installed or when the target already sits inside a git repository, so a project generated into a monorepo never commits to the outer repo. The GitHub step needs its own repo, so pass --no-github there.
Exit codes
| Code | Meaning |
|---|---|
0 | done, or you cancelled a prompt |
1 | a step failed, or doctor found a failing check |
2 | usage error, such as a missing --name without a terminal, an unknown preset, profile or module |
3 | findplate add or findplate remove refused because the git tree has uncommitted changes, see add and doctor |
Other commands
| Command | What it does |
|---|---|
findplate add <module...> | add modules to a generated project, see add and doctor |
findplate remove <module...> | remove modules from a generated project, see add and doctor |
findplate doctor | check env, database, tools, dns and deploys, see add and doctor |
findplate update | three-way merge of the newest template into your project, see updates |
findplate github | repo, board, labels, milestones and rules on GitHub, see GitHub |
findplate provision | Dokploy, S3, DNS, turbo cache and backups, see provision |
findplate config | per-user settings in ~/.config/findplate/config.json |
Re-running findplate create in an unfinished project resumes it from .findplate/state.json.