scribe logo
Notes Knowledge · Documentation

scribe

scribe is a single-binary Go command-line tool that mines your git repositories, coding-agent sessions and self-sent links, then compiles them into a private markdown wiki in git that Claude Code, Codex and Amp read before they act.

Active Free plan Free No public API Verified by Guidaio
Overview

What is scribe?

scribe is a compiled knowledge base written by a language model instead of by hand: a single Go binary that watches the work a developer already does and turns it into a private markdown wiki. Four streams feed it — git repositories, coding-agent transcripts read through the ccrider FTS5 index plus direct Codex rollouts, links texted to yourself over iMessage on macOS, and drop files an agent leaves inside any project. Discovery is automatic: one walk over the Claude Code and Codex session directories enrols every repository you have opened, each with a stable name, a last-seen timestamp and its provenance.

The pipeline has three stages. Capture collects the four streams on a schedule. Triage scores each session candidate with weighted SQLite FTS5 keyword matching and rejects boilerplate before any model runs, so worthless sessions cost nothing; one published run filtered 142 sessions down to 18. Extraction then applies a two-pass absorb: the first pass grounds atomic facts, the second fans dense sources out into entity-first wiki pages. The compile stage generates wikilinks, a backlinks index and retrieval-context paragraphs spliced into every article, then reindexes the corpus with qmd.

The output is deliberately ordinary. Articles are typed markdown — decisions, patterns, learnings, tools, research, projects — carrying YAML frontmatter and wikilink edges. Those edges follow a closed ten-kind schema (supersedes, contradicts, derived_from, specializes, extends and five more), so an agent can follow why a choice was made rather than keyword-match it. Search runs on qmd, which combines BM25 and vector recall and is reachable from any terminal or from inside Claude Code and Codex through MCP; plain grep still works, because the corpus is files.

Everything runs unattended on macOS LaunchAgents or Linux cron: hourly commits, project extraction every two hours, session mining three times a day, and a weekly Dream consolidation that prunes stubs, merges near-duplicates and surfaces contradictions. Inference is routed per operation to a local Ollama server, a hosted OpenAI-compatible endpoint, or Anthropic through the claude CLI. On the local path a full weekly sync was measured at zero dollars in about 68 seconds. The tool is free, MIT-licensed, and runs on macOS and Linux.

What it does

  • Mine git history, coding-agent transcripts, self-sent links and drop files into one knowledge base
  • Write typed markdown articles with YAML frontmatter and wikilink edges, without anyone typing them
  • Reject boilerplate sessions with SQLite FTS5 keyword scoring before any model is called
  • Wire a handshake into CLAUDE.md and AGENTS.md so agents query the base before they decide
  • Run the whole pipeline unattended on macOS LaunchAgents or Linux cron
  • Route every inference operation to local Ollama, a hosted endpoint or Anthropic, per operation
  • Report spend per model, per provider and per knowledge base, and cap it with a daily token ceiling
Audience

When to use scribe / When not to

A quick filter to help you decide if scribe is the right fit.

When to use scribe

  • Developers who live inside coding agents such as Claude Code, Codex or Amp and keep losing context between sessions
  • Engineers working across many repositories, who solve the same problem twice in different projects
  • Local-first practitioners who want the entire pipeline on their own Ollama server with no API spend
  • Small engineering teams willing to share one git-backed knowledge base, with a secret-scan gate and per-remote approval
  • Command-line people already comfortable with git, YAML and cron, who prefer plain files to a hosted product

When not to use scribe

  • Non-technical users: there is no graphical interface, no account and no web app, only a terminal
  • Anyone who wants to upload a PDF and chat with it; the site itself points those readers to AnythingLLM
  • People who want to write and shape their own notes by hand; the site points them to Obsidian
  • Teams that need request-time control over retrieval, for whom the site recommends a purpose-built RAG pipeline
  • Machines with less than 16 GB of RAM whose owners refuse a hosted endpoint: the local model path will not fit
Get started

How to use scribe

