AppLedger keeps purpose, structure, decisions, and evidence in files a person or an agent can read. The record can be incomplete, disputed, or stale. It is a maintained ledger, not a claim of complete memory.

Text files · format 0.1.0 · open specification

ForgeTrail is one way to maintain that record during development. The xFacts labels stay the owners of their own declarations. AppLedger points at them. It does not replace their schemas.

The normative specification is the spec/ directory in the repository. The checker is appledger on npm. Start a ledger in an app folder with pnpm dlx appledger init --name "Your app name", then pnpm dlx appledger check.

A small example

The minimal ledger is synthetic. One decision in it says:

Use local files for initial scope.

The rationale is that the synthetic brief calls for a small offline tool. The rejected alternative is a hosted database. The record is labeled as a scenario, not as observed implementation.

In the docs

  • Quickstart for the smallest folder and an existing tracking file
  • Standard for the specification
  • Examples for the synthetic ledger and what a change looks like
  • ForgeTrail for the phase profile and migration
  • xFacts for what each adapter does and does not do
  • Reference for record kinds
  • Conformance for honest limits