edify
A lean Claude Code toolkit in one tree: a Python CLI
(edify-cli) for working with session data, tokens, and markdown, plus a Claude
Code plugin (plugin/) that ships skills and agents built around a requirements
→ design → runbook → build planning pipeline.
Direction: Lean-assisted (formal-proof-backed) requirements tracking.
Install
uv tool install edify-cli
Requires Python 3.14+ and uv. To work from source instead, clone the repo and
run uv tool install . in it.
CLI (edify-cli)
Source in src/edify/. Six commands in four groups:
- Session scraping —
edify list,edify extract <prefix>,edify collect. Parse the JSONL under~/.claude/projects/to pull your own messages back out, per session or across all of them. - Token counting —
edify tokens FILE.... Count tokens via the Anthropic API (needsANTHROPIC_API_KEY); thehaiku/sonnet/opusaliases resolve to the latest model. - Markdown postprocessing —
edify markdown. Reads file paths from stdin and fixes structural issues formatters can't, in place. Pair with dprint for formatting. - Contract checking —
edify check <target>. Verify a Python function against its icontract contract with CrossHair.
Plugin
The plugin/ directory is a Claude Code plugin — a plain subdirectory of this
repo (previously a git submodule). It ships skills and agents invoked as slash
commands, in two groups:
- Pipeline —
/requirements→/design→/runbook→/build(or/design→/buildfor work that needs no runbook), with/reviewas the in-progress quality gate. - Standalone —
/proof,/deliverable-review,/ground,/formalize(Python only: icontract contracts checked with CrossHair),/recall.
Plus the agents the pipeline dispatches. See
plugin/README.md.
Development
just dev # format + check + test
just test # tests only
just check # lint + type check
just precommit # all checks (CI equivalent)
Python 3.14+ with mypy strict types, pytest for tests, ruff for linting,
uv for dependencies, and just for tasks. Design is recorded in
docs/design.md.
License
MIT
Metadata
Release files for edify-cli 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edify_cli-0.3.0.tar.gz | 1.4 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edify_cli-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.5 MB
Release files / edify_cli-0.3.0.tar.gz
| Download URL | edify_cli-0.3.0.tar.gz |
|---|---|
| Size | 1.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c8fc55cc53bc2faed080aaeff0371382b3f776cb319fcbb7971f2184399c7d3
|
|
BLAKE2b-256 checksum How to use checksums |
041154d45f644bfd710a99493d7e16a48ee67a679c0a98bad7cb03597ae90a77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / edify_cli-0.3.0-py3-none-any.whl
| Download URL | edify_cli-0.3.0-py3-none-any.whl |
|---|---|
| Size | 30.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b70217453490686963e6980fb9227017149de262f8ec7563248818b29f0989d9
|
|
BLAKE2b-256 checksum How to use checksums |
dd463f2ee2667dc5132c4db09e54e544891bec61657ffcadf9fcc51d9979ca54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|