Agent onboarding
CLI context and manifest
Understand purvey context, purvey manifest, JSON versus text output, and how agents should onboard to the CLI contract.
purvey context and purvey manifest are related but not interchangeable. context is optimized for dense human or model-readable onboarding text. manifest is optimized for wrappers and code that want the machine-readable contract directly.
Both commands are unauthenticated and intentionally describe the CLI itself rather than fetching live user data.
Which command to use
| Command | Default output | Best for |
|---|---|---|
| purvey context | Dense human-readable text | Bootstrapping an agent or giving a human operator a compact reference |
| purvey context --json / --pretty | Machine-readable manifest JSON | Wrappers that want the manifest but still call context |
| purvey manifest | Compact JSON manifest | Scripts, SDK wrappers, and direct contract ingestion |
| purvey manifest --pretty | Indented JSON manifest | Debugging or inspecting the manifest manually |
Examples
- Neither context nor manifest supports --csv.
- context defaults to text, not JSON. That distinction matters for wrappers that assume every CLI command emits JSON by default.
- manifest always emits the machine-readable contract on stdout.
Text-first onboarding
purvey context
purvey context | head -50Machine-readable contract
purvey manifest
purvey manifest --pretty
purvey context --json > cli-manifest.jsonWhat the manifest contains
- Command groups, subcommands, summaries, examples, and auth requirements.
- Output-mode expectations, stderr/stdout notes, structured error-envelope guidance, and exit codes.
- ID-type reference for catalog_id, inventory_id, roast_id, and sale_id so agents do not confuse resource identifiers.
- Workflow examples and common error patterns that help agents recover without reverse-engineering implementation details.
Prefer the documented contract over internal route coupling
If an agent can solve the task with purvey or a direct @purveyors/cli import, prefer that path over binding to internal /api/tools/* or chat workspace payloads.