Gitlib is a local-first tool for managing Git repositories stored under ~/git.
It scans your local repos, tracks detected technologies, and lets you store notes
for each project without depending on GitHub.
On first run, Gitlib bootstraps its local app data in ~/.git-library/.
Run it directly from the repository:
python3 -m gitlib list
python3 -m gitlib tuiOr install it in editable mode and use the gitlib command:
pip install -e .
gitlib list
gitlib tuiOperational notes:
- First run creates
~/.git-library/for config and SQLite data. - The default scan root is
~/git.
These commands are implemented today:
gitlib list [--tech TAG] [--notes-only] [--json]
gitlib show <repo> [--json]
gitlib scan
gitlib open code <repo>
gitlib open remote <repo>
gitlib tui
gitlib notes edit <repo>Command summary:
gitlib listlists all discovered repos.gitlib list --tech TAGfilters repos by a detected technology tag.gitlib list --notes-onlyshows only repos with notes.gitlib list --jsonreturns machine-readable output.gitlib show <repo>shows details for one repo.gitlib scanrefreshes repo discovery and technology metadata.gitlib open code <repo>opens the repo root in a new VS Code window.gitlib open remote <repo>opens the preferred configured remote in your browser.gitlib tuilaunches the interactive terminal UI.gitlib notes edit <repo>opens your configured editor to update repo notes.
Launch the full-screen terminal UI with:
gitlib tuiThe TUI mirrors the current CLI capabilities:
- Repo list
- Repo detail view
- Compact notes editor
- Scrollable rendered
README.mdpreview from the repo root - Remote landing-page links for configured remotes
- Refresh scan
- Note editing
Keybindings:
qandCtrl+Cquit the TUIrrefreshes repo data and runs a scan/focuses searcheenters notes edit modevopens the selected repo in VS Codeoopens the preferred remote landing page in your browserCtrl+Ssaves notesEsccancels note editing or leaves the focused input
To scroll a long README.md, move focus into the README pane with Tab or click it with
the mouse, then use the arrow keys or normal terminal scrolling keys.
Gitlib defaults to launching VS Code with:
vscode_command = ["code", "--new-window"]You can change that in ~/.git-library/config.toml if you use another build, for example:
vscode_command = ["code-insiders", "--new-window"]The default requires the code shell command to be installed and available on PATH.
Your ~/.git-library/config.toml needs:
roots = [
"~/git",
]
vscode_command = [
"/Applications/Visual Studio Code.app/Contents/Resources/app/bin/code",
"--new-window",
]
ignore_dirs = [
".git",
"node_modules",
".next",
"dist",
"build",
"venv",
"env",
"obj",
"bin",
"lib",
"include",
".pytest_cache",
]