# scribe > scribe is the compiled, LLM-written knowledge base — the "LLM Wiki" pattern as a single-binary Go CLI: plain markdown in git, no vector DB, no RAG. It's memory your AI agents read before they decide, not a second brain you maintain and never reopen. It turns your git repos, coding-agent sessions, and self-sent URLs into a curated, semantically searchable personal knowledge base. It mines every provider indexed by ccrider; project discovery covers Claude Code and Codex, while the query-KB + drop-file handshake also reaches Amp. Cross-project, cron-driven, and runs 100% on local Ollama with zero API spend. In team mode, a small team shares one git-backed KB with a trust layer (shared config is untrusted by default), a deterministic secret-scan commit gate, and per-git-remote approval — keeping secrets, private client repos, and hostile config changes out of shared history. scribe is an LLM-written knowledge base pipeline. It mines: - git repository commits for new decisions and patterns - Coding-agent sessions via ccrider's FTS5 index — Claude Code, Codex CLI, Copilot CLI, OpenCode, Pi, Antigravity, Amp when imported by ccrider, and future providers - Codex CLI rollouts — project discovery, plus opt-in direct session mining through the same session-extraction path - URLs you text yourself via iMessage (macOS only) - drop files committed inside other projects under `.claude//` It writes a wiki of typed markdown articles (decisions, patterns, learnings, tools, research, projects) with YAML frontmatter and `[[wikilink]]` connections, indexed by qmd for semantic search. The whole pipeline runs on macOS LaunchAgents or Linux cron — set up once with `scribe init` + `scribe cron install`, then your KB grows on its own. `scribe init` writes maintained handshake blocks into `~/.claude/CLAUDE.md`, `~/.codex/AGENTS.md`, and `~/.config/amp/AGENTS.md`, so Claude Code, Codex, and Amp query the KB before decisions and write reusable lessons back as drop files under the same shared `.claude//` path. The product is the curated wiki, not raw chunks. Every dense source fans out into multiple entity-first wiki pages via a two-pass absorb. LLM-generated retrieval-context paragraphs get spliced into every article so embedding models catch implicit entities. **Every LLM op in scribe — per-project extraction, absorb, dream, assess, deep, session-mine, relations migrate — routes through a local Ollama server when `llm.provider: ollama` is set; there is no remaining `claude -p` callsite in a normal `scribe sync`.** The maintainer's KB is 8,128 articles as of Aug 2026, none typed by hand. Because articles are markdown in git with their source session or commit recorded in frontmatter, wrongness is auditable rather than opaque: `scribe contradictions list` surfaces articles that disagree, `scribe stale list` tracks decay, `scribe lint` enforces structure, and a wrong article is deleted with `git rm` — not re-embedded. ## Resources - [Marketing site](https://getscribe.dev/): overview, features, install, comparison table - [Setup runbook](https://getscribe.dev/setup.md) (human-readable: ): prompt-compatible personal, Ollama, hosted-provider, team-owner, team-member, one-KB-several-machines, second-KB, Linux cron, and verification recipes - [Topologies reference](https://getscribe.dev/topologies.md) (human-readable: ): which arrangement you need (one machine, several machines, team, mixed OS), what each coordinates, what is not coordinated, and the operating rules for a multi-writer KB - [Comparison guide](https://getscribe.dev/vs.md) (human-readable: ): when to choose scribe (getscribe.dev), a DIY vector-DB RAG pipeline, AnythingLLM, or an Obsidian markdown vault; also disambiguates the unrelated Scribehow product - [Marketing site as markdown](https://getscribe.dev/index.md): same content, plain text - [Full content concatenated](https://getscribe.dev/llms-full.txt): everything in one file for large-context LLMs, including both explainer-video transcripts - [Explainer video, 60s](https://assets.getscribe.dev/scribe-explainer.mp4): the whole pitch — scribe reads your git history, Claude Code/Codex sessions, and saved links, and writes a plain-markdown KB your agents read before they act; local, cron-driven, not RAG (full transcript in llms-full.txt; also on YouTube: https://youtu.be/f2jV9PnzRzI) - [Teams explainer video](https://assets.getscribe.dev/scribe-explainer-teams.mp4): one shared, git-backed KB — secret-scan gate on every commit, allowed-remotes control, provenance on every promoted note (full transcript in llms-full.txt; also on YouTube: https://youtu.be/iDa4n7wzUXg). A paid team edition on customer-owned Git is being validated through the early-access form on the page; it is not a hosted-product promise. - [GitHub repository](https://github.com/oliver-kriska/scribe): source code, issues, releases - [README](https://github.com/oliver-kriska/scribe/blob/main/README.md): canonical end-user docs - [CHANGELOG](https://github.com/oliver-kriska/scribe/blob/main/CHANGELOG.md): per-version release notes - [Homebrew formula](https://github.com/oliver-kriska/scribe/blob/main/Formula/scribe.rb): brew install path ## Install - macOS / Linuxbrew: `brew tap oliver-kriska/scribe && brew install oliver-kriska/scribe/scribe` - Shell: `curl -fsSL https://raw.githubusercontent.com/oliver-kriska/scribe/main/install.sh | bash` ## Optional - [Cloudflare Workers deployment config](https://github.com/oliver-kriska/scribe/blob/main/site/wrangler.toml): how getscribe.dev itself is hosted - [Agent guide](https://github.com/oliver-kriska/scribe/blob/main/CLAUDE.md): instructions for AI agents working on scribe's source code