Build software with AI. Never lose the journey.
Git answers what changed. It has never answered what was asked.
As AI writes more of your code, that second history — the prompts, the
attempts, the reasoning, the things you rejected — is scattered across
tool-specific log files or thrown away. Chronicle keeps it: an append-only,
plain-text record of your AI-assisted development, inside your own repo,
that travels by git clone like everything else.
No account. No server. No network. It never calls a model.
$ chronicle why packages/core/src/prompts/prompts.ts
why packages/core/src/prompts/prompts.ts looks like this — 1 prompt(s):
2026-07-17 07:33 +65 −1 "histry not like that UI make like git tree view this is very basic"
⏪ chronicle restore evt_01KXQFWE3F8BCXD1MZ7K3HFNEXgit blame says you wrote those 65 lines. Chronicle says what you
asked for — and can put the code back to the moment before you asked.
🔍 chronicle why <file> |
The prompt behind each change — the question git blame can't answer |
⏪ chronicle restore <evt> |
Put your code back to how it was at any prompt. Always safety-checkpointed — nothing is lost |
chronicle replay <session> |
Step through what happened: prompts, responses, tools, commits, interleaved |
📚 chronicle prompt save --from-last |
Keep the prompt that worked. Versioned, diffable, shared by git |
🩺 chronicle doctor |
The trust anchor: log integrity, secret audit, and a proof that nothing leaves your machine |
Plus a VS Code extension: history in the sidebar, prompt version history as a git-style graph, and Why is this file like this? in the editor.
The captured journey becomes persistent project knowledge and development intelligence — all local, deterministic, and model-free (Chronicle never calls a model):
| 🧠 Project Memory | Decisions, constraints, known issues, failed approaches — derived from history, each traceable to its source. chronicle memory rebuild / list / verify |
| 🤝 AI Continuity | Any AI (Claude, Codex, Gemini, Cursor…) continues where the last stopped. chronicle bootstrap / project context / continue / handoff |
🛡 chronicle preflight "<task>" |
Before you code: risks, contradictions, previous attempts, a verdict |
⊘ chronicle why-not <file> |
Negative knowledge — what not to change, and why |
⚠ chronicle risk <file> |
An explainable risk score — every point a named signal |
✦ chronicle health · onboarding-test |
Project health · can a new AI understand this project? |
New here? → Quick Start · Why Chronicle? · Features
Requires Node ≥ 20.19 and git.
The CLI — on npm:
npm install -g gigai-chronicle
chronicle --helpThe editor extension (VS Code, Cursor, Windsurf) — grab the .vsix from
Releases →
Command Palette → Extensions: Install from VSIX…. (Marketplace and Open VSX
listings are rolling out.)
Or build from source
git clone https://github.com/cbsshekhawat18-lab/gigai-chronicle.git
cd gigai-chronicle
corepack pnpm install && corepack pnpm build
cd apps/cli && npm link # exposes `chronicle`cd your-git-repo
chronicle init # 3 questions, all skippable — or --yes
# starts live capture too (hooks merge into .claude/settings.json)That's it. Work normally. Every prompt is now recorded — and every prompt checkpoints your code, so you can always go back.
chronicle timeline # what happened
chronicle sessions # who/what did the work, with model badges
chronicle why src/auth.ts # what was ASKED that made this file
chronicle doctor # prove it's all local and intactAlready have history? Backfill it — idempotent, reads transcripts you already have on disk:
chronicle import claude-code| Command | Purpose |
|---|---|
chronicle init [--yes] [--metadata-only] [--private-sessions] |
Initialize. Prints its complete footprint — 4 paths, named |
chronicle why <file> [--limit n] [--evolution] |
What was asked that made this file (ADR-0013); --evolution shows how the ask sharpened |
chronicle diff [<evtA> <evtB>] |
The wording delta between two prompts you typed — no args = the last two |
chronicle knowledge [--type decision|todo] |
The decisions & TODOs buried in your sessions, surfaced with provenance (model-free) |
chronicle context <file> [--copy] |
Brief your AI tool — the prompts + decisions that shaped a file, as paste-ready Markdown |
chronicle restore <evt> [--force] |
⏪ Code time-travel to any prompt (ADR-0012) |
chronicle replay <session> [--at evt] |
Step through a session |
chronicle timeline [--since --until --branch --type…] |
The journey, filtered |
chronicle sessions [--provider --model] |
Sessions with provider/model badges |
chronicle prompt save|list|show|versions|diff|use|compare|revert |
The prompt library: save research for later or promote what you typed (--from-last), use any version, --note why it changed, revert without rewriting — with ● used / ○ saved status derived from real capture |
chronicle inspect <id|sha> |
The git show of Chronicle |
chronicle session privatize|promote <id> |
Move a session off the shared record, or back |
chronicle import <provider> |
Backfill from existing transcripts (claude-code, codex) |
chronicle hooks install|uninstall <provider> |
Live capture (merges, never clobbers) |
chronicle doctor [--reindex] [--scan-secrets] |
Integrity, secret audit, zero-egress proof |
chronicle log <message> |
Manual capture — the universal floor |
--json on every command ({"apiVersion":1,…}) — the machine contract.
Exit codes: 0 ok · 1 failure · 2 usage · 3 not a Chronicle project.
Your AI tool ──hooks──▶ Event Engine ──▶ .chronicle/ ──▶ Replay ──▶ CLI / VS Code
VALIDATE (JSONL, │
REDACT plain text, └─▶ why · restore
ENRICH in your repo)
NORMALIZE
- The store is a directory in your git repo. Files are the API; git is the transport. That one choice is why there is no infrastructure to run.
- The Event Engine is the only way in. Secrets are redacted before the first byte reaches disk.
- Checkpoints are git-native. Every prompt snapshots your tree into a
hidden ref (
refs/chronicle/ckpt/*) in your own object store — never touching HEAD, your branches, or your history. - The index is a disposable cache. Deleting
.chronicle/.cache/is always safe.
Deep dive: ARCHITECTURE.md.
Built for people who cannot send their prompts to a vendor.
- Zero network by default — and it proves it on demand:
$ chronicle doctor egress zero-network (no endpoints configured, telemetry: none)
- Never calls a model. Never phones home. Never stores your file contents.
- Secrets are redacted at capture, irreversibly, before anything is
written — including your own shapes via
capture.redaction.customPatterns. --metadata-onlyrecords event shapes and timings with no prompt text, for repos where the words themselves are sensitive.- Sessions can be born private (
--private-sessions) or moved off the shared record any time (chronicle session privatize). - Never scores developers. No leaderboards, no per-author metrics. Ever.
⚠️ Understand the default: your journey is shared — it commits with your repo and pushes with it. That's the point (a teammate clones and inherits the whole story), but it means your prompts are exactly as public as your repository. Read docs/privacy.md before pushing anything sensitive.
A teammate clones and immediately has the journey — no setup, no account:
$ chronicle replay ses_01KXQGDTFD0GSQ92AWZ1E9XPJN
[07:44] you one think, we give user only histry and version control system…
[09:40] you check now
[09:40] tool Bash → successPrompts saved to the library travel the same way — review them in a PR like any other file.
Honest limit: why and restore are local-only. Checkpoints live in
git refs that aren't pushed, so a fresh clone can replay the story but cannot
attribute lines. Replay is the team surface; why is your personal one.
| Doc | What it is |
|---|---|
| QUICKSTART.md | Up and running in 5 minutes |
| WHY-CHRONICLE.md | The problem, and how Chronicle is different |
| FEATURES.md | Every capability in plain English |
| COOKBOOK.md | Real-world recipes |
| GUIDE.md | The complete guide — what/why/how, install, workflows, FAQ |
| project-memory.md · ai-continuity.md | Project Memory & AI Continuity |
| development-intelligence.md · context-engine.md | Development Intelligence & the Context Engine |
| TROUBLESHOOTING.md | Symptom → cause → solution |
| ARCHITECTURE.md | The technical spec — pipeline, event model, store format |
| privacy.md | The privacy model, in full |
| CAPTURE-SURFACES.md | Every lawful capture mechanism, per tool, audited |
| DELIVERY-SURFACES.md | What we may write into another tool's territory |
| PROVIDERS.md | Provider capability matrix — honest about fidelity |
| ROADMAP.md | What's shipped, what's next (prompt evolution, the Dashboard) |
| SPEC-ROADMAP.md | The Chronicle Spec as an open standard |
| VISION.md | The OpenTelemetry-for-AI-development endgame |
| adr/ | Architecture Decision Records — every decision, and what it cost |
corepack pnpm install
corepack pnpm build # turbo: all packages
corepack pnpm test # every suite (network denied by the harness)
corepack pnpm typecheck
corepack pnpm lint # architecture boundary checks
corepack pnpm test:scripts # repo tooling + cold-start budgetContributions welcome — see CONTRIBUTING.md (DCO sign-off, conventional commits, tests with every PR). Security reports: SECURITY.md.
Local-first · plain text · zero network by default · never calls a model · never writes your git history · never scores developers · your data is yours.
Free and open. MIT for the code, CC-BY for the spec.