Kedger is a local-first engineering memory CLI for coding agents.
It turns messy IDE sessions into durable memory you can hand to the next agent — on your machine or a teammate’s.
The idea
Coding agents forget. Context compacts away. Teammates restart cold.
- Session — Cursor / Claude hooks ingest turns (redacted) into a local store
- Memory — cognify promotes durable Anchors (constraints, rejections, decisions) plus an ops layer (files,
+/-, tool fails) - Pack — seal a
.kxp(optional zlib transcript for lossless restore) - Next — your next chat, or a teammate’s agent, hydrates and continues
No cloud sync required. Keys and store stay under ~/.kedger/ unless you explicitly send a pack.
Install (60 seconds)
cd /path/to/your-app
pip install "kedger>=0.1.1"
kedger init --name alice
init writes keys, .kedger/ policy, and IDE hook packs into this repo (Cursor + Claude). Trust the workspace / merge Claude settings once, then start a new chat.
Tip is
0.1.1. If PyPI still only has0.1.0:
pip install "kedger @ git+https://github.com/gaganTakIITD/kedger.git@main"
CLI (theme listing)
kedger doctor # health + product locks
kedger remember reject "…" # durable policy Anchor
kedger cognify --force --promote
kedger hydrate --live # what the next agent will see
Two people, two agents
Alice Bob
───── ───
kedger init --name alice kedger init --name bob
…agent works… kedger peer card --out bob.kedger.json
◄──── send card (public keys only)
kedger peer send --to bob.kedger.json --out-dir ./xfer
────── send ./xfer/*.kxp ─────────────────►
kedger peer open hf_….kxp
kedger hydrate --live
→ new IDE chat
Same person / new machine: pack-export → hydrate --pack (no peer card).
Product locks
| Lock | Value |
|---|---|
| CLI | kedger |
| Version tip | 0.1.1 |
| Store | ~/.kedger/ |
| Repo policy | <repo>/.kedger/ |
| Packs | *.kxp |
| Schema | kedger.memory.v1 |
| Share mode | explicit_only |
Scope
Shipped: IDE hooks, deterministic claim extract, dual-layer handoff, zlib transcript, sealed packs, peer card/send/open.
Not yet (Phase F): LLM distill every turn, sync service, MCP, at-rest DB encryption — docs/PHASE_F_DEFERRED.md.
Contributing
CONTRIBUTING.md·CODE_OF_CONDUCT.md·SECURITY.md- Publish / GitHub About:
docs/PUBLISH.md - Architecture:
docs/OPEN_SOURCE_MEMORY_ARCHITECTURE.md - Brand assets:
python3 scripts/render_brand_assets.py
pip install -e ".[dev]"
pytest -q
./scripts/smoke_transfer.sh && ./scripts/smoke_wheel_install.sh && ./scripts/smoke_peer_handoff.sh
License
Apache-2.0 — LICENSE.
Metadata
Release files for kedger 0.1.1
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.1.tar.gz | 700.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kedger-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 805.2 kB
Release files / kedger-0.1.1.tar.gz
| Download URL | kedger-0.1.1.tar.gz |
|---|---|
| Size | 700.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2486cb048feb27a5469597bfddc29d67249d0e1af0f7ba99790e2887df24bfdb
|
|
BLAKE2b-256 checksum How to use checksums |
c9ddcbf89208dd2f19828e8132697911b2302978e7bab7632c28bd50ac47506f
|
| 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.1-py3-none-any.whl
| Download URL | kedger-0.1.1-py3-none-any.whl |
|---|---|
| Size | 104.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae53ebb4eb6391a1ee1defaa7c223ceb1d947ddd8c01da106be45f0a2fcdcbbe
|
|
BLAKE2b-256 checksum How to use checksums |
4e22c5092da0fef2279dafaaec7838501f7066db87c684ffbd87598fcf18d2f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|