A typical end-to-end flow, from setup to results.

  1. Install the binary with Homebrew: brew tap oliver-kriska/scribe, then brew install oliver-kriska/scribe/scribe
  2. Install the remaining runtime dependencies the formula does not pull: qmd via npm, the Claude CLI, and Ollama for the local path
  3. Bootstrap a knowledge base with scribe init --path ~/my-kb --bind, which also writes the agent handshake into CLAUDE.md and AGENTS.md
  4. Add the operational agent skills inside the base with scribe skill install
  5. Enrol candidate repositories with scribe sync --discover
  6. Approve only the repositories this base may read, using scribe projects review
  7. Preview the pending work and its token cost with scribe sync --dry-run --estimate, before any model is called
  8. Choose the inference path by editing the llm block in scribe.yaml: ollama, a hosted OpenAI-compatible provider, or anthropic
  9. Put the pipeline on a schedule with scribe cron install, then verify the whole setup with scribe doctor
  10. Query the base day to day with qmd query, qmd search, or the qmd MCP tool from inside a coding agent
Quick read

Pros & Cons

Pros

  • Inference can cost nothing: the entire pipeline runs against a local Ollama server, with a published zero-dollar weekly sync
  • No lock-in whatsoever: plain markdown in a git repository you own, readable in Obsidian, VS Code, vim or mdbook
  • Auditable like code: provenance in frontmatter, raw sources kept verbatim beside each page, and a wrong article deleted with git rm
  • Genuinely cross-project memory rather than a silo per repository
  • Explicit spending guardrails: dry-run estimates, a daily output-token ceiling, and per-provider cost reconciliation
  • Mechanisms against decay instead of promises: contradiction and staleness ledgers, structural lint, weekly consolidation
  • Unusually precise and self-critical documentation, including dated comparisons and real billing receipts

Cons

  • Developers only: a terminal, git, YAML and cron are mandatory, and there is no graphical interface at any point
  • A heavy dependency chain — claude, ccrider, qmd, sqlite3 and git are all required, plus Ollama for local inference
  • The dependency check still expects the Claude CLI even on the fully local Ollama profile
  • Real hardware demands: the recommended local model pair assumes 32 GB of RAM, and below 16 GB the site advises a hosted endpoint instead
  • The Anthropic path can be expensive: 103.57 USD over a single published week, most of it on one team knowledge base
  • No legal pages at all, no contact address, and no channel outside GitHub issues
  • A single-maintainer project at version 0.5.1, with several multi-machine maintenance jobs left uncoordinated by design
Pricing

Pricing & Plans

The software is free of charge. scribe is open source under the MIT licence, with no paid plan, no account and no pricing page, and the site's structured data declares a price of 0 USD. The only expense is inference, and it is entirely under the user's control: the local Ollama path costs nothing, a hosted OpenAI-compatible endpoint billed 0.55 USD over a published seven-day run, and the Anthropic path billed 103.57 USD over the same week.

Plan 1
  • Free and open source under the MIT licence — the only edition of the tool
Hosted inference path
  • any OpenAI-compatible endpoint such as Together
  • Groq
  • Fireworks or Hugging Face
  • billed by that provider
Anthropic inference path
  • the default
  • routed through the user's own claude CLI sign-in
Team mode
  • switched on with team: true in scribe.yaml
  • at no additional cost
Scribe for Teams
  • a paid edition still being validated through an interest form
  • with no price published
Prices and plans listed above may evolve. Always check the official pricing page before subscribing.
Trust & Privacy

Data, GDPR & hosting

A consolidated view of how scribe handles your data.

GDPR overview

There is no GDPR information at all. getscribe.dev publishes ten pages in total and none of them is a privacy policy, a set of terms, a data processing agreement, a subprocessor list or a legal notice; searching every collected page for the word GDPR returns nothing, and the site exposes neither a contact email nor a postal address. No Article 27 EU representative is named. The absence is not neutral, but it is structurally coherent: scribe is a locally installed command-line tool with no account, no vendor server and no described telemetry, so the controller of any personal data is the user. Anyone routing inference to a hosted provider becomes responsible for that transfer themselves, and the project states plainly that such a provider sees the knowledge base content on every call.

Who owns the data?

scribe publishes no terms of service and no privacy policy, and its architecture explains why: there is no vendor service to receive data. The knowledge base is a plain git repository of markdown files created on your own machine, at a path you choose, and you push it — if you push it at all — to a private remote you own on GitHub, Gitea or Forgejo. The maintainer states the design goal as file over app: the corpus has to outlive the pipeline. Hosted-provider API keys live in a per-machine user configuration file, never inside the knowledge base. In team mode, the shared base is the team's own repository, owned by the team.

Reuse rights

