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 a handful of framework-agnostic
skills.
Direction: Lean-assisted (formal-proof-backed) requirements tracking.
Install
Not yet published to PyPI. Install the CLI from source:
git clone https://github.com/ddaanet/edify
cd edify
uv tool install .
Requires Python 3.14+ and uv.
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 framework-agnostic skills invoked
as slash commands: /requirements, /proof, /deliverable-review,
/ground, /formalize. 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.1.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.1.0.tar.gz | 1.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| edify_cli-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.1 MB
Release files / edify_cli-0.1.0.tar.gz
| Download URL | edify_cli-0.1.0.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8dccaf46c18250345afd412d985425071230068ce48ce613c471fefe8977def3
|
|
BLAKE2b-256 checksum How to use checksums |
095c81d3375d253272837391e58a82f4c8e2e2d286ecdc0df88939d0820ae7e1
|
| 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.1.0-py3-none-any.whl
| Download URL | edify_cli-0.1.0-py3-none-any.whl |
|---|---|
| Size | 30.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
369ab52543110b700cdfa663321089acb3a0b022fdb4c267730824018b3f2a96
|
|
BLAKE2b-256 checksum How to use checksums |
228f6d25cf53b287a9d6323d2838f2f12f3e83b29253da43e90ca3fae09f1e39
|
| 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}
|