Metadata-Version: 2.4
Name: convex-project-cli
Version: 0.1.3
Summary: Generic CLI framework for a Convex deployment — branded config, spec-driven discovery, and the config/functions/describe/call commands.
Requires-Python: >=3.12
Requires-Dist: at-core>=0.4.0
Requires-Dist: convex-rpc==0.1.3
Requires-Dist: pyyaml>=6
Description-Content-Type: text/markdown

# convex-project-cli

Generic CLI framework for driving a Convex deployment's public API as a real user.
Supplies the reusable machinery a branded CLI needs:

- **`AppBranding`** — the data that names a CLI: display name, config filename, YAML
  top-key, env-var prefix, JWT-cache filename.
- **Multi-env YAML config** loading, parameterized by branding → a `convex_rpc.Config`.
- **On-disk JWT cache** (`FileTokenCache`) implementing the `convex_rpc.TokenCache` hook.
- **Output formatting** (at-core `OutputFormatter`, table / `--json`).
- **Generic commands** — `config`, `functions`, `describe`, `call` — spec-driven
  discovery + the call escape hatch, reading a bundled `spec.json` the host app supplies.
- **`ConvexCliApp`** — the extension API a host CLI (e.g. `plexus-cli`) builds on:
  pass branding, a spec loader, and host-specific commands; it assembles the argparse
  skeleton + dispatch.

A host app specializes this with its own branding, its own subcommands, and its own
bundled spec. Run standalone (`convex-project`) with just a spec + a branded YAML config.
