Metadata-Version: 2.4
Name: pyplines-cli-common
Version: 2026.9.3a1
Summary: Shared presentation and interaction contract for Pyplines command-line tools
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: typer<1,>=0.24
Requires-Dist: rich<15,>=13
Requires-Dist: PyYAML<7,>=6

# Pyplines CLI standard

`pyplines-cli-common` provides the shared Typer application boundary, safe
errors, and presentation used by the CLI and Builder. It has no Server dependency.

Human output is the default. `AUTOMATION_MODE=enabled` or `--json` selects
automation output: one JSON result on stdout, JSON errors and progress on stderr,
and no interactive prompts. Log-stream commands emit newline-delimited JSON.
Empty invocation and help show readable help and exit zero without credentials.
Redirecting stdout does not change the output format.

Exit codes: 0 success, 1 operation failure, 2 invalid usage, 130 interruption.
Unexpected exceptions never print arbitrary exception values; optional diagnostics
identify their type without leaking tokens or signed URLs.

The shared package follows the release's CalVer version and is published before
CLI and Builder. Configure its PyPI Trusted Publisher for repository
`pyplines/pyplines`, workflow `publish-release.yml`, environment `pypi`.
