Metadata-Version: 2.4
Name: pywrit
Version: 0.1.0
Summary: Ask Writ before an agent writes — allow/deny gate with a tamper-evident audit log
Project-URL: Homepage, https://withwrit.com
Project-URL: Documentation, https://docs.withwrit.com
Keywords: agents,audit-log,authorization,api-keys
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Security
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# writ-cli (PyPI packaging)

Installable distribution of the Writ CLI. `pip install writ-cli` gives you the
`writ` command — no `curl` + `chmod` dance.

## Layout

- `pyproject.toml` — package metadata, `writ` console-script entry point
- `writ_cli/__init__.py` — version
- `writ_cli/cli.py` — the CLI itself (stdlib-only: argparse, json, urllib)

## Relationship to `gate/web/writ`

`gate/web/writ` is the **self-contained single-file script** served by the Lambda
at `/writ` (the `curl -fsSL ... -o writ` download path). It must stay a single
file with no install step.

`writ_cli/cli.py` is the **PyPI package source**. The two files are currently
byte-identical by copy. If you change CLI behavior, update **both** and keep
them in sync — the download path and the pip path must behave the same.

## Build & test locally

```bash
cd cli
python -m build                    # needs `pip install build`
pip install -e .                   # editable install, creates the `writ` command
writ --help
```

## Publish (needs Chad's approval + PyPI credentials)

```bash
cd cli
python -m build
twine upload dist/*
```

## Open decisions (before first publish)

1. **Distribution name**: `writ` is taken on PyPI. `pyproject.toml` uses
   `writ-cli` as a placeholder — Chad picks the final name.
2. **License**: the repo has no LICENSE file yet. Pick one (MIT recommended)
   and add `license = { text = "MIT" }` + trove classifier before publishing.
3. **Docs**: once published, update `fern/pages/quickstart.mdx` and
   `fern/pages/cli.mdx` to offer `pip install <name>` alongside the curl path
   (per the repo docs rule — every change ships with its docs).
