HomeWork / Ledger Selected work

Project notes

Ledger

Repo-native change memory for humans and coding agents: durable implementation history that survives between sessions.

TypeScriptMITv0.3.1Pre-1.0

Repository snapshot

  • 113Commits
  • Jul 2026Updated in snapshot
  • MITLicense
  • Jun 2026Started
  • TypeScript 90.3%
  • JavaScript 9.7%

Overview

Ledger is an agent-first CLI and TypeScript library that keeps implementation history, backlog, durable decisions, release notes, verification records, invariants, docs impact, and merge-conflict guidance inside the repository. Git history tells you what happened; Ledger records what future maintainers and agents need before changing the code again. The source of truth is plain Markdown under .ledger/, with generated indexes, reports, and a single-file static reader, so the record stays useful to automation without depending on a hosted service.

Highlights

  • 01

    Agent-first by design

    Compact retrieval, MCP tools, and durable handoff packets so coding agents read and act on history instead of guessing from Git alone.

  • 02

    Change entries from the diff

    One command drafts a change record from git status: changed files, detected TypeScript and Markdown symbols, inferred areas, and a per-file conflict checklist.

  • 03

    Decisions and invariants

    Captures why a change exists and which invariants must survive future refactors, not only what shipped.

  • 04

    Docs impact and coverage

    Audits durable docs links, classifies docs, and fails CI when source changes ship without docs impact or Ledger coverage.

  • 05

    Conflict guidance

    Extracts conflict rules, invariants, and verification for a given path so merges preserve what matters.

  • 06

    Offline static reader

    Generates one self-contained HTML file: a searchable, faceted view of entries, decisions, backlog, releases, and raw Markdown source.

What you can run

CLI
init, new, validate, index, render, coverage, query, explain, packet, and conflict commands over the .ledger/ record.
MCP server
Exposes the change record as stdio MCP tools so coding agents can query and act on history.
TypeScript library
The same parsing, indexing, validation, and reporting primitives, usable programmatically.
Static reader
A generated offline HTML reader for humans and agents, with no hosted service required.

Documentation & getting started

Five minute start
git clone https://github.com/kylebegeman/ledger.git && cd ledger
npm ci && npm run build && npm link
cd /path/to/your-project
ledger init --with-docs
ledger new "Add provider reconnect guard" --from-diff --area runtime
ledger validate && ledger ci

Ledger is open source.

Browse the code and docs, or get in touch if you need a platform or developer tool built.