Skip to main content

Gnaww CLI

The Gnaww CLI is an API client, local input/output adapter and presentation surface for Gnaww print intelligence.

Recommended isolated installation:

pipx install gnaww-cli

Set your developer credential:

export GNAWW_API_KEY="<developer-api-key>"

The CLI uses https://api.gnaww.io by default.

Canonical commands​

The primary developer commands use the same vocabulary as the Gnaww API and developer documentation:

gnaww interpret
gnaww recipe get
gnaww recipe export
gnaww match
gnaww eat
gnaww devour
gnaww completion

interpret​

Interpret messy print intent through POST /v1/interpret. One input can return one or many independently producible Jobs in gnaww.interpretation_result v0.2:

gnaww interpret "500 A5 flyers and 50 embroidered navy T-shirts"

Human-readable output presents the returned intent kind, Job count, per-Job readiness and any shared or Job-scoped clarification. It does not decompose the source or manufacture question scope in the client.

Use --json when another system needs the public result without CLI presentation:

gnaww interpret "500 A5 flyers and 50 embroidered navy T-shirts" --json

The result value is the exact public API envelope, including intent, jobs[] and questions[]. Incomplete requirements remain unresolved rather than being guessed.

recipe get​

Retrieve and inspect one retained Recipe:

gnaww recipe get GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV

recipe export​

Retrieve or export one Recipe or a local result:

gnaww recipe export GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV --format json
gnaww recipe export result.json --format yaml

JSON and YAML export preserve the supplied public document. Export formatting is not a second interpretation or canonicalisation path.

match​

Run SpecMatch™ for one resolved Recipe against an explicit capability target:

gnaww match GNR-01ARZ3NDEKTSV4RRFFQ69G5FAV \
--quantity 500 \
--source demo_fixture \
--producer-profile-id arabica-line-printworks

The example producer is fictional and fixture-backed. Capability fit is not live price, current availability, producer acceptance, a quote or an order.

eat​

A higher-level convenience flow that interprets intent, resolves a Recipe only when exactly one returned Job is eligible and continues into SpecMatch only when the required capability target is supplied:

gnaww eat "500 A5 flyers on 170gsm silk"

If clarification is required or the interpretation contains multiple Jobs, the command stops safely. It does not select a Job on the caller's behalf.

devour​

Process a bounded batch from text, CSV or JSON:

gnaww devour requirements.csv

Each item is interpreted through the same public operation. Automatic Recipe resolution is limited to an item with exactly one eligible returned Job. Multi-Job results remain explicit for the caller.

completion​

Print shell completion for supported shells:

gnaww completion bash
gnaww completion zsh
gnaww completion fish

Compatibility aliases​

The first preview release used Gnaww's eating-language verbs as primary command names. They remain available for compatibility, but are no longer the primary developer vocabulary:

consume -> interpret
digest -> recipe get / local result inspection
crunch -> match
regurgitate -> recipe export / local result export

gnaww consume and gnaww interpret call the same server-owned interpretation boundary. The aliases do not implement a second interpretation, Job decomposition, Recipe or SpecMatch model.

Output and safety​

The CLI supports human-readable and JSON output, stable process exit codes and request or correlation identifiers returned by the Gnaww API.

Recipe ID identifies a canonical physical manufacturing definition. It is not an order number, customer identifier, producer selection, price or availability state.

Gnaww and SpecMatch™ intelligence remain server-side. The CLI does not reimplement them locally.