Skip to content
Get Started

CLI overview

create-nodepress-app is the NodePress command-line tool. It creates new projects, upgrades them to newer releases, generates TypeScript types, syncs content models between sites, packs plugins and runs an MCP server for AI assistants. It has no dependencies and needs Node.js 18 or newer.

You don’t need to install it. npx downloads the latest version and runs it:

Terminal window
npx create-nodepress-app <command> [options]

Add -y (npx -y create-nodepress-app …) to skip npx’s “Ok to proceed?” prompt, for example in scripts and CI.

Command What it does Page
<project-name> [--docker] [--sentry] [--no-install] Creates a new project in ./<project-name> Create a project
upgrade [version] [--dry-run] [--from <version>] Updates a project’s code to a newer release Upgrade
generate:types [--out <path>] Writes TypeScript interfaces for your content types Generate types
schema:pull [--out <file>] Saves a site’s content model to nodepress.schema.json Schema sync
schema:diff [--file <file>] Shows what a push would change Schema sync
schema:push [--file <file>] [--yes] Applies the file’s content model to a site Schema sync
mcp Runs an MCP server so AI assistants can read and draft content MCP server
plugin keygen [--out <key.pem>] Creates an Ed25519 key for signing plugin packages Publishing plugins
plugin pack [dir] [--key <key.pem>] [--out <file.zip>] Zips (and signs) a built plugin for upload Publishing plugins
--version, -v Prints the CLI version
--help, -h Prints the command list

generate:types also answers to types and generate-types. The older form new <project-name> still creates a project.

Command Run it from
Create The folder that will contain the new project
upgrade The project’s root folder (the git repository with backend/ and frontend/)
generate:types The project’s root folder, with backend/.env pointing at the database
schema:*, mcp Anywhere: they talk to a running site over HTTP
plugin pack Your plugin’s folder, or pass the folder as dir
Variable Used by Meaning
NODEPRESS_URL schema:*, mcp The site’s backend URL, e.g. https://cms.example.com
NODEPRESS_TOKEN schema:* An API key with all access to every content type, or an admin JWT
NODEPRESS_API_KEY mcp, schema:* API key for the MCP server’s writes. schema:* uses it when NODEPRESS_TOKEN is unset
NODEPRESS_PLUGIN_KEY plugin pack Path to the signing key, instead of --key
NODEPRESS_REPO create Git URL (or local path) of the NodePress repository to clone instead of https://github.com/buildwithkode/nodepress.git, for a fork or for testing. The project records it, so later upgrades use it too
NO_COLOR schema:* Turns off colored output