Skip to content

CLI reference

The exhaustive index of the suya command surface. Each group below links to its own page under /cli/* for prose, examples, and flag detail.

Every command accepts:

Flag Meaning
--host API endpoint (default https://subaya-dev.com)
--token Auth token, highest-precedence credential
--json Machine-readable JSON output
--pretty Human-formatted output
-q, --quiet Suppress non-essential output
-v, --verbose Extra diagnostic output

Authentication for agents and CI uses the SUBAYA_API_KEY environment variable — see Authentication & API keys. A local project config at .subaya/config.toml holds the project id, so most commands default --project from it.

See CLI: auth.

Terminal window
suya auth login [--no-browser] # OAuth (loopback, falling back to the device flow)
suya auth logout # log out and revoke the local token
suya auth status # local auth status, no server call
suya auth whoami # call the API and print the resolved identity

See CLI: project.

Terminal window
suya project create --name <n> --workspace <id> --type <fpga|embedded> [--slug <s>] [--device <id>]
suya project init # alias of create
suya project list --workspace <id>
suya project phase # get or set the current project phase
suya project show # defaults to the .subaya/config.toml project

See CLI: repo.

Terminal window
suya repo create --installation <id> [--name <n>] [--project <id>]
suya repo connect --installation <id> --owner <o> --repo <r> [--project <id>]
suya repo status # connected repo + config state

See CLI: sim.

Terminal window
suya sim run --tb <path> --top <module> [--project <id>] [--source <dir>] \
[--tool ryusim|verilator|icarus|questa|renode] [--tier S] \
[--wait] [--no-cache] [--arg <a>]...
suya sim list # recent runs
suya sim report <run-id> # status + results summary
suya sim logs <run-id> [--follow]
suya sim rerun <run-id> [--wait]
suya sim wave <run-id> # locate the waveform artifact (hand off to wf)

Hardware validation via BitCrucible. See CLI: hw.

Terminal window
suya hw agent register --name <n>
suya hw agent list
suya hw agent revoke <id>
suya hw agent run
suya hw run --target <t> [--test-plan <file>]
suya hw history [--project <id>] [--limit N]

Retrieval and knowledge search. See CLI: rag.

Terminal window
suya rag search <query> [--scope curated|project:42]... [--top-k N] [--semantic-only]
suya rag read <chunk-id> # full body of a curated chunk
suya rag status # per-scope chunk counts + last ingest timestamp

Planning artifacts. See CLI: plan.

Terminal window
suya plan docs list
suya plan docs show <id>
suya plan docs approve <id> [--section <s>]
suya plan items list
suya plan items show <id> # work-item tree
suya plan diagrams ...
suya plan session # prints how to open a planner session (suya attach)

Architecture and embedded pin planning. See CLI: arch.

Terminal window
suya arch module add --name <n> [--project <id>] [--kind <k>] [--description <d>] [--parent <pid>]
suya arch module list --project <id>
suya arch pin-plan create (--mcu <part> | --board <name>) [--project <id>] [--name <n>]
suya arch pin-plan list --project <id>
suya arch pin-plan show --plan <pid>
suya arch pin-plan review-doc --plan <pid>
suya arch pin-plan rm --plan <pid> # delete the plan + its pins/peripherals/clocks
suya arch pin set --plan <pid> --pin <PA5> --signal <USART2_TX> [--af --mode --label]
suya arch pin rm --plan <pid> --pin <PA5> # free a pin
suya arch peripheral configure --plan <pid> --peripheral <USART2> [--mode --params <json>]
suya arch peripheral rm --plan <pid> --peripheral <USART2>
suya arch clock set --plan <pid> ... # clock-tree node intent
suya arch clock rm --plan <pid> --node <SYSCLK>
suya arch validate --plan <pid> # structural validate (headless CubeMX authoritative)
suya arch generate --plan <pid> [--wait] # enqueue a headless CubeMX run; --wait polls + prints the resolved .ioc
suya arch generate-status --run <id> # poll a generate run and print its resolved .ioc
suya arch ioc commit # generate the plan's .ioc and commit to connected repo

Requirements. Every requirement has a stable, project-scoped REQ-N key (assigned at insert, never reused). See CLI: req.

Terminal window
suya req add --title <t> [--parent REQ-N] # add a requirement
suya req list [filters] [--pretty|--tree] # list (see filters below)
suya req show REQ-N # show one requirement
suya req update REQ-N --status deferred # edit fields (>=1 required)
suya req rm REQ-N [--yes] # hard delete (confirm + reference warning)
suya req tag REQ-N --add console --rm old # cross-cutting tags
suya req link REQ-N --to work_item:42 --to test:tests/boot.rs::cold_boot
suya req coverage [--untested] # leaf reqs with no linked test (CI gate)
suya req import --file specs.yaml # bulk upsert on key
suya req export --format yaml|csv|md # round-trip for review-by-diff
suya req baseline list | diff [<id>|latest] # snapshot at approval vs drift

list filters compose (AND): --category, --priority (repeatable), --status (repeatable), --tag (repeatable), --parent REQ-N [--recursive], --search, --sort key|priority|status|created, --limit/--offset. JSON is the default off a TTY; --pretty renders a table, --tree the hierarchy.

suya spec is a deprecated alias of suya req — same commands, with a one-line deprecation notice on stderr.

Code and design reviews. See CLI: review.

Terminal window
suya review create|show|list|comment|comments|reply|resolve|approve|request|reopen|close|rounds|diff

Mermaid diagrams, rendered via mmdc to SVG/PNG. See CLI: diagram.

Terminal window
suya diagram create|update|show|list|export|render|delete

Device catalog. See CLI: device.

Terminal window
suya device search [--type fpga|embedded]
suya device show <id>
suya device set <id> # assign a device to a project

Attach to and release your session pod. See CLI: session.

Terminal window
suya attach [--console|--no-console] # attach to your session pod (reconnects)
suya detach # release the session pod for reaping

Top-level housekeeping commands. See CLI: maintenance.

Terminal window
suya version # version metadata
suya update [--check] # upgrade to the latest release
suya install [--skills] [--path <p>] [--force] # install Subaya integrations
suya completion <shell> # shell autocompletion