MindBase — Karpathy's LLM Wiki, as a product
LLM wiki kit
First committed by frankchu91
Published in frankchu91/mindbase-llm-wiki. Publisher page
137 GitHub stars
What it is
Karpathy's LLM Wiki idea as a product — an AI that builds and maintains a markdown wiki from your notes and sources. MCP server + web UI, runs on free local models (Ollama), no API key needed. MIT.
Summary from the brain’s metadata
Karpathy's LLM Wiki idea as a product — an AI that builds and maintains a markdown wiki from your notes and sources. MCP server + web UI, runs on free local models (Ollama), no API key needed. MIT. One command: starts the local server, opens the web app, and walks you through picking a free local model that fits your RAM. No API key, nothing leaves your machine. (Node 20+)
How it works
Memory model: LLM wiki
AutoGineer overview, from the brain’s own files
Memory model: LLM wiki. Folders: .github (agent config, 2 files); docs (docs, 21 files); packages (source code, 185 files). The agent writes apps/browser-ext, apps/mcp.
| Folder | Role | Files |
|---|---|---|
| .github | agent-config | 2 |
| docs | docs | 21 |
| packages | source-code | 185 |
| .claude-plugin | folder | 1 |
| apps | folder | 512 |
| schema | folder | 5 |
| website | folder | 7 |
The agent writes
- apps/browser-ext evidence: CLAUDE.md
- apps/mcp evidence: CLAUDE.md
Requirements
Runtimes: Node.js
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)
Set it up
This brain runs code automatically: 1 hook (claude-code). Review apps/plugin/hooks/hooks.json before opening the folder in Claude Code. No step below turns a hook on for you.
apps/plugin/hooks/hooks.json:${CLAUDE_PLUGIN_ROOT}/hooks/session-start
Clone the repository at the commit AutoGineer scanned:
git clone https://github.com/frankchu91/mindbase-llm-wiki.git && cd mindbase-llm-wiki && git checkout c5273d2336c4d686df41c2a1495f14f085707f51Claude Code reads CLAUDE.md from this folder automatically.
cd mindbase-llm-wiki && claude
AutoGineer scanned these files at commit c5273d2.
- Not scanned by AutoGineerThe author’s README also describes installing it as a Claude Code plugin marketplace. Read its install section: AutoGineer did not scan that path. https://github.com/frankchu91/mindbase-llm-wiki/blob/c5273d2336c4d686df41c2a1495f14f085707f51/README.md#install
- Not scanned by AutoGineerIts dependencies are installed by npm when you run it and were not scanned by AutoGineer (7 declared). https://www.npmjs.com/package/mindbase-mcp
First committed by frankchu91. Published in frankchu91/mindbase-llm-wiki. Licence: MIT License.
Usage
AutoGineer’s guidance for this type of brain
Put your raw sources in the kit’s folder and ask your agent to maintain the wiki from them: the agent writes the markdown pages and you read them.
Documentation by frankchu91
MindBase — Karpathy's LLM Wiki, as a product
Image: npm Image: npm downloads Image: CI Image: License: MIT Image: Website Image: Glama score
An open-source implementation of Andrej Karpathy's LLM Wiki idea: an AI that builds and maintains a wiki from your sources. Not RAG-in-a-vector-DB. A real markdown wiki on your disk, that an LLM gardens for you between conversations.
npx mindbase-appOne command: starts the local server, opens the web app, and walks you through picking a free local model that fits your RAM. No API key, nothing leaves your machine. (Node 20+)
<p align="center"> <img alt="Demo: /contribute in the MindBase web UI — the AI shows takeaways and a checkbox plan, and writes to the LLM wiki only after approval" src="docs/assets/contribute.gif" width="880"> </p>
MindBase implements Andrej Karpathy's LLM-Wiki pattern: you feed it sources (papers, articles, thoughts); the LLM reads, cross-references, flags contradictions, and writes structured wiki pages. Later, when you ask a question, the wiki already has the synthesized answer — no vector-search re-derivation at query time.
Status: Early access, actively developed. What's new: CHANGELOG · Releases
Why MindBase
You read a lot. Papers, articles, tweets, docs. You want to remember them, connect them, form opinions from them. Today you have two bad options:
Notion / Obsidian / Roam: Passive containers. You do all the organizing. AI features are bolted-on generation, not maintenance.
NotebookLM / Perplexity Pages / ChatGPT search: RAG-based. Nothing accumulates. Every question re-derives the answer from raw sources.
MindBase is the third option: the LLM actively maintains a persistent, structured wiki as you feed it sources. Knowledge compounds. Your context.md gets sharper every time you contribute. The AI remembers you across sessions because your beliefs are written down in markdown files — not stored in a chat history that gets summarized away.
Think of it as a personal Wikipedia that an AI intern writes for you, kept up to date, cross-referenced, and honest about what it doesn't know.
How it works (30 seconds)
Three physical layers on disk (Karpathy's model):
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="docs/assets/hero-dark.svg"> <img alt="MindBase: you feed sources, the LLM gardens them into a wiki that compounds — plain markdown on your disk" src="docs/assets/hero-light.svg" width="920"> </picture> </p>
| Layer | Who owns it | What lives there |
|---|---|---|
sources/ | You — append-only, the AI never rewrites it | Quick captures, full notes, PDFs, URLs |
context.md + sources/research/ | The AI — every change human-approved | The maintained wiki: synthesis, concept pages, [[wikilinks]] |
state/ · logs/ · artifacts/ | Derived — always rebuildable | Search index, snapshots, lint findings, op history |
Three operations run the loop: ingest (AI reads a source, discusses takeaways, you approve the wiki updates), build (regenerate context.md from everything unbuilt), lint (the AI audits its own wiki for contradictions, stale claims, and orphans).
What makes it different
The AI asks before writing. Every ingest shows takeaways + a checkbox plan; only what you approve gets written. No black-box edits to your knowledge.
You can watch the wiki absorb your notes. Every note carries a status chip — ✨ Add to wiki until digested, ✓ In wiki after.
It audits its own knowledge. One command re-reads the whole wiki and reports contradictions with the exact conflicting sentences quoted. Notion and NotebookLM structurally cannot do this.
Free and local by default. Hardware-detect wizard installs the best Ollama model for your RAM. Cloud keys optional.
Plain markdown on disk. Grep it, git it, open it in Obsidian, leave anytime.
Install
Browser (fastest): npx mindbase-app — shown above. Everything runs locally at localhost:4321.
Claude Code (flagship): the full Karpathy 8-step ingest with sub-agents, slash commands, and per-agent tool boundaries:
/plugin marketplace add frankchu91/mindbase-llm-wiki
/plugin install mb@mindbaseRestart when prompted, then type / — you should see /mb:contribute, /mb:build, /mb:ask, /mb:lint and 8 more. You get 5 sub-agents with strict tool allowlists (the builder has no file-write tool at all — only an atomic-write MCP call), plus a SessionStart hook that auto-injects your project context.
<p align="center"> <img alt="The core flow in Claude Code: /mb:contribute with an arXiv link — download, archive, discuss takeaways, approve, commit" src="docs/assets/terminal-contribute.png" width="880"> </p>
<details> <summary><b>Cursor</b></summary>
Add to ~/.cursor/mcp.json:
{ "mcpServers": { "mindbase": { "command": "npx", "args": ["-y", "mindbase-mcp"] } } }Restart Cursor — the tool picker should list mindbase_contribute and 48 others. Recommended: add a conventions block to ~/.cursor/rules.md so the LLM reliably routes "add to mindbase X" to the tools — copy it from the guide.
</details>
<details> <summary><b>Windsurf</b></summary>
Cascade settings → MCP → add:
{ "mcpServers": { "mindbase": { "command": "npx", "args": ["-y", "mindbase-mcp"] } } }Same rules-file approach as Cursor works for Cascade.
</details>
<details> <summary><b>Cline (VSCode)</b></summary>
Cline settings → MCP Servers:
{ "mcpServers": { "mindbase": { "command": "npx", "args": ["-y", "mindbase-mcp"] } } }Cline auto-detects; every tool call gets a confirmation dialog by default.
</details>
<details> <summary><b>Continue.dev</b></summary>
~/.continue/config.json, under experimental.modelContextProtocolServers:
{ "experimental": { "modelContextProtocolServers": [ { "transport": { "type": "stdio", "command": "npx", "args": ["-y", "mindbase-mcp"] } } ] } }MCP tools appear under @ in chat.
</details>
<details> <summary><b>Any other MCP client</b> (Zed, Aider, Goose, Claude Agent SDK…)</summary>
Point it at npx -y mindbase-mcp as a stdio server. See your client's MCP docs for the config location.
</details>
Next: create your first project and learn the four daily workflows in the Guide →
The web UI
Since 0.3 the browser app stands on its own — write notes in a full WYSIWYG editor (Cmd+N), quick-capture from anywhere (Cmd+I), and run the AI operations with approval cards: /contribute, /build, /lint, /research. Live demos on the website.
<p align="center"> <img alt="MindBase web UI — category tree on the left, the LLM-maintained context.md in the center, chat starters on the right" src="docs/assets/webui.png" width="920"> </p>
Free local models: the setup wizard detects your hardware and installs what fits — llama3.2:3b (8GB), qwen3:14b (24GB+), or Meta's Muse Glimmer 30B (32GB+ Apple Silicon, Ollama ≥ 0.32.7). Measured guidance: qwen3:14b for interactive work (~30s), Glimmer for background lint/build — slower, but its findings quote the exact conflicting sentences. The model switcher on the chat composer flips between them in two clicks.
<details> <summary><b>Feature matrix by editor</b></summary>
| Feature | Claude Code | Cursor / Windsurf / Cline / Continue | Web UI |
|---|---|---|---|
Slash commands (/mb:*) | ✅ | ❌ (use natural language) | ✅ (/contribute, /build, /lint, /research) |
| MCP tools directly | ✅ | ✅ | ❌ |
| Karpathy 8-step ingest with approval | ✅ (sub-agents) | ⚠️ Manual via prompt | ✅ (approval cards) |
| Contribute / ingest PDF & URL | ✅ | ✅ | ✅ (upload + ✨ Process) |
| Ask wiki with cited answers | ✅ | ✅ | ✅ |
| Build / health check | ✅ | ✅ | ✅ |
| Wiki tree browsing + rich editor | ❌ | ❌ | ✅ |
-p project-id routing | ✅ | ⚠️ natural language | ✅ (switcher) |
</details>
Where your data lives
Everything is plain markdown under ~/mindbase-data/ (override: MINDBASE_DATA_DIR):
~/mindbase-data/projects/my-research/
├── README.md # Ops manual — you edit, LLM reads
├── context.md # Synthesized truth — LLM writes, you approve
├── index.yaml # Auto-generated catalog
├── sources/
│ ├── contributors/<you>/ # Your dated entries + notes (append-only)
│ ├── research/ # LLM-authored wiki pages
│ └── raw/ # PDFs, HTML captures
├── logs/ # Chronological operation log
├── artifacts/ # Briefs, exports, lint findings
└── state/builder/snapshots/ # context.md snapshots for rollbackNo proprietary database — what you see on disk is what MindBase knows. git init it, back it up with anything, delete a project with rm -rf.
Architecture at a glance
Claude Code / Cursor / any MCP editor Web UI (npx mindbase-app)
│ MCP · sub-agents with │ /commands ·
│ per-agent tool allowlists │ approval cards
└─────────────┬─────────────────────────┬──────┘
▼ ▼
┌──────────────────────────────────────────────┐
│ One ops engine: gather context → single │
│ constrained JSON completion → human │
│ approval → whitelisted executors → log │
└─────────────────────┬────────────────────────┘
▼
~/mindbase-data/ · plain markdown
(LLM: Ollama local models or any cloud key)Monorepo: packages/core (TS strict library) · apps/mcp (49-tool MCP server) · apps/server + apps/web (Express + React UI) · apps/app (npx launcher) · apps/plugin (Claude Code bundle).
Docs & help
Guide — first project, the four daily workflows, multi-project routing, troubleshooting
Website — live demos
CHANGELOG · Issues — I reply to every issue same-day during beta
The idea: Karpathy's LLM Wiki gist
Roadmap
Next: browser extension for one-click page capture · audio input via Whisper · unified meta-tool for Cursor/Windsurf slash-like UX. Later: team projects with human-in-the-loop review · audio digests · desktop app · mobile capture.
Feedback
Beta through 2026-Q4. If you tried MindBase and gave up — please tell me why: issues or [e-mail address on the upstream page](mailto:e-mail address on the upstream page). The blockers you hit are gold.
License
MIT — do what you want, no warranty. If you build something interesting on top, I'd love to hear about it.
Built with the belief that AI's most valuable gift is not "generation on demand" but "gardening of a persistent artifact you own."
docs/pivot-plan-2026-05-25.md
MindBase Pivot Plan v1
Date: 2026-05-25
Status: Founder review — needs sign-off before any code changes
Supersedes: product-strategy-2026-05-25.md + addendum.md (kept for context)
TL;DR — The new MindBase in one sentence
MindBase is an AI research analyst that builds and maintains a personal wiki of everything you read. You curate the sources and review the work. The agent does the reading, structuring, cross-referencing, and bookkeeping.
Three substantive changes from today:
Product position: not a PKM tool, not a note-taking app, not a "second brain." A research agent for knowledge workers doing sustained inquiry. Wedge: PhDs, analysts, founders learning a space, journalists, solo consultants, lawyers, doctors building case knowledge.
Architecture: not "LLM calls inside a UI." A persistent agent that plans, executes multi-step tasks with tools, maintains memory across sessions, runs autonomously between user sessions, and surfaces work for approval. Built on Karpathy's LLM-Wiki pattern as canonical implementation.
UX: not chat-as-home. Project-dashboard-as-home with visible agent activity, approval inbox, and the wiki as the central artifact. The user's job is curation + approval + inquiry. The agent's job is everything else.
Timeline: 16 weeks to public launch. Sprint mode, single founder, bootstrapped.
Target by week 16: 100 active users, 10 paying at $20/mo. By month 12: 1-2k paying users, $25-40k MRR. By month 24: profitable indie at $80-150k MRR or optional seed for team SKU.
Part 1 — Why the pivot, in 5 bullets
The Karpathy LLM-Wiki gist went viral 7 weeks ago (16M views, 5k stars). The pattern is hot RIGHT NOW. Multiple implementations shipping (lucasastorian/llmwiki, Pratiyush/llm-wiki, ΩmegaWiki). Startups citing it (Dume.ai, remio 3.0). Window: 3-6 months to be the canonical implementation, not 12-18.
Horizontal AI PKM has produced zero winners in 5 years. mem.ai ($29M, no traction), Roam (declining), Notion AI (bolted-on, complained about). Every horizontal play has died. We can't beat Notion at horizontal. We can beat them at a wedge they don't care about.
Granola + Cursor prove the AI-native + sharp-wedge formula. Granola: $0 → $1.5B in 36 months on meeting notes. Cursor: $0 → $50B / $2B ARR in 18 months on coding. Both replaced a workflow incumbent with an AI-native experience. The research wedge has no Granola yet.
The current MindBase architecture mismatches the thesis. Wiki and notes are physically the same directory. Compile produces 1 page per source (was 18-22 in May, degraded to 1-4 by 5/25). No conversational ingest. No lint. INDEX.md is dead. The product feels like "AI is rewriting my note" because that's literally what it does today.
An agent product, not an LLM-call product, is the only way to actually feel like a research analyst. mem.ai's failure mode was trying to be a chat-with-AI-on-notes. Granola's success mode was becoming an autonomous note-taker. The agent isn't a feature — it IS the product.
Part 2 — What the product actually is
The mental model the user has
"I hired a brilliant research analyst. I tell them what I'm researching, hand them papers and links, and they build me a personal Wikipedia. They work overnight. They tell me when they find contradictions. They ask before doing anything risky. They cite everything. I can read the wiki directly, or ask them questions in plain English."
The 3 modes the agent runs in
| Mode | Trigger | Example |
|---|---|---|
| Reactive | User drops a source | "I added a paper. Read it and integrate it. Tell me what you found." |
| Autonomous | Schedule or detected signal | Nightly lint → "I found 2 contradictions, 4 orphan concepts, suggested 3 sources to look up." Weekly brief → "Here's what your wiki learned this week." |
| On-demand | User asks | "What do I currently believe about RAG? Make me a comparison table of the methods I've read." |
What the user does (their job)
Curates sources — the only thing that requires human taste at the intake layer. Agent doesn't know what's worth reading; user does.
Approves agent proposals — risky actions (creating 5 pages, merging concepts, deleting) require user sign-off.
Asks questions — directs the agent's analysis attention.
Reads the wiki — consumption is the payoff.
What the user explicitly does NOT do
Write wiki pages
Maintain cross-references
Find contradictions
Categorize / classify / file
Decide what's "current thesis"
Periodically clean up orphans / stale claims
This is the user's value proposition: the maintenance burden goes to zero.
The 5 things the agent produces
Per project, continuously:
The wiki itself —
wiki/concepts/*.md(LLM-owned, structured, cited)The INDEX —
wiki/INDEX.md(categorized catalog, primary retrieval surface)The log —
wiki/log.md(chronological audit of every agent action)The schema —
wiki/schema.md(co-evolved conventions, this project's rules)The "current thesis" page —
wiki/_thesis.md(top-level synthesis, auto-updated as new evidence arrives)
These 5 artifacts are the deliverable. The product wraps them in a UI.
Part 3 — Architecture: agent-first, not LLM-call
Stack at a glance
┌────────────────────────────────────────────────────────────┐
│ apps/web — Agent Surface (NEW UX) │
│ • Project dashboard (replaces chat-home) │
│ • Approval inbox (agent proposals) │
│ • Activity feed (agent audit) │
│ • Wiki browser (the artifact) │
│ • Conversation with agent (focused, not generic chat) │
└────────────────────────┬───────────────────────────────────┘
│ HTTP + SSE
┌────────────────────────▼───────────────────────────────────┐
│ apps/server │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ Agent Runtime (NEW ~600 lines, plain TS) │ │
│ │ • Plan generator (LLM call: goal → plan) │ │
│ │ • Execute loop (call tool → observe → reflect) │ │
│ │ • State persistence (per project, resumable) │ │
│ │ • Approval gate (risky ops pause for user) │ │
│ │ • Streaming output to UI │ │
│ └────┬───────────────────────────────────────────────┘ │
│ │ tool calls (MCP protocol) │
│ ┌────▼───────────────────────────────────────────────┐ │
│ │ Tool Layer (EXPAND apps/mcp into full tool set) │ │
│ │ • wiki.{create,update,link,read,lint,search} │ │
│ │ • source.{ingest,search_web,fetch_pdf} │ │
│ │ • user.{ask,notify,propose} │ │
│ │ • exec.{python,marp,chart} │ │
│ └────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ Scheduler (NEW) │ │
│ │ • Daily lint per project │ │
│ │ • Weekly brief │ │
│ │ • On-source-arrived ingest │ │
│ │ • On-contradiction-detected notification │ │
│ └────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────┘
│
~/mindbase-data/ ← unchanged storage model
├── raw/ (immutable sources)
├── projects/<project>/ ← NEW per-project scope
│ ├── wiki/concepts/ (LLM-owned)
│ ├── wiki/notes/ (user drafts, optional)
│ ├── wiki/INDEX.md (LLM-maintained)
│ ├── wiki/log.md (audit)
│ ├── wiki/schema.md (user-editable conventions)
│ ├── wiki/_thesis.md (current synthesis)
│ └── agent-state/ (NEW — agent memory, tasks)
└── settings/Key architecture decisions
| Decision | Choice | Why |
|---|---|---|
| Agent framework | Roll our own (~600 LOC plain TS) | LangChain/LangGraph are heavy, magic, hard to debug. Anthropic & OpenAI have native tool calling. We already have store + adapter abstractions. |
| Tool protocol | MCP (Model Context Protocol) | Standard, future-proof. Means Cursor / Claude Code / external agents can use MindBase as their research memory — distribution lever. |
| State storage | Plain JSON files on disk, alongside the wiki | Local-first, debuggable, git-able. No sqlite/Postgres overhead for agent state. |
| Multi-agent vs single | Single agent per project | Simpler mental model for user. Multi-agent under the hood is implementation detail. |
| Approval model | Risky ops gate (create > 3 pages, merge, delete) | Researchers must trust the agent. Auto-approve safe ops (append, link, INDEX update); pause for risky. User-configurable per project in schema.md. |
| Memory | 3 tiers: working / project / long-term | Working = current task. Project = schema + INDEX + log (Karpathy's spec). Long-term = user prefs across projects. |
What we KEEP from current MindBase (70% reuse)
packages/core/src/compile/→ becomes one tool (source.ingest) the agent callspackages/core/src/graph/index/wiki-index.ts→ becomes the agent's read tool for typed edgeshybridSearch→ becomes one tool option for search (complements INDEX-first)packages/core/src/classify/→ becomes one tool the agent calls per sourceAll markdown storage, store abstraction, LLM adapter, MCP server
pdfjs-dist local PDF extraction
Streaming compile UX pattern (will be reused for agent's streaming UI)
Type-safe TS strict / pnpm monorepo / git author conventions
What we BUILD new (the 30%)
packages/core/src/agent/(~600 LOC)runtime.ts— plan + execute loopstate.ts— per-project state persistenceapprovals.ts— approval gate logicmemory.ts— 3-tier memory access
packages/core/src/wiki/index-md.ts— INDEX.md auto-maintenancepackages/core/src/wiki/lint.ts— the lint operation (6 checks + 2 suggestions)packages/core/src/wiki/thesis.ts— current-thesis page generatorapps/server/src/lib/agent-scheduler.ts— autonomous triggersapps/server/src/routes/agent.ts— agent control / streaming endpointsapps/web/src/components/agent/— new UI surfaceProjectDashboard.tsxApprovalInbox.tsxActivityFeed.tsxAgentConversation.tsx
Project scoping throughout
What we DELETE or DEFER
| Component | Verdict | Why |
|---|---|---|
Chat-as-home (PulseHome) | Delete | Replaced by Project Dashboard |
| Notes/Wiki/Chats tab | Restructure: Project Dashboard / Wiki / Sources | Tabs become project-scoped, not global |
| Daily notes feature | Defer to Q3 | Not in research wedge value chain |
| SRS / spaced repetition | Defer | Power-user feature, doesn't drive wedge |
| Folders as primary org | Deprecate | Projects subsume folders |
| Mobile app | Pause, scope to capture-only | Research happens at desk |
| Generic settings sprawl | Compress to 1 page | Researchers want zero-config |
| Wiki Health (current impl) | Replace with lint | Lint is the Karpathy-spec'd version |
| Synthesis cards | Fold into agent's "current thesis" | Same job, better surface |
| Audio Overviews | Stay deferred | Not value chain |
| Multi-surface capture | Keep browser ext, focus on academic sites | Real value for wedge |
Roughly 35% of current UI surface disappears, 30% gets restructured, 35% stays roughly as-is. The backend reuse is much higher (~70%).
Part 4 — The new product surface (UX)
Old home (today)
┌─────────────────────────────────────────┐
│ Pulse Home — chat starters │
│ • Ask about my wiki │
│ • Continue last thread │
│ • Synthesize from inbox │
│ • Find related │
│ │
│ + global tree of all notes (LeftRail) │
│ + chat panel (right) │
└─────────────────────────────────────────┘New home (post-pivot)
┌─────────────────────────────────────────────────────────────┐
│ MindBase ▼ Project: RAG research [⏸ Pause agent] │
├─────────────────────────────────────────────────────────────┤
│ │
│ ⚡ Agent is working │
│ Reading "REPLUG: Retrieval-Augmented Black-Box LMs" │
│ Step 3/7: Extracting claims and entities... │
│ [Pause] [Watch] │
│ │
│ 📝 2 proposals need your approval │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Merge [[LangChain]] and [[langchain-rag]]? │ │
│ │ Reason: Same concept, different slugs from 2 sources│ │
│ │ [Approve] [Reject] [Show me both pages] │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ 🔔 3 things the agent noticed │
│ • Contradiction: [[fine-tuning beats RAG]] vs │
│ [[RAG beats fine-tuning]] (both cite 2024 papers) │
│ • [[ColBERT]] mentioned in 6 sources, no concept page │
│ • Suggested source: "RAG vs Fine-tuning: 2024 update" │
│ │
│ 📊 This week │
│ +14 concept pages • +52 typed links • 3 contradictions │
│ resolved • 8 sources read │
│ │
│ ───────────────────────────────────────── │
│ Open: [Wiki] [Sources] [Activity log] [Ask the agent] │
└─────────────────────────────────────────────────────────────┘The 5 product surfaces (per project)
Dashboard (above) — what the agent did + what needs your attention
Wiki browser — the artifact. Browse
concepts/, see graph, read pages. This is what makes us different from chat-only tools — you can navigate.Sources library — your raw collection. Drop new ones here. See which ones agent has processed.
Activity log — full audit. Every agent action with reason. Filter by type. Rollback any change.
Ask the agent — focused inquiry. Scoped to this project. Answers can be filed back into wiki.
Plus a project switcher and global settings. That's it. ~5 main surfaces vs current ~15.
The "magic moment" demo (the 5-minute video)
[0:00] User: "I'm starting research on RAG for my dissertation."
[0:05] Click "New Project" → name it → done. Agent says hi.
[0:15] Drop 5 RAG papers into Sources.
[0:30] Agent: "Plan: read 5 papers, extract concepts, build initial wiki.
~12 minutes, ~$0.40. Approve?" → [Approve]
[0:45] Watch streaming: "Reading paper 1... Found 6 concepts: REPLUG,
hypothetical documents, query rewriting...
Creating [[REPLUG]]... Creating [[query-rewriting]]...
Linking [[hypothetical-documents]] → [[query-rewriting]] (elaborates)..."
[3:00] Done. Wiki has 23 concept pages, 4 source summaries, 67 typed links.
[3:30] Click [Wiki] → browse. Pages are real. Cited. Cross-linked.
[4:00] User: "Make me a comparison table of the methods."
[4:30] Agent generates a table. User clicks "Save to wiki" → it's now [[methods-comparison]].
[5:00] "And now this wiki grows with every paper you add. Talk to you tomorrow."This is what we record and put on Twitter / HN. Anyone watching gets it instantly.
Part 5 — Business model
Pricing tiers
| Tier | Price | What | Target |
|---|---|---|---|
| Local | $0 | Local-only, unlimited sources, BYO API key. No agent scheduler (you trigger). | Power users / evaluation / OSS evangelists |
| Pro | $20/mo | Hosted LLM (we pay), agent scheduler, sync, browser ext, 500 source ingests/mo, 3 projects | Individual researcher |
| Research | $50/mo | Pro + premium models (Opus, GPT-5) + 5,000 ingests + unlimited projects + scheduled briefs + MCP server access + export-to-book | Professional / heavy user |
| Team (Q3+) | $50/user/mo | Shared projects, RBAC, Slack/meeting connectors | 5-20 person research labs / consulting firms |
Distribution / GTM (sprint-mode tactics)
Pre-launch (weeks 1-12):
Build in public. Tweet weekly progress. Reference Karpathy gist.
Onboard 10 friendly users (PhD friends, founder peers). Get feedback.
Record the 5-min demo. Multiple takes. Make it tight.
Launch week (week 13-14):
Open-source the CLI version of the agent — captures developers searching "how to implement Karpathy's LLM-Wiki." Become the canonical reference implementation.
Tweet thread referencing Karpathy's gist with our demo. Tag Karpathy.
Show HN on a Tuesday 9am ET, title: "Show HN: MindBase — Karpathy's LLM-Wiki pattern as a research agent"
Post to /r/PhD, /r/MachineLearning, /r/AcademicQuant
Write a blog post: "How to actually ship Karpathy's LLM-Wiki pattern."
Post-launch (week 15+):
Iterate based on first-50-user feedback
Ship Pro tier billing (Stripe)
Academic discount (educator / student pricing, 50% off)
Why bootstrap, not raise
Obsidian's $25M ARR with 7 people, zero VC, is the proof point. Research wedge doesn't reward horizontal-growth metrics that VC pushes for. A $50-150k MRR profitable indie business is more sustainable, more defensible, and keeps optionality.
Reserve external capital for if and only if a clear enterprise/team SKU opportunity materializes around month 9-12 with paying design partners.
Moats (in order of strength)
Per-project schema co-evolution — agent gets better tuned to YOUR research style over months. Switching cost compounds.
Local-first + data ownership — required for IP-sensitive, journalism, medical, legal. Cloud-only competitors structurally lose this segment.
Typed contradiction graph — gets denser with corpus. Cold-start disadvantage for competitors.
MCP-as-platform — external agents (Cursor, Claude Code) accumulate into your MindBase. Network effects.
Brand as "the Karpathy-pattern product" — first-mover canonical position via OSS CLI + the gist's reach.
Not a moat: pretty UI, LLM quality, compile speed, folder UX.
Part 6 — 16-week execution plan
Pre-week 0 — kill list + decisions
Before any code: founder sign-off on:
Research wedge (vs reading / horizontal)
Agent-first architecture
Sprint mode (16 weeks to public launch)
Bootstrap path
This pivot plan as canonical
Then delete from main branch (or hide behind flags):
Chat-as-home
Daily journal feature
SRS UI surface
Audio Overviews (already deferred — confirm)
Weeks 1-2 — Agent runtime v0 (the core bet)
Goal: agent can ingest ONE source via plan→execute→approve loop.
packages/core/src/agent/runtime.ts— minimal plan + execute loop, ~300 LOCpackages/core/src/agent/state.ts— JSON-on-disk per-project statepackages/core/src/agent/approvals.ts— approval gateWrap existing
compile()as a tool the agent callsStreaming output via SSE
Ship gate: agent ingests one PDF, proposes 5 actions, user approves, 3 wiki pages created, all logged. End-to-end demo works.
Weeks 3-4 — 3-layer architecture (the Karpathy spec)
Physical
wiki/concepts/directory (LLM-owned)Move existing AI-generated pages from
wiki/notes/→wiki/concepts/wiki/schema.mdper project (with sensible default + UI editor)wiki/INDEX.mdauto-maintained on every ingestMake INDEX.md the primary retrieval path (hybrid search becomes complement)
Ship gate: open the data dir in Obsidian, see the 3-layer separation. Drop a source, watch INDEX.md update.
Weeks 5-6 — Agent UI surface (replaces chat-home)
ProjectDashboard.tsx(mockup above)ApprovalInbox.tsx(proposals with approve/reject/modify)ActivityFeed.tsx(full audit, filterable)AgentConversation.tsx(focused inquiry, with "save to wiki" button)New nav: project switcher + dashboard / wiki / sources / activity / ask
Ship gate: 10 friendly users can use it without tutorial.
Weeks 7-8 — Conversational ingest + lint v1
Conversational ingest UX: stream "discussing takeaways" turn
Multi-source extraction (back to 10-15 page touches per source — fix the prompt regression)
Lint operation v1: contradictions + orphans + missing-concept-pages
Lint surfaces as Dashboard cards
Ship gate: drop 5 papers, watch agent build a 20+ page wiki with contradictions surfaced and INDEX populated.
Weeks 9-10 — Project scope + onboarding
"Project" as first-class entity throughout (data model + UI)
Onboarding wizard: "What are you researching?" → scaffolds Project with per-domain template (Literature Review / Market Research / Investigation / Case File / Topic Tracker)
Per-project schema templates
Source browser ext sharpened for academic sites (arXiv, Scholar, SSRN)
Ship gate: external user (PhD friend) completes onboarding → wiki has 5+ pages → in under 10 minutes, no help.
Weeks 11-12 — Polish + demo
Record THE 5-minute demo video (multiple takes, professional)
Fix every "I noticed X feels broken" from 10-user testing
Write blog post: "How to ship Karpathy's LLM-Wiki pattern"
Pricing page, landing page, signup flow
Stripe integration for Pro tier
Ship gate: end-to-end signup → onboarding → first wiki page → would-pay moment, all clean.
Weeks 13-14 — Open-source SDK + dry run
Extract the agent runtime + tool layer as
mindbase-cliopen-source repo"Implementing Karpathy's LLM-Wiki pattern from scratch" tutorial in the README
Internal demo run-through to 10 trusted people for final feedback
Weeks 15-16 — Public launch
Tuesday 9am ET Show HN
Twitter launch thread, tag Karpathy
Reddit cross-posts (/r/PhD, /r/MachineLearning, /r/AcademicQuant)
Direct outreach to 50 academic Twitter accounts
Launch gate target: 100 sign-ups in 48 hours, 10 paying in first week
Months 4-12 — Iterate to MRR
Q2 (m4-6): Pro tier polish, browser ext v2, $1k → $10k MRR
Q3 (m7-9): Specializations (per-discipline schemas), connectors (Zotero, Readwise, Notion import), reading-wedge SKU launch
Q4 (m10-12): Team SKU beta with 3-5 design partners, $25-40k MRR
Stop-and-reassess gates
Failure trigger 1: Week 8 — if internal team can't build a wiki with 20+ pages from 5 sources in under 30 min, the architecture isn't working. Pause and re-plan.
Failure trigger 2: Week 14 — if 10-user beta retention is <30% after 2 weeks, the wedge or UX is wrong. Pause and pivot within the wedge (try reading wedge first).
Failure trigger 3: Month 6 — if < $1k MRR with 100 active users, business model is wrong. Pause and consider freemium adjustments or enterprise pivot.
Part 7 — Risks (named, with mitigations)
| Risk | Probability | Severity | Mitigation |
|---|---|---|---|
| ChatGPT/Claude Memory eats the casual segment | 70% within 12mo | Medium | Lean into structure + citations + exports for serious users. Different job from chat memory. |
| NotebookLM ships persistent wikis | 50% within 12mo | High | Local-first is our structural edge. Privacy researchers / IP-sensitive can't use cloud. Ship faster. |
| Karpathy pattern doesn't scale past 1000 pages | 30% | Critical | Dogfood at scale immediately. Build scale strategy (clustering, partitioned indexes) ready. |
| Unit economics underwater on Pro tier | 40% | High | Prompt caching, smart model routing (Haiku/Sonnet/Opus tiers), per-user LLM budget, BYO-API option |
| Researchers distrust black-box AI | 40% | High | Provenance everywhere. Audit log visible. "Show me the prompts" mode. Reasons on every action. |
| Solo founder bandwidth | 80% (it's hard) | High | Ruthless scope. NO journal, NO mobile, NO team SKU in year 1. Pivot plan IS the focus mechanism. |
| remio / Dume / new entrant beats us to launch | 50% within 6mo | Medium | Sprint mode + OSS CLI to capture mind-share. Open-source the pattern implementation BEFORE the polished product. |
| The pivot itself is wrong | 20% | Catastrophic | Stop-and-reassess gates at weeks 8 and 14. Failure is recoverable if caught early. |
Part 8 — Decisions you need to make right now
Cannot proceed without these:
Wedge confirmation: Research wedge (recommended) / Reading / Horizontal?
Sprint vs stroll: 16 weeks to launch (sprint) / 6 months careful (stroll)?
Bootstrap vs raise: Bootstrap (recommended) / Seek seed now?
Solo or recruit cofounder: Solo to PMF (recommended) / Find cofounder for Q1?
First kill: Are you OK deleting chat-as-home + daily journal + SRS UI this week?
OSS CLI launch: Are you OK open-sourcing the agent runtime + tool layer as a separate repo? (Strong moat play but means competitors can fork. Recommended yes.)
Public launch date target: ~Aug 2026 (week 16 from now)?
Closing
The current MindBase is a mostly-built engine in the wrong car. The engine is exactly what Karpathy described 7 weeks ago. The car is "AI second brain" — a category with no winners.
Repaint the car. Same engine, different vehicle, sharp wedge.
The next 16 weeks decide whether MindBase becomes the canonical product that researchers cite when asked "how do you keep track of everything you've read?" — or another forgotten note-taking app that pivoted three times and ran out of runway.
Sprint or stroll. Bootstrap or raise. Research wedge or horizontal. One of those answers is the bet I'd make with my own money.
This is a living doc. Update via PR. The first 30-commit session that prompted this pivot is the founder's witness — we built a lot, but most of it served the wrong thesis. This doc is the correction.
512 files · 497 not served here
- .claude-plugin/marketplace.json (not served here)
- .github/workflows/ci.yml (not served here)
- .github/workflows/pages.yml (not served here)
- .gitignore (not served here)
- ATTRIBUTION.md
- AUTOGINEER-RUNS.md
- CHANGELOG.md
- CLAUDE.md
- CONTRIBUTING.md
- Dockerfile (not served here)
- LICENSE
- README.md
- apps/android/.gitignore (not served here)
- apps/android/README.md (not served here)
- apps/android/app/build.gradle.kts (not served here)
- apps/android/app/proguard-rules.pro (not served here)
- apps/android/app/src/main/AndroidManifest.xml (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/APIClient.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/InboxScreen.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/MainActivity.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/PairingScreen.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/QRScannerScreen.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/SettingsScreen.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/ShareReceiverActivity.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/TokenStore.kt (not served here)
- apps/android/app/src/main/kotlin/app/mindbase/android/VoiceScreen.kt (not served here)
- apps/android/app/src/main/res/values/strings.xml (not served here)
- apps/android/app/src/main/res/values/themes.xml (not served here)
- apps/android/build.gradle.kts (not served here)
- apps/android/gradle.properties (not served here)
- apps/android/gradle/libs.versions.toml (not served here)
- apps/android/gradle/wrapper/gradle-wrapper.properties (not served here)
- apps/android/gradlew (not served here)
- apps/android/gradlew.bat (not served here)
- apps/android/settings.gradle.kts (not served here)
- apps/app/bin/mindbase-app.js (not served here)
- apps/app/build.mjs (not served here)
- apps/app/package.json (not served here)
- apps/app/smoke.mjs (not served here)
- apps/browser-ext/.gitignore (not served here)
- apps/browser-ext/README.md (not served here)
- apps/browser-ext/entrypoints/background.ts (not served here)
- apps/browser-ext/entrypoints/options/index.html (not served here)
- apps/browser-ext/entrypoints/options/main.ts (not served here)
- apps/browser-ext/entrypoints/options/style.css (not served here)
- apps/browser-ext/entrypoints/popup/index.html (not served here)
- apps/browser-ext/entrypoints/popup/main.ts (not served here)
- apps/browser-ext/entrypoints/popup/style.css (not served here)
- apps/browser-ext/lib/api.ts (not served here)
- apps/browser-ext/lib/captures.ts (not served here)
- apps/browser-ext/lib/store.ts (not served here)
- apps/browser-ext/package.json (not served here)
- apps/browser-ext/playwright.config.ts (not served here)
- apps/browser-ext/test/badge.spec.ts (not served here)
- apps/browser-ext/test/helpers/extension-fixture.ts (not served here)
- apps/browser-ext/test/popup.spec.ts (not served here)
- apps/browser-ext/test/right-click-capture.spec.ts (not served here)
- apps/browser-ext/tsconfig.json (not served here)
- apps/browser-ext/wxt.config.ts (not served here)
- apps/cli/README.md (not served here)
- apps/cli/package.json (not served here)
- apps/cli/src/commands/ingest.ts (not served here)
- apps/cli/src/commands/init.ts (not served here)
- apps/cli/src/commands/lint.ts (not served here)
- apps/cli/src/commands/query.ts (not served here)
- apps/cli/src/commands/rebuild-index.ts (not served here)
- apps/cli/src/config.ts (not served here)
- apps/cli/src/index.ts (not served here)
- apps/cli/src/output.ts (not served here)
- apps/cli/tsconfig.json (not served here)
- apps/cli/tsup.config.ts (not served here)
- apps/extension/manifest.json (not served here)
- apps/extension/package.json (not served here)
- apps/extension/popup.html (not served here)
- apps/extension/src/background.ts (not served here)
- apps/extension/src/content.ts (not served here)
- apps/extension/src/popup.ts (not served here)
- apps/extension/tsconfig.json (not served here)
- apps/extension/vite.config.ts (not served here)
- apps/ios/.gitignore (not served here)
- apps/ios/MindBase/APIClient.swift (not served here)
- apps/ios/MindBase/ContentView.swift (not served here)
- apps/ios/MindBase/InboxView.swift (not served here)
- apps/ios/MindBase/Info.plist (not served here)
- apps/ios/MindBase/KeychainStore.swift (not served here)
- apps/ios/MindBase/MindBase.entitlements (not served here)
- apps/ios/MindBase/MindBaseApp.swift (not served here)
- apps/ios/MindBase/PairingView.swift (not served here)
- apps/ios/MindBase/QRScannerView.swift (not served here)
- apps/ios/MindBase/VoiceRecorderView.swift (not served here)
- apps/ios/MindBaseUITests/Info.plist (not served here)
- apps/ios/MindBaseUITests/MindBaseUITests.swift (not served here)
- apps/ios/README.md (not served here)
- apps/ios/ShareExtension/Info.plist (not served here)
- apps/ios/ShareExtension/ShareExtension.entitlements (not served here)
- apps/ios/ShareExtension/ShareViewController.swift (not served here)
- apps/ios/project.yml (not served here)
- apps/ios/test.sh (not served here)
- apps/mcp/README.md (not served here)
- apps/mcp/package.json (not served here)
- apps/mcp/server.json (not served here)
- apps/mcp/src/cli.ts (not served here)
- apps/mcp/src/context.ts (not served here)
- apps/mcp/src/index.ts (not served here)
- apps/mcp/src/lib/error.ts (not served here)
- apps/mcp/src/lib/extract-pdf.ts (not served here)
- apps/mcp/src/lib/markdown-bundle.ts (not served here)
- apps/mcp/src/lib/plan-cache.ts (not served here)
- apps/mcp/src/lib/resolve-project.ts (not served here)
- apps/mcp/src/lib/safe-write.ts (not served here)
- apps/mcp/src/lib/synthesis-cache.ts (not served here)
- apps/mcp/src/lib/synthesis-runner.ts (not served here)
- apps/mcp/src/prompts/audit.ts (not served here)
- apps/mcp/src/prompts/brainstorm.ts (not served here)
- apps/mcp/src/prompts/connect.ts (not served here)
- apps/mcp/src/prompts/daily-digest.ts (not served here)
- apps/mcp/src/prompts/explain.ts (not served here)
- apps/mcp/src/prompts/index.ts (not served here)
- apps/mcp/src/prompts/quiz.ts (not served here)
- apps/mcp/src/prompts/write.ts (not served here)
- apps/mcp/src/resources/index.ts (not served here)
- apps/mcp/src/tools/add-rss-feed.ts (not served here)
- apps/mcp/src/tools/answer-card.ts (not served here)
- apps/mcp/src/tools/append-log.ts (not served here)
- apps/mcp/src/tools/append-to-page.ts (not served here)
- apps/mcp/src/tools/apply-template.ts (not served here)
- apps/mcp/src/tools/ask-wiki.ts (not served here)
- apps/mcp/src/tools/atomic-write-context.ts (not served here)
- apps/mcp/src/tools/contribute.ts (not served here)
- apps/mcp/src/tools/create-card.ts (not served here)
- apps/mcp/src/tools/create-daily-note.ts (not served here)
- apps/mcp/src/tools/create-note.ts (not served here)
- apps/mcp/src/tools/export-project.ts (not served here)
- apps/mcp/src/tools/export-subgraph.ts (not served here)
- apps/mcp/src/tools/find-contradictions.ts (not served here)
- apps/mcp/src/tools/find-gaps.ts (not served here)
- apps/mcp/src/tools/find-orphans.ts (not served here)
- apps/mcp/src/tools/find-related.ts (not served here)
- apps/mcp/src/tools/gather-sources.ts (not served here)
- apps/mcp/src/tools/generate-daily-brief.ts (not served here)
- apps/mcp/src/tools/get-graph-insights.ts (not served here)
- apps/mcp/src/tools/get-pulse.ts (not served here)
- apps/mcp/src/tools/index.ts (not served here)
- apps/mcp/src/tools/ingest-execute.ts (not served here)
- apps/mcp/src/tools/ingest-file.ts (not served here)
- apps/mcp/src/tools/ingest-plan.ts (not served here)
- apps/mcp/src/tools/ingest-source.ts (not served here)
- apps/mcp/src/tools/init-project.ts (not served here)
- apps/mcp/src/tools/list-chats.ts (not served here)
- apps/mcp/src/tools/list-feeds.ts (not served here)
- apps/mcp/src/tools/list-recent.ts (not served here)
- apps/mcp/src/tools/list-review-cards.ts (not served here)
- apps/mcp/src/tools/load-project.ts (not served here)
- apps/mcp/src/tools/migrate.ts (not served here)
- apps/mcp/src/tools/quick-capture.ts (not served here)
- apps/mcp/src/tools/read-wiki-page.ts (not served here)
- apps/mcp/src/tools/rebuild-index.ts (not served here)
- apps/mcp/src/tools/recall-chat.ts (not served here)
- apps/mcp/src/tools/research-save.ts (not served here)
- apps/mcp/src/tools/run-wiki-health.ts (not served here)
- apps/mcp/src/tools/save-chat-excerpt.ts (not served here)
- apps/mcp/src/tools/search-all-projects.ts (not served here)
- apps/mcp/src/tools/search-in-project.ts (not served here)
- apps/mcp/src/tools/search-wiki.ts (not served here)
- apps/mcp/src/tools/semantic-search.ts (not served here)
- apps/mcp/src/tools/set-visibility.ts (not served here)
- apps/mcp/src/tools/status.ts (not served here)
- apps/mcp/src/tools/suggest-links.ts (not served here)
- apps/mcp/src/tools/synthesize-topic.ts (not served here)
- apps/mcp/src/tools/tag-note.ts (not served here)
- apps/mcp/src/tools/update-note-section.ts (not served here)
- apps/mcp/src/tools/validate-structure.ts (not served here)
- apps/mcp/test/full-smoke.mjs (not served here)
- apps/mcp/test/smoke.mjs (not served here)
- apps/mcp/test/tools-call.mjs (not served here)
- apps/mcp/tsconfig.json (not served here)
- apps/mcp/tsup.config.ts (not served here)
- apps/plugin/.claude-plugin/marketplace.json (not served here)
- apps/plugin/.claude-plugin/plugin.json (not served here)
- apps/plugin/.gitignore (not served here)
- apps/plugin/.mcp.json (not served here)
- apps/plugin/README.md (not served here)
- apps/plugin/agents/builder.md (not served here)
- apps/plugin/agents/contributor.md (not served here)
- apps/plugin/agents/curator.md (not served here)
- apps/plugin/agents/migrator.md (not served here)
- apps/plugin/agents/researcher.md (not served here)
- apps/plugin/commands/ask.md (not served here)
- apps/plugin/commands/build.md (not served here)
- apps/plugin/commands/contribute.md (not served here)
- apps/plugin/commands/daily-brief.md (not served here)
- apps/plugin/commands/export.md (not served here)
- apps/plugin/commands/init.md (not served here)
- apps/plugin/commands/lint.md (not served here)
- apps/plugin/commands/load.md (not served here)
- apps/plugin/commands/migrate.md (not served here)
- apps/plugin/commands/new-project.md (not served here)
- apps/plugin/commands/research.md (not served here)
- apps/plugin/commands/status.md (not served here)
- apps/plugin/hooks/hooks.json (not served here)
- apps/plugin/hooks/session-start (not served here)
- apps/plugin/package.json (not served here)
- apps/plugin/scripts/build-mcp-bundle.sh (not served here)
- apps/plugin/scripts/verify-plugin.sh (not served here)
- apps/plugin/skills/mindbase/SKILL.md (not served here)
- apps/plugin/templates/README.md.template (not served here)
- apps/plugin/templates/context.md.template (not served here)
- apps/plugin/templates/empty.md.template (not served here)
- apps/plugin/templates/schema-templates/investigation.md.template (not served here)
- apps/plugin/templates/schema-templates/literature-review.md.template (not served here)
- apps/plugin/templates/schema-templates/market-research.md.template (not served here)
- apps/plugin/templates/schema-templates/reading-companion.md.template (not served here)
- apps/plugin/templates/schema-templates/topic-tracker.md.template (not served here)
- apps/plugin/templates/soul.md.template (not served here)
- apps/plugin/tsconfig.json (not served here)
- apps/server/package.json (not served here)
- apps/server/scripts/migrate-original-binaries.ts (not served here)
- apps/server/src/cli.ts (not served here)
- apps/server/src/config.ts (not served here)
- apps/server/src/context.ts (not served here)
- apps/server/src/google-drive.ts (not served here)
- apps/server/src/index.ts (not served here)
- apps/server/src/lib/.gitkeep (not served here)
- apps/server/src/lib/__tests__/layout-guard.test.ts (not served here)
- apps/server/src/lib/__tests__/tree-paths.test.ts (not served here)
- apps/server/src/lib/__tests__/user-attribution.test.ts (not served here)
- apps/server/src/lib/analysis-scheduler.ts (not served here)
- apps/server/src/lib/article-extract.ts (not served here)
- apps/server/src/lib/attachment-helpers.ts (not served here)
- apps/server/src/lib/audio.ts (not served here)
- apps/server/src/lib/binary-probe.ts (not served here)
- apps/server/src/lib/brief-scheduler.test.ts (not served here)
- apps/server/src/lib/brief-scheduler.ts (not served here)
- apps/server/src/lib/brief.test.ts (not served here)
- apps/server/src/lib/brief.ts (not served here)
- apps/server/src/lib/capture-worker.test.ts (not served here)
- apps/server/src/lib/capture-worker.ts (not served here)
- apps/server/src/lib/changes-log.ts (not served here)
- apps/server/src/lib/citations.ts (not served here)
- apps/server/src/lib/classify-worker.ts (not served here)
- apps/server/src/lib/compile-deps.ts (not served here)
- apps/server/src/lib/curation.ts (not served here)
- apps/server/src/lib/daily-entry.test.ts (not served here)
- apps/server/src/lib/daily-entry.ts (not served here)
- apps/server/src/lib/devices.test.ts (not served here)
- apps/server/src/lib/devices.ts (not served here)
- apps/server/src/lib/embedder.ts (not served here)
- apps/server/src/lib/embedding-indexer.ts (not served here)
- apps/server/src/lib/extract-json.ts (not served here)
- apps/server/src/lib/extract-pdf.ts (not served here)
- apps/server/src/lib/feeds.test.ts (not served here)
- apps/server/src/lib/frontmatter.ts (not served here)
- apps/server/src/lib/hash.ts (not served here)
- apps/server/src/lib/inbox.test.ts (not served here)
- apps/server/src/lib/inbox.ts (not served here)
- apps/server/src/lib/layout-guard.ts (not served here)
- apps/server/src/lib/mdns.ts (not served here)
- apps/server/src/lib/model-recommend.test.ts (not served here)
- apps/server/src/lib/model-recommend.ts (not served here)
- apps/server/src/lib/network.ts (not served here)
- apps/server/src/lib/ocr-tesseract.ts (not served here)
- apps/server/src/lib/ocr-worker.ts (not served here)
- apps/server/src/lib/ocr.ts (not served here)
- apps/server/src/lib/query-expand.ts (not served here)
- apps/server/src/lib/rss-worker.test.ts (not served here)
- apps/server/src/lib/rss-worker.ts (not served here)
- apps/server/src/lib/srs-worker.test.ts (not served here)
- apps/server/src/lib/srs-worker.ts (not served here)
- apps/server/src/lib/synthesis-cache.test.ts (not served here)
- apps/server/src/lib/synthesis-cache.ts (not served here)
- apps/server/src/lib/synthesis-worker.ts (not served here)
- apps/server/src/lib/synthesis.ts (not served here)
- apps/server/src/lib/system-info.ts (not served here)
- apps/server/src/lib/tree-paths.ts (not served here)
- apps/server/src/lib/user-attribution.ts (not served here)
- apps/server/src/lib/wiki-health.ts (not served here)
- apps/server/src/manifest.ts (not served here)
- apps/server/src/ops/executors.test.ts (not served here)
- apps/server/src/ops/executors.ts (not served here)
- apps/server/src/ops/gather.test.ts (not served here)
- apps/server/src/ops/gather.ts (not served here)
- apps/server/src/ops/llm.ts (not served here)
- apps/server/src/ops/recipes/build.ts (not served here)
- apps/server/src/ops/recipes/contribute.ts (not served here)
- apps/server/src/ops/recipes/lint.ts (not served here)
- apps/server/src/ops/recipes/research.ts (not served here)
- apps/server/src/ops/runner.test.ts (not served here)
- apps/server/src/ops/runner.ts (not served here)
- apps/server/src/ops/types.ts (not served here)
- apps/server/src/ops/web-search.ts (not served here)
- apps/server/src/routes/agent-history.ts (not served here)
- apps/server/src/routes/analysis.ts (not served here)
- apps/server/src/routes/answer-file-back.ts (not served here)
- apps/server/src/routes/ask.ts (not served here)
- apps/server/src/routes/audit-log.ts (not served here)
- apps/server/src/routes/brief.ts (not served here)
- apps/server/src/routes/capture.ts (not served here)
- apps/server/src/routes/chats.ts (not served here)
- apps/server/src/routes/classify.ts (not served here)
- apps/server/src/routes/compile-stream.ts (not served here)
- apps/server/src/routes/compile.ts (not served here)
- apps/server/src/routes/config.ts (not served here)
- apps/server/src/routes/crosslink.ts (not served here)
- apps/server/src/routes/devices.ts (not served here)
- apps/server/src/routes/feeds.ts (not served here)
- apps/server/src/routes/file_to_wiki.ts (not served here)
- apps/server/src/routes/folders.ts (not served here)
- apps/server/src/routes/google.ts (not served here)
- apps/server/src/routes/graph.ts (not served here)
- apps/server/src/routes/inbox.ts (not served here)
- apps/server/src/routes/ingest-stream.ts (not served here)
- apps/server/src/routes/ingest.ts (not served here)
- apps/server/src/routes/insights.ts (not served here)
- apps/server/src/routes/lint.ts (not served here)
- apps/server/src/routes/network.ts (not served here)
- apps/server/src/routes/obsidian.ts (not served here)
- apps/server/src/routes/ollama.ts (not served here)
- apps/server/src/routes/ops.ts (not served here)
- apps/server/src/routes/project-schema.ts (not served here)
- apps/server/src/routes/project-suggestions.ts (not served here)
- apps/server/src/routes/projects.ts (not served here)
- apps/server/src/routes/pulse.ts (not served here)
- apps/server/src/routes/schema.ts (not served here)
- apps/server/src/routes/search.ts (not served here)
- apps/server/src/routes/semantic-search.ts (not served here)
- apps/server/src/routes/server.ts (not served here)
- apps/server/src/routes/srs.ts (not served here)
- apps/server/src/routes/synthesize.ts (not served here)
- apps/server/src/routes/trash.ts (not served here)
- apps/server/src/routes/tree/__tests__/crud.test.ts (not served here)
- apps/server/src/routes/tree/__tests__/list.test.ts (not served here)
- apps/server/src/routes/tree/__tests__/quick.test.ts (not served here)
- apps/server/src/routes/tree/__tests__/raw.test.ts (not served here)
- apps/server/src/routes/tree/attachments.ts (not served here)
- apps/server/src/routes/tree/backlinks.ts (not served here)
- apps/server/src/routes/tree/crud.ts (not served here)
- apps/server/src/routes/tree/index.ts (not served here)
- apps/server/src/routes/tree/list.ts (not served here)
- apps/server/src/routes/tree/quick.ts (not served here)
- apps/server/src/routes/tree/raw.ts (not served here)
- apps/server/src/routes/tree/template.ts (not served here)
- apps/server/src/safe-path.ts (not served here)
- apps/server/src/schema.ts (not served here)
- apps/server/src/scripts/migrate-concepts-to-layer.ts (not served here)
- apps/server/src/scripts/rebuild-index.ts (not served here)
- apps/server/test/attachments-e2e.test.ts (not served here)
- apps/server/test/brief-e2e.test.ts (not served here)
- apps/server/test/capture-e2e.test.ts (not served here)
- apps/server/test/devices-e2e.test.ts (not served here)
- apps/server/test/graph-e2e.test.ts (not served here)
- apps/server/test/helpers/server-fixture.ts (not served here)
- apps/server/test/ingest-revision.test.ts (not served here)
- apps/server/test/insights-api.test.ts (not served here)
- apps/server/test/mcp-tools-e2e.test.ts (not served here)
- apps/server/test/network-e2e.test.ts (not served here)
- apps/server/test/notes-e2e.test.ts (not served here)
- apps/server/test/pulse-e2e.test.ts (not served here)
- apps/server/test/raw-api.test.ts (not served here)
- apps/server/test/rss-e2e.test.ts (not served here)
- apps/server/test/schema-api.test.ts (not served here)
- apps/server/test/search-e2e.test.ts (not served here)
- apps/server/test/srs-e2e.test.ts (not served here)
- apps/server/test/synthesize-e2e.test.ts (not served here)
- apps/server/test/wiki-edit-e2e.test.ts (not served here)
- apps/server/test/wiki-rename-duplicate.test.ts (not served here)
- apps/server/tsconfig.json (not served here)
- apps/web/index.html (not served here)
- apps/web/package.json (not served here)
- apps/web/playwright.config.ts (not served here)
- apps/web/postcss.config.js (not served here)
- apps/web/src/App.tsx (not served here)
- apps/web/src/components/ActionChip.tsx (not served here)
- apps/web/src/components/AddEntryModal.tsx (not served here)
- apps/web/src/components/AiClientsSetup.tsx (not served here)
- apps/web/src/components/ArticleView.tsx (not served here)
- apps/web/src/components/BulkClassifyModal.tsx (not served here)
- apps/web/src/components/CardsOnArticle.tsx (not served here)
- apps/web/src/components/ChatMessage.tsx (not served here)
- apps/web/src/components/ChatView.tsx (not served here)
- apps/web/src/components/CitationChip.tsx (not served here)
- apps/web/src/components/CommandPalette.tsx (not served here)
- apps/web/src/components/CompileHistoryView.tsx (not served here)
- apps/web/src/components/CompileProgressView.tsx (not served here)
- apps/web/src/components/ContradictionCard.tsx (not served here)
- apps/web/src/components/DailyBriefSettings.tsx (not served here)
- apps/web/src/components/DeviceCard.tsx (not served here)
- apps/web/src/components/DevicesPage.tsx (not served here)
- apps/web/src/components/DrivePickerModal.tsx (not served here)
- apps/web/src/components/EdgeTypeBadge.tsx (not served here)
- apps/web/src/components/FolderBreadcrumb.tsx (not served here)
- apps/web/src/components/GapCard.tsx (not served here)
- apps/web/src/components/GraphView.tsx (not served here)
- apps/web/src/components/InboxList.tsx (not served here)
- apps/web/src/components/InboxPage.tsx (not served here)
- apps/web/src/components/IndexingToast.tsx (not served here)
- apps/web/src/components/IngestForm.tsx (not served here)
- apps/web/src/components/KindFilterChips.tsx (not served here)
- apps/web/src/components/NetworkPanel.tsx (not served here)
- apps/web/src/components/NoteContextMenu.tsx (not served here)
- apps/web/src/components/NotePane.tsx (not served here)
- apps/web/src/components/PairCodeQR.tsx (not served here)
- apps/web/src/components/PulseHome.tsx (not served here)
- apps/web/src/components/RawSourceView.tsx (not served here)
- apps/web/src/components/RenameNoteModal.tsx (not served here)
- apps/web/src/components/ReviewView.tsx (not served here)
- apps/web/src/components/RssFeedsSettings.tsx (not served here)
- apps/web/src/components/SchemaSettings.tsx (not served here)
- apps/web/src/components/SearchResultRow.tsx (not served here)
- apps/web/src/components/SelectionToolbar.tsx (not served here)
- apps/web/src/components/SettingsPage.tsx (not served here)
- apps/web/src/components/SettingsScreen.tsx (not served here)
- apps/web/src/components/SetupWizard.tsx (not served here)
- apps/web/src/components/SrsSettings.tsx (not served here)
- apps/web/src/components/TimeGroupedList.tsx (not served here)
- apps/web/src/components/Toast.tsx (not served here)
- apps/web/src/components/TodaysBriefCard.tsx (not served here)
- apps/web/src/components/TrashView.tsx (not served here)
- apps/web/src/components/WikiHealthSection.tsx (not served here)
- apps/web/src/components/WikiHealthView.tsx (not served here)
- apps/web/src/components/WikiHome.tsx (not served here)
- apps/web/src/components/WikilinkPopover.tsx (not served here)
- apps/web/src/components/chat/FileBackModal.tsx (not served here)
- apps/web/src/components/dashboard/ProjectDashboard.tsx (not served here)
- apps/web/src/components/editor/AIBubbleMenu.tsx (not served here)
- apps/web/src/components/editor/EditorToolbar.tsx (not served here)
- apps/web/src/components/editor/LivePreviewEditor.tsx (not served here)
- apps/web/src/components/editor/SlashMenu.tsx (not served here)
- apps/web/src/components/editor/WikiEditor.tsx (not served here)
- apps/web/src/components/editor/plugins/callout.ts (not served here)
- apps/web/src/components/editor/plugins/citation.ts (not served here)
- apps/web/src/components/editor/plugins/image-paste.ts (not served here)
- apps/web/src/components/editor/plugins/slash-menu.ts (not served here)
- apps/web/src/components/editor/plugins/wikilink.ts (not served here)
- apps/web/src/components/editor/slashCommands.ts (not served here)
- apps/web/src/components/editor/wikilinkAutocomplete.ts (not served here)
- apps/web/src/components/empty/EmptyState.tsx (not served here)
- apps/web/src/components/empty/InboxEmpty.tsx (not served here)
- apps/web/src/components/empty/RecentEmpty.tsx (not served here)
- apps/web/src/components/empty/TreeEmpty.tsx (not served here)
- apps/web/src/components/ingest/IngestApprovalModal.tsx (not served here)
- apps/web/src/components/note/BacklinksPanel.tsx (not served here)
- apps/web/src/components/note/MiniGraphPanel.tsx (not served here)
- apps/web/src/components/note/OutlinePanel.tsx (not served here)
- apps/web/src/components/note/RightRail.tsx (not served here)
- apps/web/src/components/onboarding/OnboardingWizard.tsx (not served here)
- apps/web/src/components/ops/FindingCard.tsx (not served here)
- apps/web/src/components/ops/OpRun.tsx (not served here)
- apps/web/src/components/ops/SlashMenu.tsx (not served here)
- apps/web/src/components/ops/ops-types.ts (not served here)
- apps/web/src/components/settings/DataLocationView.tsx (not served here)
- apps/web/src/components/settings/SchemaEditor.tsx (not served here)
- apps/web/src/components/settings/SchemaSettingsView.tsx (not served here)
- apps/web/src/components/shell/AppShell.tsx (not served here)
- apps/web/src/components/shell/Canvas.tsx (not served here)
- apps/web/src/components/shell/CanvasToolbar.tsx (not served here)
- apps/web/src/components/shell/ChatEmptyState.tsx (not served here)
- apps/web/src/components/shell/ChatInputShell.tsx (not served here)
- apps/web/src/components/shell/ChatPane.tsx (not served here)
- apps/web/src/components/shell/LeftRail.tsx (not served here)
- apps/web/src/components/shell/LiveEditIndicator.tsx (not served here)
- apps/web/src/components/shell/PageTabStrip.tsx (not served here)
- apps/web/src/components/shell/ProjectSwitcher.tsx (not served here)
- apps/web/src/components/shell/ProvenanceTrail.tsx (not served here)
- apps/web/src/components/shell/StatusBar.tsx (not served here)
- apps/web/src/components/shell/StreamView.tsx (not served here)
- apps/web/src/components/shell/TitleBar.tsx (not served here)
- apps/web/src/components/tree/CategoryTreeRoot.tsx (not served here)
- apps/web/src/index.css (not served here)
- apps/web/src/lib/api.ts (not served here)
- apps/web/src/lib/citations.ts (not served here)
- apps/web/src/lib/compile.ts (not served here)
- apps/web/src/lib/dot-kind.ts (not served here)
- apps/web/src/lib/folders.ts (not served here)
- apps/web/src/lib/notes.ts (not served here)
- apps/web/src/lib/outline.test.ts (not served here)
- apps/web/src/lib/outline.ts (not served here)
- apps/web/src/lib/schema-yaml.ts (not served here)
- apps/web/src/lib/search.ts (not served here)
- apps/web/src/lib/synthesis.ts (not served here)
- apps/web/src/lib/time-buckets.ts (not served here)
- apps/web/src/lib/trash.ts (not served here)
- apps/web/src/lib/tree-filter.test.ts (not served here)
- apps/web/src/lib/tree-filter.ts (not served here)
- apps/web/src/lib/wikiPaths.ts (not served here)
- apps/web/src/main.tsx (not served here)
- apps/web/src/store/backlinks-cache.ts (not served here)
- apps/web/src/store/canvas-route.ts (not served here)
- apps/web/src/store/chat.ts (not served here)
- apps/web/src/store/folders.ts (not served here)
- apps/web/src/store/hoist.ts (not served here)
- apps/web/src/store/live-edit.ts (not served here)
- apps/web/src/store/note-titles.ts (not served here)
- apps/web/src/store/page-tabs-sync.ts (not served here)
- apps/web/src/store/page-tabs.ts (not served here)
- apps/web/src/store/projects.ts (not served here)
- apps/web/src/store/recent-notes.ts (not served here)
- apps/web/src/store/settings.ts (not served here)
- apps/web/src/store/shell-state.ts (not served here)
- apps/web/src/store/theme.ts (not served here)
- apps/web/src/store/toast.ts (not served here)
- apps/web/src/store/tree.ts (not served here)
- apps/web/src/theme/tokens.css (not served here)
- apps/web/tailwind.config.ts (not served here)
- apps/web/test/active-wiki.spec.ts (not served here)
- docs/guide.md
- docs/llm-wiki.md
- docs/manual-smoke-checklist.md
- docs/pivot-plan-2026-05-25.md
- docs/product-strategy-2026-05-25-addendum.md
- docs/product-strategy-2026-05-25.md
- docs/remote-access.md
- docs/testing-walkthrough.md
Advantages
- Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
- Works with 14 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
- Plain markdown memory that you can read and edit yourself (a rule-derived fact from the brain’s files, evidence: README.md)
- No API key is named in its files (a rule-derived fact from the brain’s files, evidence: README.md)
- Open licence (MIT) (a rule-derived fact from the brain’s files)
Limitations
- Runs code automatically: review what it runs before you open it (a rule-derived fact from the brain’s files)
- No ZIP download: install it from its source (a rule-derived fact from the brain’s files)
Security
Risk level: Medium risk
This brain runs
Agent instructions that run or fetch something (12)
CLAUDE.md:MindBase implements Andrej Karpathy's **LLM-Wiki pattern** (`docs/llm-wiki.md`), turned into a product for users who can't or won't run `claude-code + obsidian + a hand-written CLAUDE.md` themselves.CLAUDE.md:pnpm monorepo: `packages/core` (TS strict, vitest), `apps/server` (Express), `apps/web` (React 19 + Zustand), `apps/browser-ext`, `apps/mcp`, `apps/mobile`.CLAUDE.md:Server dev: `pnpm -F @mindbase/server dev` (tsx watch).CLAUDE.md:Web dev/build: `pnpm --filter @mindbase/web {dev,build,typecheck}`.CLAUDE.md:After modifying `packages/core` types, `pnpm --filter @mindbase/core build` before re-typechecking dependents.CLAUDE.md:Install via `claude --plugin-dir apps/plugin` for local dev or `/plugin install mindbase@mindbase` when published.CLAUDE.md:`apps/skill/` was removed in 2026-06-09 — the legacy `install.sh` skill-based deploy is gone;CLAUDE.md:the plugin is the only install path.CLAUDE.md:Plugin builds: `pnpm -F @mindbase/plugin build` (bundles `apps/mcp` into `apps/plugin/mcp-server/dist`).apps/plugin/skills/mindbase/SKILL.md:If none → tell user to run `/mb:load` or `/mb:init`apps/plugin/skills/mindbase/SKILL.md:Always call `mindbase_contribute` (plan/approve/execute primitive).apps/plugin/skills/mindbase/SKILL.md:Read → discuss → propose plan → execute.
MCP servers (4)
README.md(mindbase):npx -y mindbase-mcpREADME.md(mindbase):npx -y mindbase-mcpREADME.md(mindbase):npx -y mindbase-mcpapps/plugin/.mcp.json(mb):npx -y mindbase-mcp
Hooks (1)
apps/plugin/hooks/hooks.json(SessionStart):${CLAUDE_PLUGIN_ROOT}/hooks/session-start
- Medium risk: runs-mcp-server-unpinned-runner (README.md:88)
- Medium risk: runs-mcp-server-unpinned-runner (README.md:101)
- Medium risk: runs-mcp-server-unpinned-runner (README.md:114)
- Medium risk: runs-mcp-server-unpinned-runner (apps/plugin/.mcp.json)
Attribution and licence
- First committed by
frankchu91
- Publisher
- Haobing(Frank) Chu (Community)
- Source
- frankchu91/mindbase-llm-wiki · commit c5273d2
- Licence
- MIT License (files served here)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- frankchu91
AutoGineer is not affiliated with or endorsed by frankchu91.
Install from source
497 of its files are not served here, so there is no ZIP. frankchu91/mindbase-llm-wiki at c5273d2