Craft

Installing the Craft CLI

Install craft, sign in, and pull a project down to your machine. If you have never used a command line before, start at the top — the steps below assume nothing.

Install Node.js

The CLI runs on Node.js, so that goes on first. Download the LTS installer from nodejs.org, open it, and accept the defaults. It works the same on macOS and Windows, and no command line is involved.

Already have Node? Check the version — anything below 20 needs an update:

node --version

Open your terminal

Every command on this page is typed into a terminal window, one line at a time, pressing Return after each.

Press Command + Space to open Spotlight, type Terminal, and press Return. The app also lives in Applications → Utilities.

Press the Windows key, type PowerShell, and press Enter. Windows Terminal works too, if you have it.

You will get a window with a blinking cursor. Nothing here can break your computer — every command below only touches Craft projects and the CLI itself.

Install the CLI

npm install -g @craftrpgs/cli

Confirm it landed:

craft --version

A version number means you are ready.

The install didn't work

"command not found: craft" — the terminal was open before Node was installed, so it hasn't picked up the new command yet. Close the window, open a new one, and run craft --version again.

"command not found: npm" — Node didn't install, or installed somewhere the terminal can't see. Run node --version to confirm, and re-run the installer from nodejs.org if it comes back empty.

A wall of permission errors — npm is trying to write to a folder your account doesn't own. On macOS, avoid sudo npm install; install Node with the official installer (not Homebrew's system Node) and try again.

Sign in

craft login

This opens your browser to sign in; credentials are stored locally on your machine and refreshed automatically. Auth is OAuth-only — there are no pasteable personal access tokens. Any Craft account can use the CLI.

Your first sync

List the projects you own and copy the id of the one you want:

craft projects

Download it — a project URL from the app works in place of the id:

craft clone <projectId>

Move into the folder the clone just created:

cd <project-folder>

The project is now files in folders. Markdown file types are plain markdown with YAML frontmatter; typed records are JSON files named like Aragorn.character.json, in real directories that mirror the project's folders. The clone also includes the .craft/ folder (sync state — leave it alone) and generated AGENTS.md/CLAUDE.md instructions, so a coding agent opened in the folder immediately knows how to work with the project.

Edit whatever you like with any editor, then see what changed:

craft status

Send it back:

craft push -m "message"

Pushes are all-or-nothing by default: if any file fails validation, the whole batch is rejected with exact field errors, and nothing on the server changes.

Next