Because the knowledge base is your own git repository of markdown files, you may read, edit, republish or delete anything in it without asking anyone: removing an article is a git rm, not a support request. The tool itself is MIT-licensed, so it can be used, modified and redistributed freely, and the corpus opens in Obsidian, VS Code, vim or mdbook without conversion. What the site never does is define reuse contractually — there are no terms of service, so no document states what a publisher may do with your content, which is consistent with a tool that never receives it. The one case where content leaves the machine is an explicitly configured hosted provider, which the project warns sees the knowledge base content on every call.

Data retention & training

Retention summary
No retention policy is published, because there is no vendor holding anything. In practice, retention is whatever your git repository does: articles and the verbatim raw sources kept beside them stay until you remove them, and removing one is a git rm rather than a deletion request. Because the history is versioned, deletion is not retroactive unless the history itself is rewritten. Automatic hygiene exists but is editorial rather than legal: the weekly Dream consolidation prunes stubs and merges near-duplicates, and scribe stale list tracks what has decayed. Nothing on the site addresses anonymisation, and no deletion request channel exists because no operator receives the data.

Hosting summary

There is no vendor hosting to describe. The knowledge base is a git repository of markdown files on the user's own machine, at a path chosen at initialisation, and any backup goes to a private remote the user selects — GitHub, Gitea, Forgejo or anything else that speaks git. No hosting country or region is declared on the site, and none could be: the jurisdiction is wherever the user's machine and remote happen to be. On the fully local Ollama path, no data leaves the machine at all; on the Anthropic or hosted paths, content is sent to that provider on each call, under the provider's own terms rather than scribe's. The marketing site itself is served from Cloudflare, whose anycast network resolved to a United States node at the time of review, but that concerns the website only and has no bearing on where a knowledge base lives.

Watch-outs

Things to keep in mind

Risks and trade-offs to weigh before adopting scribe.

  • A hosted inference provider sees the knowledge base content on every call, so an offhand config change can send your engineering decisions to a third party
  • Session transcripts routinely carry API keys and tokens; outside team mode the secret-scan commit gate is off, so a private remote is the only protection
  • Set the daily output-token ceiling before pointing the pipeline at a paid provider: an unattended loop on a metered backend can run up a real bill
  • The base is written by a model, so a confidently wrong article can be read back by your agents as fact; the contradiction and staleness ledgers help but do not decide for you
  • Outsourcing memory to a machine erodes the habit of holding context yourself, and an agent citing a stale decision is harder to catch than one that admits it does not know
  • Mining coding-agent sessions can absorb a client repository or an NDA-covered discussion by accident unless allowed_remotes and source approvals are set carefully
  • On a second machine, forgetting team: true fails silently: two laptops rewrite the same wiki, and the shared project manifest is overwritten on every discovery run
Setup

Setup & Integrations

Technical difficulty

Demanding. Installation is one Homebrew command, but getting to a running pipeline is a multi-step runbook: dependencies (git, sqlite3, ccrider, qmd, the Claude CLI, and Ollama for local inference), YAML configuration across up to three files, source approval, cron installation — automatic on macOS, manual crontab lines on Linux — and Full Disk Access for iMessage capture. The local path also assumes serious memory, around 32 GB for the recommended models. Two things soften it: the runbook is written to be handed to a coding agent that performs the setup, and scribe doctor reports exactly what is missing.

Deployment

Desktop app

Integrations

Claude Code Codex CLI Amp Ollama Anthropic Together Groq Fireworks Hugging Face GitHub Gitea Forgejo Obsidian VS Code Mdbook Qmd Ccrider IMessage Homebrew
Company

Behind scribe

Company name
Oliver Kriška
Founded
17/07/2026
Country of origin
INFORMATION_NOT_FOUND
UBO
Oliver Kriška
UBO country
🇸🇰 Slovakia
Domain registrar country
🇺🇸 United States

Social

Official links

Resources

All the official URLs gathered for verification and reference.

Compare

Alternatives

Tools that compete with or complement scribe.

A AnythingLLMO ObsidianN NotionL LangChainL LlamaIndexC claude-memory-compilerB basic-memoryL llm-wikiC Code Insights
FAQ

Frequently asked questions

