inkly <command>. Run inkly help for the full list, or inkly <command> --help for one command’s usage. inkly version and inkly --version print the CLI version.
Capture and publishing commands are summarized here. For task guides, see Agentic capture, Publish a demo, and Sync assets.
inkly init
Scaffold a new hub directory.
<name>is the folder name for the new hub. It must be a valid slug, and the command refuses to overwrite an existing directory.--layout <layout>writes a hub-index layout toinkly.json. One ofsidebarortabs.
README.md, CLAUDE.md, .gitignore, inkly.json, and a starter demo at demos/getting-started/demo.config.json.
inkly add
Add or import a demo in the current hub.
<name>is the folder name (slug) for the new demo. The command assigns the demo a stable id insidedemo.config.json.--from <dir>imports an existing demo folder, such as aninkly capture stopexport. The source folder must containdemo.config.json.--collection <name>adds the demo to that collection ininkly.json, creating the collection if it does not exist.
- The command walks upward from the current directory to find
inkly.json. It fails if you are not inside a hub. - It validates the slug before writing and refuses to overwrite an existing demo folder.
- A scaffolded demo joins no collection unless you pass
--collection. - An imported demo keeps its existing id when valid, copies
assets.json,public/, andsnapshots/, and joins the hub’s only collection automatically when the hub has exactly one collection.
inkly demo
Alias of inkly add. Same arguments and behavior.
inkly dev
Start the local preview server for a hub or an exported demo folder.
<path>can be a hub root or a bare demo folder that containsdemo.config.json. It defaults to the current directory.--port <n>(alias-p) sets the preferred port. The default is3000; if that port is taken, the CLI tries the next available port. Must be an integer from 1 to 65535.
inkly.json, demo config files, and asset files. When you pass a bare demo folder, the CLI wraps it in a temporary hub for preview. Press Ctrl+C to stop it. See Preview locally.
inkly validate
Validate the hub and every demo file.
--jsonprints a machine-readable result.--stricttreats warnings as failures.
asset: references against assets.json, duplicate demo ids, and collection references. It exits non-zero when there are errors (or, with --strict, any warnings). Each issue prints as ERROR <file>: <message> or WARNING <file>: <message>.
inkly lock
Generate or verify inkly.lock.
--checkverifies thatinkly.lockmatches the runtime manifest without changing files. It exits non-zero on drift.--local <path>sources the runtime manifest from a localmanifest.json,dist/directory, or runtime package root.--jsonprints machine-readable output.
inkly lock --check in CI when you want runtime drift to fail the build.
inkly status
Show local auth and hub status.
inkly login
Connect the CLI to the hosted Inkly app.
--no-openprints the grant URL instead of opening a browser.--token <token>saves an existing API token directly, skipping the browser flow. Useful for automation.
inkly login opens a browser, completes a pairing exchange, and writes the resulting token to the CLI config file. The platform origin is fixed on the command line.
inkly logout
Remove saved platform credentials.
inkly doctor
Run local diagnostics.
inkly version
Print the CLI version.
inkly update
Update the globally installed CLI.
--dry-runprints the install command without running it.
@inkly-org/cli@latest.
Capture and publishing commands
These commands are summarized here. See the task pages for goal-specific workflows.inkly capture <command>— capture an image or video walkthrough for an agent. See Agentic capture.inkly capture-html <command>— capture a self-contained HTML walkthrough. See Agentic capture.inkly sync [--demo <slug>] [--dry-run] [--json]— upload local capture blobs to Inkly storage as an optional repo cleanup step. See Sync assets.inkly snapshot <demo-path> [--demo <slug>] [--json]— publish a standalone demo at a/p/<id>URL. See Publish a demo.inkly lock [--check] [--local <path>] [--json]— generate or verifyinkly.lock, pinning the runtime version.inkly skills install— install or refresh the Inkly CLI skill for local agents. See Skills for agents.
Troubleshooting
Invalid demo config
inkly dev skips a demo whose demo.config.json is not valid JSON or fails validation. The rest of the hub still renders. To see every problem at once and fail on errors, run inkly validate. An invalid inkly.json stops the dev server from starting.
Not inside a hub
inkly add, inkly sync, and inkly lock must run inside a hub. They walk upward from the current directory looking for inkly.json. If none is found, run inkly init <name> first, or cd into a directory that contains inkly.json.
inkly dev and inkly snapshot can also accept a bare exported demo folder that contains demo.config.json.
