● Local-first  ·  No cloud  ·  Open source

Know how your project
became what it is.

Chronicle records Git commits and Django migrations into a local timeline, turns that history into findings, and lets you ask questions about it with AI — all stored on your machine.

Python 3.10+ · works in any Git repository

chronicle — developer intelligence
$ chronicle init
✦ Initializing Chronicle...
✓ Project detected
✓ Local database initialized
Chronicle is ready.
 
$ chronicle scan
…
Collected 24 observation(s).
Stored 24 new observation(s)
 
$ chronicle analyze
Generating finding: RemoveField ...
Analyzed and stored 3 findings.
 
$ chronicle interpret --question "When did we add the User model?"
→ The User model was introduced in migration 0002_userprofile, added by commit 9f8d3a1.
$
How it works

From raw history to answers

Chronicle reads your project, records what changes, and lets you ask questions about the result — in three steps.

STEP 01 · SCAN

Collect observations

Scans Git commits and Django migrations into structured, deduplicated records stored in a local SQLite database.

STEP 02 · ANALYZE

Turn history into findings

Analyzers flag interesting signals: newly created files, added or removed database fields, and more.

STEP 03 · INTERPRET

Ask with AI

Ask plain-language questions; Chronicle feeds the most relevant findings and commits to OpenAI or Gemini.

Get started

Setup in minutes

Clone, install, and point Chronicle at any Git repository.

01

Clone & install

Grab the repository and install the CLI in editable mode.

# clone
git clone https://github.com/Sakshyam-Xtha/Chronicle.git
cd Chronicle

# install (includes the `chronicle` command)
pip install -e ".[dev]"
02

Initialize

Run init inside any Git project to create .chronicle/ and the local database.

cd /path/to/your/project
chronicle init
# ✓ Chronicle directory created
# ✓ Local database initialized
03

Scan & analyze

Record history, then turn it into findings. Both are incremental.

chronicle scan
chronicle show
chronicle analyze
04

Ask questions (AI)

Configure a provider, export your key, and interpret the timeline.

chronicle config set provider openai
chronicle config set model gpt-4o
export OPENAI_API_KEY="sk-..."

chronicle interpret --question "Why did we remove that field?"
Commands

Everything from the terminal

One small, predictable CLI. No background daemons, no web UI required.

chronicle initInitialize Chronicle in a project
chronicle scanCollect observations (git, migrations)
chronicle showList observations; --id for detail
chronicle analyzeGenerate findings from observations
chronicle interpret -q "…"AI answers about the history
chronicle configView / set provider & model
chronicle statusShow initialization + Git state
chronicle versionPrint the version
Why Chronicle

Built for people who own their data

Developer intelligence that respects your repository and your privacy.

100% local-first

Everything lives in .chronicle/. No cloud, no sync, no telemetry.

Incremental by design

Checkpoints remember progress, so scans only process what's new.

Pluggable & extensible

Add your own scanners and analyzers; providers for OpenAI and Gemini.

Focused AI context

Keyword scoring sends only the most relevant findings and commits to the model.

Simple SQLite storage

Observations, findings, and state in one portable chronicle.db.

Open source

Fork it, audit it, repurpose it. It's developer tooling, after all.

Start chronicling your project

Record how your code evolves, understand why it happened, and keep the answers forever — right next to the code.