scribe CLI
scribe builds a personal Markdown wiki from your repos and agent sessions, and Claude Code and Codex consult it before answering
- 69 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Reads git repositories, coding-agent sessions and, if enabled, iMessage messages to yourself, then sends their text to the chosen model
- Appends a block to ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md and ~/.config/amp/AGENTS.md and changes agent behavior
- Installs scheduled background jobs and on macOS needs Full Disk Access
Install
- Works in
Manual install
brew tap oliver-kriska/scribe && brew install oliver-kriska/scribe/scribeHomebrew on macOS and Linuxbrew. ccrider, qmd and sqlite3 are also required.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Reads git repositories, coding-agent sessions and, if enabled, iMessage messages to yourself, then sends their text to the chosen model
- Appends a block to ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md and ~/.config/amp/AGENTS.md and changes agent behavior
- Installs scheduled background jobs and on macOS needs Full Disk Access
This is third-party code. Review the repository files before installing.
What it does
scribe is a single Go binary that, on a schedule, pulls knowledge out of your git repositories, coding-agent sessions indexed by ccrider, iMessage notes you send to yourself and local files. It keeps raw sources verbatim in a raw folder and compiles a wiki with links between articles on top. The wiki lives in your private git repository as plain Markdown with YAML metadata, and qmd handles search. scribe init scaffolds the vault from templates, asks for the KB name, domains and owner name, and appends a block to ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md and ~/.config/amp/AGENTS.md. The block tells the agent to search the KB first: before picking a library, before an architectural decision and when you refer to past work. Every model step runs through one llm block in scribe.yaml: Claude by default, or a local Ollama with qwen3 or gemma models, which keeps the pipeline off paid APIs. scribe cron install sets up a group of LaunchAgents on macOS, and on Linux the README gives ready crontab lines. Every two hours the program scans repositories, three times a day it mines agent sessions, at 07:30 it writes the scribe doctor report and creates NEEDS-ATTENTION.md when something fails.
Who it is for. Developers who run several projects in Claude Code or Codex and are tired of re-explaining past decisions and rejected libraries to the agent.
Good fit when
- The agent again suggests a library you evaluated and rejected six weeks ago
- An architecture decision made in one session is needed in another project a week later
- You want a personal knowledge base in git without typing every note: a link can simply go to your own iMessage
- You want a fully local knowledge build on Ollama with no paid API calls
- You need a daily pipeline health report and a list of what broke
Not a fit when
- You work on Windows: the README covers macOS and Linux, and macOS also needs Full Disk Access
- You need a shared team wiki with joint editing: scribe writes one person's private knowledge base
- You do not want to install ccrider and qmd: both are required for session mining and search
- You do not want edits to ~/.claude/CLAUDE.md: the block is written at init and turned off with --no-claude-md, --no-codex-md and --no-amp-md
Example request
Install scribe with Homebrew, create a knowledge base in ~/my-kb and show the cost estimate before the first runLimitations
- Session mining needs ccrider and qmd, reading iMessage and sessions needs sqlite3, and the rest (trafilatura, jq, fzf) is optional.
- iMessage notes come from chat.db, so on macOS the binary needs Full Disk Access via scribe fda. After a brew upgrade the grant sometimes needs confirming again.
- The model choice changes the bill: by default Claude is called through claude -p, and scribe sync --dry-run --estimate gives a cost estimate.
- On macOS LaunchAgents run the schedule, and on Linux you paste the crontab lines by hand.
- Building from source needs Go 1.26 and a C compiler for go-sqlite3 with FTS5.
How to disable. scribe cron uninstall removes the LaunchAgents. Delete the blocks in ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md and ~/.config/amp/AGENTS.md by hand: the wiki stays in your git repository as ordinary Markdown files.
FAQ
How is scribe different from a plain RAG pipeline?
scribe keeps raw sources verbatim and compiles a wiki of linked articles on top. A dense source fans out into several entity pages, and context paragraphs are added to articles for retrieval. qmd searches both layers.
How do I make Claude Code read the knowledge base?
scribe init writes a block into ~/.claude/CLAUDE.md for you. The block names your KB and asks the agent to search it through the qmd MCP before recommendations and architecture decisions. For Codex and Amp the blocks go to ~/.codex/AGENTS.md and ~/.config/amp/AGENTS.md.
Can it run without a paid API?
Yes. Point the llm block of scribe.yaml at a local Ollama with qwen3, gemma4 or gemma3 and the whole pipeline runs without paid requests. One line switches it back to Claude.
What does scribe read on my computer?
Git repositories from the configured paths, agent sessions from the ccrider database, local files and, if you set your own number, iMessage messages to yourself from chat.db. By the author's design it does not process other people's conversations: notes use your own number.
Which agents read the scribe knowledge base?
Claude Code, Codex and Amp: init writes a block into their user-level CLAUDE.md and AGENTS.md files. Sessions to mine come from the ccrider database, which covers Claude Code, Codex CLI, GitHub Copilot CLI, OpenCode, Pi and Antigravity.
Discussion
No questions or reviews yet.
Related
CLI toolsA workflow for Claude Code, Codex and Gemini CLI where the agent files source documents into a persistent, linked wiki
A CLI that creates an Obsidian-ready Markdown vault and installs four skills so an agent maintains the knowledge base.
A skill set that lets an agent run a personal Obsidian wiki: it compiles knowledge from documents and past sessions and answers with citations
Set up Claude Code and Codex in one conversation: global instructions, rules, plugins, skills, a status line and correction memory
Notes, tasks, contacts and project context live in Markdown on your disk, and Claude Code and Codex read the same memory
An Obsidian vault template where skills sit beside notes, decisions and feedback for Claude Code and Codex.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| scribe (this card) | no | 69 | ||
| QMD | no | not required | 31,078 | qmd only searches notes, while scribe also builds and grows the wiki from repos and sessions |
| LLM Wiki Compiler | no | 2,254 | a wiki compiler for given sources, without scheduling or agent-session mining |
README in short
The README presents the knowledge base as an agent's working memory, shows the vault tree, the work, session, extraction, article loop and the job schedule. It continues with Homebrew and script installs, the dependency list, the init wizard, qmd setup, Full Disk Access and details of the doctor report and cost tracking.