Skip to content
PuniDocs
Open Puni

Command line


Every command group in puni, the flags they share, how remote commands name their origin, and where the exit codes are.

The command line is a preview for Puni's own team. It builds from Puni's private repository and is not published to npm, so you can run it only with access to that repository. An agent reaches your library without it through Connect Puni.

puni prints a readable answer by default. With --json, commands return one JSON envelope except agent serve, which streams lifecycle records before its final envelope. Start with the Quickstart if this is your first session, or Setup for requirements, credentials and exit codes.

#Find a command

bash
puni --help
GroupReference
Local scenesscene, checkpoint, interface, studies, contract
Drawing and makingrender, renderer, sculpt
Your libraryauth, project, search, runtime
Agentsagent
Monomono

#Common flags

text
puni project list --base-url https://puni.design
puni project list --base-url https://puni.design --json

--json gives one { "data", "meta" } object on success or one { "error" } object on failure. agent serve --json is the exception: parse stdout one line at a time as NDJSON, with raw lifecycle records followed by the final envelope. See Agent commands. --help prints the whole command list. File inputs accept - for standard input, once per command.

#Remote commands

Every command that talks to your library takes --base-url https://puni.design. Writes name the revision they expect with --revision N and are refused if the library moved on. Tokens come from puni auth login, PUNI_AUTH_TOKEN, or --auth-file.

#Files

Commands that write a file take --output. Replacing an existing file needs --overwrite. Writes are prepared and checked before the file is published, so a failure never leaves a half-written scene.

Read Setup for the exit codes.

Was this useful?