Skip to content

Git (local repos)

Git is the simplest source. DevRecall walks directories you point it at, finds .git folders, and reads commits authored by you.

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"]
}
}
FieldMeaning
scan_pathsWalked recursively for .git directories
reposExplicit repo paths (always included, even if outside scan_paths)
emailsAuthor emails that count as “you” — falls back to git config user.email per repo if empty

DevRecall only collects commits whose author matches one of your emails — that’s how it tells your work apart from your teammates’ in a shared repo. It looks for that identity in this order:

  1. git.emails in your config.
  2. git config user.email in each repo (local, then global) at sync time.

If none of these resolve to an email — e.g. a fresh machine where you’ve never set git config --global user.email and left git.emails empty — DevRecall collects no commits at all rather than guess. (It will not fall back to ingesting every author in the repo.) If your timeline is missing your commits, set your identity and re-sync:

Terminal window
git config --global user.email "you@example.com"
# or add it explicitly to ~/.devrecall/config.json under git.emails
devrecall sync

Add every address you commit under (personal + work) to git.emails so nothing is missed.

FieldSource
Commit SHAgit log
SubjectFirst line of commit message
BodyRest of commit message
Author/dategit log --author/--date
Files changedgit log --shortstat
Insertions/deletions--shortstat
BranchBest-effort from --all

Merge commits are skipped by default.

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, tests
  • 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

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.