Metadata-Version: 2.4
Name: assertion-cli
Version: 0.5.11
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 install                           # one-time onboarding: write skill files, AGENTS.md/CLAUDE.md pointer, .gitignore
asrt session start                     # per work session: record the diff base (current HEAD)
asrt new                               # reset local run state for a fresh session
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

1. **Bump the version** in `cli/pyproject.toml`.
2. **Commit and push** to `main`.

That's it. The `Publish CLI to PyPI` workflow auto-triggers on pushes that
change `cli/pyproject.toml`. It reads the version from the file, runs tests,
builds, publishes to PyPI, and pushes a `cli-v<version>` tag.

If the version hasn't changed (e.g. you updated a dependency), the workflow
skips publishing — only version bumps trigger a publish.

You can also trigger the workflow manually from the GitHub Actions UI — it
reads the version from the current `pyproject.toml` on `main`.

**Prerequisite**: `PYPI_TOKEN` must be set as a GitHub Actions secret — a
PyPI API token with upload scope for `assertion-cli`.