Does scribe require an Anthropic API key?
No. Every LLM operation — per-project extraction, both absorb passes, dream, assess, deep, session mining and relations migrate — can run end to end against a local Ollama server, and a single line in scribe.yaml flips the whole pipeline. Per-operation overrides remain available if you want to keep some passes on Anthropic.
What does it cost to run?
Nothing on the local Ollama path. On a hosted OpenAI-compatible endpoint, a full week of one knowledge base billed 0.55 USD. The same week on the Anthropic path billed 103.57 USD, of which 102.96 USD came from a team knowledge base and 1.16 USD from a personal one. The triage pre-filter never calls a model, so session mining stays free whatever the backend.
What else has to be installed?
git, sqlite and ccrider, all pulled in by the Homebrew formula; qmd for search, installed with npm; and the Claude CLI, which the dependency check still expects even on the Ollama profile, where it is a check rather than a spend. Local mode also needs Ollama itself. scribe doctor names whatever is missing.
Where is the knowledge base stored?
In a plain git repository of markdown files, at whatever path you pass to scribe init. You can push it to your own GitHub, Gitea or Forgejo remote, or keep it entirely local. There is no SaaS account and no cloud sync, and the files open in Obsidian, VS Code, vim or mdbook.
How do I know that what it writes is true?
You audit it the way you audit code, because it is shaped like code: markdown in git, diffable and deletable. Articles carry their source session or commit in frontmatter, and the raw source is kept verbatim beside the page written from it. scribe contradictions list, scribe stale list and scribe lint surface problems, and a wrong article is removed with git rm.
Does it work on Linux?
Yes. macOS gets LaunchAgents from scribe cron install, while Linux gets paste-ready crontab lines from the same command. The iMessage capture step is macOS-only because it reads chat.db; everything else is portable. The fsnotify watcher is not cron-friendly on either system and should run under launchd KeepAlive or systemd-user.
Can a team share one knowledge base safely?
Yes. A shared scribe.yaml is treated as untrusted by default, so a pushed change that repoints inference or widens ingest paths reverts to the last trusted snapshot until a human approves it. A deterministic secret scanner holds credential-shaped values back at the commit gate, allowed_remotes filters discovery by git-remote identity, and a committed leader lease elects the single machine that runs the weekly consolidation.
Is this the same product as Scribe by Scribehow?
No. The site says so explicitly: Scribehow is an unrelated commercial product that records a workflow and generates a step-by-step guide with screenshots. scribe on getscribe.dev is an open-source developer-memory command-line tool installed with Homebrew.
How is it different from RAG or from Obsidian?
RAG stores chunks and retrieves them at query time, with no curation layer and a vector database to run. Obsidian and Notion expect you to write the notes yourself. scribe compiles knowledge before retrieval: it watches your work, writes entity-first articles, and keeps the raw sources beside them, so most lookups are plain-text matches rather than vector guesses.
What does the cron schedule look like?
Hourly auto-commit of the knowledge base, a scan of approved git repositories every two hours, session mining three times a day, queued URLs drained every thirty minutes, self-sent iMessage links pulled every four hours, and a full Dream consolidation on Sunday at 02:00 with a lighter hot-domain pass on the other days.
Conclusion

Should you pick scribe?

scribe occupies a narrow and clearly stated niche: durable memory for developers who already spend their day inside coding agents. Its bet is that compiling knowledge on a schedule beats retrieving chunks at query time, and the consequences of that bet are visible everywhere in the design — a curated wiki instead of a vector store, plain markdown in git instead of a hosted service, a keyword pre-filter so that worthless sessions never reach a model. For the right reader this is unusually good value: the software is free under the MIT licence, the whole pipeline can run on a local Ollama server for nothing, and nothing about the output is locked away, since it is a folder of files you can grep, diff and delete. The documentation deserves particular credit. Comparisons are dated, cost figures come from the maintainer's own billing rather than from marketing, and the setup runbook names the traps it knows about. The reservations are just as clear. This is a terminal tool with a long dependency chain, and the local path is genuinely demanding on memory: the recommended model pair assumes 32 GB of RAM. It is maintained by one person, published at version 0.5.1, and the site carries no terms, no privacy policy, no postal address and no contact email — GitHub issues are the only visible channel, which is worth weighing before a team commits its shared engineering knowledge to it. Anyone who wants a graphical second brain, a document-chat workspace, or a product with a support contract should look elsewhere; the site itself says as much and names the alternatives. Anyone who wants their own tools to write their notes, locally and for free, will find few things this deliberate.