Skip to content
findplate

DocsCLI

CLI reference

Every flag of findplate create, and the mode for scripts and coding agents.

On this page
findplate create [dir] [options]

create is the default command, so findplate [dir] works too.

Flags

FlagDescription
[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-installskip pnpm install
--no-gitskip git init and the first commit
--no-agentsskip generating agent rules, see agents
--no-skillsskip installing the recommended public skills
--github, --no-githubcreate the GitHub repo, board and rules after the first commit, see GitHub setup. Asked when interactive
-y, --yesno prompts, use defaults
-h, --helpshow help
-v, --versionshow 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:

  1. the name, pitch and design preset
  2. a profile: Minimal, Standard, Everything or Custom
  3. 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
  4. a short "Keys you will need" note for the modules you kept, each key with the page to get it from
  5. 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
  • --name or [dir] is required with -y
  • without --profile or --modules, -y uses the standard profile
  • --modules wins 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

  1. validates the name and target
  2. copies the template, renames acme to your project, removes the modules you turned off
  3. replaces the theme tokens with the preset's theme.css
  4. writes .env with generated secrets and an admin password
  5. pnpm install, pnpm check, then git init with 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

CodeMeaning
0done, or you cancelled a prompt
1a step failed, or doctor found a failing check
2usage error, such as a missing --name without a terminal, an unknown preset, profile or module
3findplate add or findplate remove refused because the git tree has uncommitted changes, see add and doctor

Other commands

CommandWhat 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 doctorcheck env, database, tools, dns and deploys, see add and doctor
findplate updatethree-way merge of the newest template into your project, see updates
findplate githubrepo, board, labels, milestones and rules on GitHub, see GitHub
findplate provisionDokploy, S3, DNS, turbo cache and backups, see provision
findplate configper-user settings in ~/.config/findplate/config.json

Re-running findplate create in an unfinished project resumes it from .findplate/state.json.