Kedger
Local-first CLI for durable engineering memory and sealed session handoff.
Kedger ≠ MoDeX. MoDeX is a separate hackathon product. Kedger is its own OSS engine: hooks → CLI → Anchors → sealed packs (.kxp).
| Lock | Value |
|---|---|
| CLI | kedger |
| Private store | ~/.kedger/ |
| Repo policy | <repo>/.kedger/ |
| Packs | *.kxp |
| Schema | kedger.memory.v1 |
| Share mode | explicit_only |
Install
From PyPI (when published):
pip install kedger
From this repo (main):
pip install -e ".[dev]"
# or: pip install "git+https://github.com/gaganTakIITD/kedger.git"
Requires Python 3.11+.
Quick start (smoke)
kedger keys init --name me
kedger remember reject "Do not use cookie sessions" --reason "CSRF"
kedger cognify --force
kedger handoff
kedger hydrate --live
kedger why <anchor_id>
kedger doctor
IDE hooks (Cursor / Claude Code)
This repo dogfoods Kedger via committed project hooks:
- Cursor:
.cursor/hooks.json→hooks/cursor/ - Claude Code:
.claude/settings.json→hooks/claude_code/
Install or refresh packs in another repo:
./hooks/install.sh both # writes .cursor/hooks.json + .claude settings fragment
Adapters call kedger hook --source cursor|claude_code with stdin JSON. Core never imports IDE types. Session start returns authorized hydrate context (additional_context / hookSpecificOutput.additionalContext).
CLI
| Command | Behavior |
|---|---|
kedger keys init|show|export-recipient |
Ed25519 + X25519 principal under ~/.kedger/keys/ |
kedger remember / forget |
Anchors; forget via SUPERSEDES |
kedger status / doctor |
Fingerprint, counts, health |
kedger ingest --from-hook |
L0 observation (redact-before-persist) |
kedger handoff / hydrate |
Seal .kxp / authorized open or --live rank |
kedger grant / revoke |
Workstream capability; revoke auto-reseals |
kedger share / unshare / anchors |
Explicit share ladder; Inv-Scope 404 |
kedger cognify / promote / why |
Episodes, promotion, provenance |
kedger hook |
IDE adapter entrypoint (Cursor / Claude Code) |
Override home with KEDGER_HOME (tests).
Docs
- Constitution:
docs/OPEN_SOURCE_MEMORY_ARCHITECTURE.md(§0A) - Status:
docs/IMPLEMENTATION_STATUS.md - Publish / PyPI:
docs/PUBLISH.md - Phase F (deferred):
docs/PHASE_F_DEFERRED.md
Tests
pytest -q
License
Apache-2.0
Metadata
Release files for kedger 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 | |
|---|---|---|---|
| kedger-0.1.0.tar.gz | 284.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kedger-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 352.2 kB
Release files / kedger-0.1.0.tar.gz
| Download URL | kedger-0.1.0.tar.gz |
|---|---|
| Size | 284.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ea7a83990631100b9c3501ae983837d90644ec6a38d10e001a1bc545cbdeab9
|
|
BLAKE2b-256 checksum How to use checksums |
fde7c27e3cca6d1b4ca10883691b21bf54d3ffc01e0128cefea9fcc6d1dac884
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / kedger-0.1.0-py3-none-any.whl
| Download URL | kedger-0.1.0-py3-none-any.whl |
|---|---|
| Size | 67.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a983c1dcf16a93b5c9ebcd0c0a0994fe251900408fc183494227fb610822f5c
|
|
BLAKE2b-256 checksum How to use checksums |
3240d109c2586841663b8f2f7555b0a422d27d1cbca512c45231058a6016ee13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|