Git (local repos)
Git is the simplest source. DevRecall walks directories you point it at,
finds .git folders, and reads commits authored by you.
Connect
Section titled “Connect”Git has no OAuth — it’s pure local config. Either run devrecall setup
(the wizard walks you through it) or edit ~/.devrecall/config.json
directly:
{ "git": { "enabled": true, "scan_paths": ["~/Projects", "~/work"], "repos": ["~/work/backend"], "emails": ["pavel@company.com", "pavel.piliak@gmail.com"] }}| Field | Meaning |
|---|---|
scan_paths | Walked recursively for .git directories |
repos | Explicit repo paths (always included, even if outside scan_paths) |
emails | Author emails that count as “you” — auto-detected from git config user.email if empty |
What gets collected
Section titled “What gets collected”| Field | Source |
|---|---|
| Commit SHA | git log |
| Subject | First line of commit message |
| Body | Rest of commit message |
| Author/date | git log --author/--date |
| Files changed | git log --shortstat |
| Insertions/deletions | --shortstat |
| Branch | Best-effort from --all |
Merge commits are skipped by default.
Linking commits to tickets
Section titled “Linking commits to tickets”If your commit messages contain Jira (PROJ-123) or Linear (ENG-456)
issue keys, DevRecall extracts them automatically. Standups then group
commits under their tickets:
- PROJ-123 (Fix payment retry logic): 3 commits — backoff, max retries, testsPrivacy
Section titled “Privacy”- Commit content stays on disk — DevRecall reads but never uploads it
- Only commits authored by your configured emails are collected
- Drop a repo from indexing by removing its path from
git.repos/git.scan_paths
Performance
Section titled “Performance”git log is fast. Even on a repo with 50k commits, the initial 90-day
sync takes <1 second. Subsequent syncs are incremental — DevRecall
remembers the last commit it saw per repo.