Quick Start
Commands
index
Index git structure and optionally extract symbols at each commit.--symbols uses tree-sitter to parse changed files at each commit, extracting function/class/struct definitions at their exact line positions. Markdown files are parsed for heading structure.
query — Core Feature
Query which branches contain a specific commit.branches
List all indexed branches.compare
Compare two branches (ahead/behind count).stats
Show database statistics.Commit Symbol Tracking
When--symbols is used, monogit stores what each commit touched at the symbol level:
Supported Languages
| Language | Extraction |
|---|---|
| Rust, TypeScript, JavaScript | Functions, methods, structs, classes, interfaces |
| CSS | Classes, IDs, custom properties, @keyframes |
| HTML | Element IDs |
| Python, Go, Zig | Functions, classes |
| Markdown, MDX | Headings (h1-h5), document references |
Filters
Build artifacts (dist/, .min.js), lock files, and obfuscated symbols (_0x*) are automatically excluded.
Pre-computed Analysis
At index time, monogit computes and stores analysis results for instant reads:Temporal Drift
Detects file pairs that used to change together but have diverged.Commit Rhythm
Session count, peak hours/days, temporal distribution chaos score.Quality Delta (9 signals)
Measures work quality from commit patterns:| Signal | What it detects |
|---|---|
| temporal | Steady 1-10min gaps = managed rhythm |
| churn | Same file 3+ times in 1hr = struggling |
| convergence | Code+doc in same commit = aligned |
| divergence | Code changing but docs not following |
| commit_type | feat vs fix ratio |
| topic_focus | Topic switching frequency |
| streak | Consecutive fix commits = pain |
| thinking | 10-30min deliberate gaps |
| structural | New files + refactors |
monoflow weights (saved to ~/.monolex/config/quality-weights.json).
Per-Repo Database
Each repository gets its own database:.registry file maps project paths to database files for automatic resolution.