AGENTS.md: - Add command table covering all five commands - Expand input tolerance section with flag alias table - Add filtering/sorting, auto JSON, and structured error sections - Include canonical examples for compare README.md: - Expand compare command docs with ranking explanation and --count flag - Replace tui stub with full keybinding reference (tab, /, s, g, c, a, l, r, [/], 1-9, u/d, b/f, ?, q) - Add compare-specific flags section and sort alias note - Add category synonym table showing all bidirectional mappings - Add flag alias resolution table (zipcode->zip, dept->department, etc.) - Add compare JSON schema documenting all response fields Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.1 KiB
Agent CLI Notes
The pubcli CLI is intentionally tolerant of minor syntax mistakes when intent is clear.
Commands
| Command | Purpose | Requires |
|---|---|---|
pubcli |
Fetch deals | --store or --zip |
pubcli stores |
List nearby stores | --zip |
pubcli categories |
List categories with counts | --store or --zip |
pubcli compare |
Rank nearby stores by deal quality | --zip |
pubcli tui |
Interactive deal browser | --store or --zip, interactive terminal |
Input Tolerance
Accepted flexible forms include:
-zip 33101-> interpreted as--zip 33101zip=33101-> interpreted as--zip=33101--ziip 33101-> interpreted as--zip 33101categoriess-> interpreted ascategories
Flag aliases: zipcode/postal-code -> --zip, dept -> --department, search -> --query, sortby/orderby -> --sort, max -> --limit.
The CLI prints a note: line when it auto-corrects input. Use canonical syntax in future commands:
pubcli --zip 33101pubcli --store 1425 --bogopubcli categories --zip 33101pubcli stores --zip 33101 --jsonpubcli compare --zip 33101 --category producepubcli compare --zip 33101 --bogo --count 3 --json
Filtering and Sorting
Deal filter flags (--bogo, --category, --department, --query, --sort, --limit) are available on pubcli, compare, and tui.
Sort accepts: relevance (default), savings, ending. Aliases end, expiry, expiration map to ending.
Category synonyms: veggies -> produce, chicken -> meat, bread -> bakery, cheese -> dairy, cold cuts -> deli, etc.
Auto JSON
When stdout is not a TTY, JSON output is enabled automatically. This means piping to jq or another process produces JSON without requiring --json.
Errors
When intent is unclear, errors include a direct explanation and relevant examples. In JSON mode, errors are structured:
{"error":{"code":"INVALID_ARGS","message":"...","suggestions":["..."],"exitCode":2}}
Exit codes: 0 success, 1 not found, 2 invalid args, 3 upstream error, 4 internal error.