Metadata-Version: 2.4
Name: assertion-cli
Version: 0.5.0
Summary: CLI for the Assertion API
Requires-Python: >=3.13
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.12.5
Requires-Dist: python-dotenv>=1.0
Requires-Dist: typer>=0.24.1
Provides-Extra: test
Requires-Dist: pytest>=8.0; extra == "test"
Requires-Dist: respx>=0.22; extra == "test"

# Assertion CLI

CLI for the Assertion API.

## Usage

The CLI currently targets a local backend at `http://localhost:8000`.

Run locally from the workspace:

```bash
uv run --package assertion-cli asrt --help
```

Install as a `uv` tool from PyPI:

```bash
uv tool install assertion-cli              # latest
uv tool install --reinstall assertion-cli  # upgrade in place
```

The CLI package declares all of its direct runtime dependencies. At the moment
that set is `httpx`, `pydantic`, `python-dotenv`, and `typer`.

After installation:

```bash
asrt stacks
asrt checkpoint --stack <stack-id> "Implemented X\nUpdated Y"
asrt checkpoint --continue "Implemented Y"
asrt decision --yes <checkpoint-id>   # optional, only after a failed checkpoint
asrt verify                            # submit final verification (non-blocking)
asrt verify-status                     # one-shot poll; loop with your own sleep until terminal
```

## Publishing a new version

```bash
# 1. Bump the version in cli/pyproject.toml.
# 2. Build the sdist + wheel.
uv build --package assertion-cli
# 3. Upload (requires UV_PUBLISH_TOKEN, or `--token` on the command).
uv publish dist/*
# 4. Tag the release so consumers can correlate to git:
git tag cli-v$(grep '^version = ' pyproject.toml | head -1 | cut -d'"' -f2)
git push origin --tags
```
