Skip to content
Nuni
Esc
↑↓navigate↵open⌘Jpreview
On this page

CLI

The Nuni CLI sets Nuni up in a project, and lets you and your agents read, reply to and resolve comments.

Set up

npx @nuniapp/cli@latest init [--id <project-id>] [--cwd <dir>]   # project ID + install steps for this framework
npx @nuniapp/cli@latest prompt [--id <project-id>]               # the ready-made agent prompt
npx @nuniapp/cli@latest id                                       # just a new project ID

init never edits your files. It detects Next.js (App and Pages Router), React with Vite, React Router and Remix, TanStack Start, Gatsby, Vue, Nuxt, Svelte, SvelteKit, Astro, Angular and plain HTML, plus npm, pnpm, yarn and bun. Pass --id nuni_... to reuse an existing ID.

Comments

npx @nuniapp/cli@latest login                                    # approve this terminal in the dashboard
npx @nuniapp/cli@latest whoami                                   # who you are signed in as
npx @nuniapp/cli@latest comments [--status open|resolved] [--page /path] [--limit 20] [--search "words"] [--group page|element]
npx @nuniapp/cli@latest pages                                    # pages with open comments
npx @nuniapp/cli@latest comment <id> [--save-screenshot <dir>]
npx @nuniapp/cli@latest reply <id> "message"
npx @nuniapp/cli@latest resolve <id...> [--note "what changed"]
npx @nuniapp/cli@latest reopen <id...> [--note "what changed"]
npx @nuniapp/cli@latest logout
npx @nuniapp/cli@latest mcp                                      # MCP server on stdio

npx @nuniapp/cli@latest help lists these, and npx @nuniapp/cli@latest help <command> shows one.

These commands work on one project: --project nuni_..., then $NUNI_PROJECT, then the nuni_ ID found in your code. $NUNI_TOKEN overrides the saved session, for CI. See Coding agents for the MCP setup.

JSON output

Add --json to any command for machine-readable output on stdout. A few shapes:

Command --json output
id { "projectId": "nuni_..." }
prompt { "projectId": "nuni_...", "prompt": "..." }
resolve <id...> { "resolved": [ids], "failed": [{ "id", "code", "error" }] }
reopen <id...> { "reopened": [ids], "failed": [{ "id", "code", "error" }] }
logout { "project": "nuni_...", "signedOut": true or false }
--version, -v { "version": "..." }
help { "commands": [{ "name", "usage", "summary" }] }

resolve and reopen take any number of ids and report each one that failed instead of stopping. With --json, an error goes to stderr as { "error": { "code": "...", "message": "..." } }, and the exit code is not 0.

Last updated on

Was this page helpful?