{
  "markdown": "<div align=\"center\">\n\n<img src=\"images/banner.svg\" alt=\"Stellavault — drop anything, it compiles itself into knowledge\" width=\"100%\" />\n\n**The local-first second brain that Claude remembers.**<br/>\nKarpathy's self-compiling wiki × Zettelkasten — fully local, vault-safe, and MCP-native.\n\n[![MCP server](https://img.shields.io/badge/MCP-server-2761e8?logo=anthropic&logoColor=white)](#mcp-integration-21-tools) [![npm](https://img.shields.io/npm/v/stellavault)](https://www.npmjs.com/package/stellavault) [![CI](https://github.com/Evanciel/stellavault/actions/workflows/ci.yml/badge.svg)](https://github.com/Evanciel/stellavault/actions/workflows/ci.yml) [![tests](https://img.shields.io/badge/tests-1200%2B%20passing-brightgreen)]() [![node](https://img.shields.io/badge/node-%E2%89%A520-339933?logo=node.js&logoColor=white)]() [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n\n**English** · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md)\n\n[**🤖 Add to Claude / Cursor**](#mcp-integration-21-tools) · [**⬇ Desktop App**](https://github.com/Evanciel/stellavault/releases/tag/desktop-v0.5.0) · [**⚡ Quickstart**](#install) · [**🌐 Live Demo**](https://evanciel.github.io/stellavault/)\n\n</div>\n\n> **One command to let Claude read your vault:**\n>\n> ```bash\n> npx -y stellavault setup    # wires the MCP server into Claude Code / Desktop, Cursor, Windsurf, or VS Code\n> ```\n>\n> **Claude Code user?** Install the plugin instead — the MCP server plus `/vault-ask`, `/vault-review`, `/vault-decision` skills, in two commands:\n>\n> ```\n> /plugin marketplace add Evanciel/stellavault\n> /plugin install stellavault@stellavault\n> ```\n\n**A second brain that compiles itself.** Stellavault fuses two ideas about how knowledge should live and grow:\n\n- 🧠 **Karpathy's self-compiling wiki** — drop in anything (a PDF, a YouTube link, a passing thought) and it's auto-extracted into `raw/`, then **compiled** into a clean `_wiki/` of concepts and backlinks. Your knowledge re-compiles itself as it grows, instead of rotting in a folder.\n- 🕸️ **Zettelkasten** — atomic notes, `[[wikilinks]]`, and emergent connections, so a *web of ideas* (not a folder tree) becomes the real structure of how you think.\n\nThe result is one local-first knowledge tool — a full markdown editor, a 3D neural graph, hybrid AI search, and spaced-repetition memory decay — shipped as a **desktop app**, **CLI**, **Obsidian plugin**, and **MCP server** that lets **Claude read your entire vault**. No cloud, no API keys, and your original files are never modified.\n\n<p align=\"center\">\n  <img src=\"images/screenshots/graph-main-2.png\" alt=\"3D Knowledge Graph\" width=\"820\" />\n  <br><em>Your vault as a neural network. Local-first, no cloud required.</em>\n</p>\n\n## Contents\n\n[Highlights](#highlights) · [Why Stellavault?](#why-stellavault) · [Install](#install) · [Editor](#editor) · [Pipeline](#the-pipeline) · [Intelligence](#intelligence-what-makes-stellavault-unique) · [Search & Ranking](#search--ranking) · [MCP Integration](#mcp-integration-21-tools) · [3D Visualization](#3d-visualization) · [Configuration](#configuration) · [Performance](#performance) · [Tech Stack](#tech-stack) · [Security](#security) · [Troubleshooting](#troubleshooting)\n\n## Highlights\n\n- 🧠 **It compiles itself.** Drop in a PDF, a YouTube link, or a half-formed thought — Stellavault extracts it to `raw/`, then *compiles* a clean `_wiki/` with concepts and backlinks. Knowledge that organizes itself as it grows.\n- 🔍 **Search that actually finds it.** Hybrid retrieval fuses semantic meaning, exact keywords (BM25), and your own `[[wikilinks]]` / `#tags` with **weighted RRF**, then re-ranks by an FSRS memory model so what you're *actually* using resurfaces. 50+ languages, fully local, zero API keys.\n- 🌌 **Your mind, in 3D.** A real-time neural graph (React Three Fiber) — cluster view with folder drilldown, per-note local graphs, tag overlays, and two-class edges that keep *your* wikilinks visually distinct from AI-inferred similarity. Scales to a full 17k-note vault. A way to *see* the shape of what you know.\n- 🤖 **Claude reads your entire vault.** A first-class **MCP server** (21 tools): Claude can search, ask, draft, lint, and analyze your knowledge from Claude Code, Claude Desktop, Cursor, Windsurf, or VS Code.\n- ⏳ **It never *silently* forgets.** FSRS memory decay surfaces the real notes you're about to lose — plus gap, contradiction, and duplicate detection across the whole vault.\n- 🔒 **Local-first. Vault-safe. Zero keys.** Local embeddings, an on-device vector store, and your original files are **never modified**. Nothing leaves your machine unless you opt in.\n\n## Why Stellavault?\n\nMost tools make you choose between *writing*, *searching*, and *remembering*. Stellavault does all three — locally, and in a way Claude can read.\n\n| | **Stellavault** | Obsidian | Notion | Plain RAG script |\n|---|:---:|:---:|:---:|:---:|\n| Local-first, works offline | ✅ | ✅ | ☁️ cloud | ⚠️ usually cloud |\n| Semantic search, no API key | ✅ | ⚠️ plugin + key | 💰 paid AI | ⚠️ needs key |\n| Original files never modified | ✅ | ✅ | ❌ proprietary | ➖ |\n| Self-compiling (ingest → wiki) | ✅ | ❌ | ❌ | ❌ |\n| 3D knowledge graph | ✅ | 2D / plugin | ❌ | ❌ |\n| Spaced-repetition decay (FSRS) | ✅ | ⚠️ plugin | ❌ | ❌ |\n| Gap / contradiction / dup detection | ✅ | ❌ | ❌ | ❌ |\n| MCP-native (Claude reads your vault) | ✅ | ➖ community | ☁️ cloud | ➖ |\n\n> [!NOTE]\n> Not either/or — Stellavault even runs **inside Obsidian** as a [plugin](https://github.com/Evanciel/stellavault-obsidian). Keep your editor; add a brain.\n\n## Install\n\n### Desktop App (Recommended — one click)\n\n<table>\n  <tr>\n    <td align=\"center\"><a href=\"https://github.com/Evanciel/stellavault/releases/download/desktop-v0.5.0/Stellavault-win32-x64-0.5.0.zip\"><br/><b>⬇ Download for Windows</b><br/><sub>x64 · 258 MB · ZIP</sub></a></td>\n    <td align=\"center\"><a href=\"https://github.com/Evanciel/stellavault/releases/download/desktop-v0.5.0/Stellavault-linux-x64-0.5.0.zip\"><br/><b>⬇ Download for Linux</b><br/><sub>x64 · 237 MB · ZIP</sub></a></td>\n    <td align=\"center\"><br/><b>macOS</b><br/><sub>Coming soon</sub></td>\n  </tr>\n</table>\n\n> [!TIP]\n> Download → Unzip → Run `stellavault.exe` (Windows) or `stellavault` (Linux) → Pick your notes folder → Done.\n\n### CLI (for developers)\n\n```bash\nnpm install -g stellavault    # or: npx stellavault\nstellavault init              # Interactive setup (3 min): index vault + connect AI clients\nstellavault setup             # Connect to Claude Code/Desktop, Cursor, Windsurf, VS Code (one command)\nstellavault graph             # Launch 3D graph in browser\n```\n\n> Requires Node.js 20+. Run `stellavault doctor` to diagnose issues.\n\n### Obsidian Plugin\n\n1. Download `main.js` + `manifest.json` + `styles.css` from [stellavault-obsidian releases](https://github.com/Evanciel/stellavault-obsidian/releases/latest)\n2. Place in `.obsidian/plugins/stellavault/`\n3. Enable in Settings → Community plugins\n4. Start API: `npx stellavault graph` in your vault folder\n\n---\n\n## Editor\n\nFull-featured markdown editor — on par with Obsidian.\n\n<details>\n<summary><b>Full formatting & block support</b> — tables, code, KaTeX, slash commands, wikilinks, split view… <i>(click to expand)</i></summary>\n\n<br/>\n\n| Feature | Status |\n|---------|--------|\n| Bold, Italic, Underline, Strikethrough | ✅ |\n| Headings 1–6 | ✅ |\n| Bullet, Numbered, Task lists (nested checkboxes) | ✅ |\n| Tables (create, resize columns, add/remove rows & cols) | ✅ |\n| Code blocks with syntax highlighting (40+ languages) | ✅ |\n| Images (URL, clipboard paste, drag & drop) | ✅ |\n| KaTeX math rendering (`$E=mc^2$` inline, `$$...$$` display) | ✅ |\n| `/Slash commands` (12 block types, fuzzy search) | ✅ |\n| `[[Wikilink]]` autocomplete | ✅ |\n| Split view (vertical + horizontal, Ctrl+\\\\) | ✅ |\n| Text alignment (left / center / right) | ✅ |\n| Highlight, Superscript, Subscript | ✅ |\n| Smart typography (curly quotes, em/en dashes) | ✅ |\n| Horizontal rules | ✅ |\n\n</details>\n\n---\n\n## The Pipeline\n\n```\nCapture ──→ Organize ──→ Distill ──→ Express\n\nDrop anything → auto-extract → raw/ → compile → _wiki/ → draft\n```\n\nInspired by Karpathy's self-compiling knowledge architecture.\n\n### Ingest 14 Formats\n\n| Input | How |\n|-------|-----|\n| PDF, DOCX, PPTX, XLSX | `stellavault ingest report.pdf` |\n| JSON, CSV, XML, YAML, HTML, RTF | `stellavault ingest data.json` |\n| YouTube | `stellavault ingest https://youtu.be/...` — transcript + timestamps |\n| URL | `stellavault ingest https://...` — HTML → markdown |\n| Text | `stellavault ingest \"quick thought\"` |\n| Folder | `stellavault ingest ./papers/` — batch all files |\n| Desktop / Web UI | Drag & drop files directly |\n\n### Express: Get Knowledge Out\n\n```bash\nstellavault draft \"AI\" --format blog      # Blog post from your vault\nstellavault draft \"AI\" --format outline   # Structured outline\nstellavault draft \"AI\" --ai              # Claude API enhanced ($0.03)\n```\n\nOr use the **Express tab** in the desktop app — enter a topic, pick a format, and generate a draft grounded in your vault. Save to `_drafts/` and edit inline.\n\n---\n\n## Intelligence (What Makes Stellavault Unique)\n\nThese features do **not exist** in Obsidian — even with plugins.\n\n| Feature | Command / Desktop | Description |\n|---------|-------------------|-------------|\n| **Memory Decay** | `stellavault decay` / Memory tab | FSRS-based — shows which real notes you are forgetting |\n| **Knowledge Gaps** | `stellavault gaps` | Detects weak connections between topic clusters |\n| **Contradictions** | `stellavault contradictions` | Finds conflicting statements across your vault |\n| **Duplicates** | `stellavault duplicates` | Near-identical notes with similarity score |\n| **Health Check** | `stellavault lint` | Aggregated vault health score (0–100) |\n| **Learning Path** | `stellavault learn` | AI-personalized review recommendations |\n| **Daily Brief** | Desktop app home screen | Push-type: top decaying notes + stats on app open |\n| **Auto-Tagging** | Automatic on ingest | Content-based keyword extraction + category rules |\n| **Self-Compiling** | `stellavault compile` | raw/ → _wiki/ with extracted concepts + backlinks |\n\n---\n\n## Search & Ranking\n\nHybrid retrieval that fuses multiple signals with **weighted Reciprocal Rank Fusion (RRF)** — tuned for a personal knowledge vault, fully local, zero API keys:\n\n| Signal | What it captures | Default weight |\n|--------|------------------|---------------:|\n| **Semantic** (dense) | meaning; multilingual (50+ languages) | `1.0` |\n| **BM25** (keyword) | exact terms, code, names | `1.0` |\n| **Entity-linking** | your `[[wikilinks]]`, `#tags`, headings, titles — the curated graph | `1.5` |\n| **FSRS recency** | gently surfaces notes you're actively using / forgetting | `±10%` |\n\n- **Entity matching** resolves natural-language queries via fuzzy substring + punctuation-normalized matching (Korean / CJK friendly), with a **per-document diversity cap** so one large note can't flood the top results.\n- **Recency** reuses the same FSRS memory model as the decay engine (not raw file mtime) — a note you're forgetting resurfaces; a mastered evergreen note isn't buried just for being old.\n- **Adaptive rerank** (long-running MCP server) further boosts results by your current session context (recent tags / paths).\n- Every weight is **tunable** per vault or via env vars — see [Configuration](#configuration).\n\n---\n\n## MCP Integration (21 Tools)\n\n```bash\nstellavault setup            # one command → Claude Code, Claude Desktop, Cursor, Windsurf, VS Code\n# or, for Claude Code only:\nclaude mcp add stellavault -- stellavault serve\n```\n\n<details>\n<summary>Manual config (any MCP client) — copy-paste JSON</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"stellavault\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"stellavault\", \"serve\"]\n    }\n  }\n}\n```\n\nListed on the [MCP registry](https://registry.modelcontextprotocol.io) as `io.github.Evanciel/stellavault` (also discoverable via Glama, Smithery, and mcp.so).\n</details>\n\nClaude can search, ask, draft, lint, and analyze your vault directly. Search runs\nthe full hybrid pipeline — **weighted RRF** over semantic + BM25 + entity-linking,\nplus **FSRS recency** and session-adaptive reranking (see [Search & Ranking](#search--ranking)).\n\n| Tool | What it does |\n|------|-------------|\n| `search` | Weighted RRF (semantic + BM25 + entity) + FSRS recency + adaptive rerank |\n| `ask` | Vault-grounded Q&A |\n| `generate-draft` | AI drafts from your knowledge |\n| `get-decay-status` | Memory decay report (FSRS) |\n| `detect-gaps` | Knowledge gap analysis |\n| `create-knowledge-node` | AI creates wiki-quality notes |\n| `federated-search` | P2P search across vaults |\n| + 14 more | Documents, topics, decisions, snapshots, export |\n\n---\n\n## 3D Visualization\n\n- Neural graph with cluster coloring (React Three Fiber)\n- **Cluster view (default)** — a large vault folds into a small galaxy of labeled cluster\n  super-nodes; an in-viewer `[Cluster | All nodes]` toggle switches to the dense raw view\n  without reload, and clicking a super-node drills into that cluster's members\n- Constellation view (MST star patterns)\n- Heatmap overlay + Timeline slider + Decay overlay\n- Multiverse view — your vault as a universe in a P2P network\n- Dark/Light theme\n\n### Graph viewer scaling\n\nThe 3D graph renderer is bounded by two environment knobs (set them in the environment\nbefore launching `stellavault graph`):\n\n| Env var | Default | Applies to | What it caps |\n| --- | --- | --- | --- |\n| `GRAPH_NODE_CAP` | `1500` | **raw / \"All nodes\"** view | # of (most-recent) notes rendered as individual nodes. |\n| `GRAPH_CLUSTER_CAP` | `3000` | **cluster** view (default) | # of notes folded into the galaxy before clustering. |\n\n**Why the caps matter.** Edge construction is an inline **O(n²) all-pairs cosine** loop —\n`n·(n-1)/2` pairs, each over 384 dims (see `packages/core/src/api/graph-data.ts`, the\n`neighbors` loop). At `cap=3000` that is ~4.5M pairs (the multi-second build the 5-minute\nserver cache absorbs); raising toward 13000 is ~84M pairs = **minutes** of build plus a\nmulti-GB intermediate array that **freezes the single-threaded Express handler** (there is no\nworker). The raw \"All nodes\" path is the expensive direction (it runs the full cap), so the\nserver clamps the requested `?cap` per view (raw ≤ 4000, cluster ≤ 6000, rounded) to bound\nboth build cost and cache cardinality.\n\n**Even the default cluster view is cheap to RENDER, not to BUILD.** The first uncached fetch\nof either view runs the scoped-embedding load + the O(n²) cosine pass + k-means + a force\nsettle on a single thread, stalling the handler for seconds. The viewer shows a loading state\non the toggle so the tap isn't silently swallowed during that cold build.\n\n<table>\n  <tr>\n    <td width=\"50%\"><img src=\"images/screenshots/graph-heatmap.png\" alt=\"Heatmap overlay\" /><br/><sub><b>Heatmap</b> — connection density across clusters</sub></td>\n    <td width=\"50%\"><img src=\"images/screenshots/graph-timeline.png\" alt=\"Timeline slider\" /><br/><sub><b>Timeline</b> — watch your vault grow over time</sub></td>\n  </tr>\n  <tr>\n    <td><img src=\"images/screenshots/search-active.png\" alt=\"Semantic search highlight\" /><br/><sub><b>Search</b> — semantic matches highlighted in-graph</sub></td>\n    <td><img src=\"images/screenshots/multiverse-view.png\" alt=\"Multiverse P2P view\" /><br/><sub><b>Multiverse</b> — federated vaults as orbiting universes</sub></td>\n  </tr>\n</table>\n\n---\n\n## Try It Now (Demo Vault)\n\n```bash\nnpx stellavault index --vault ./examples/demo-vault   # Index 10 sample notes\nnpx stellavault search \"vector database\"               # Semantic search\nnpx stellavault graph                                  # 3D graph visualization\n```\n\nThe demo vault includes interconnected notes about Vector Databases, Knowledge Graphs, Spaced Repetition, RAG, MCP, and more — perfect for exploring all features instantly.\n\n---\n\n## Getting Started Guide\n\n### Desktop App\n\n1. **Download** → Unzip → Run\n2. First launch asks you to pick your notes folder\n3. Your notes appear in the sidebar — click to open\n4. Press `Ctrl+P` for quick file switching\n5. Click ✦ in the title bar for AI panel (semantic search, stats, draft)\n6. Click ◉ for 3D graph\n\n### CLI\n\n```bash\nnpm install -g stellavault\nstellavault init                          # Setup wizard\nstellavault search \"machine learning\"     # Semantic search\nstellavault ingest paper.pdf              # Add knowledge\nstellavault graph                         # 3D graph in browser\nstellavault brief                         # Morning briefing\nstellavault decay                         # What are you forgetting?\n```\n\n### Keyboard Shortcuts (Desktop)\n\n| Shortcut | Action |\n|----------|--------|\n| `Ctrl+P` | Quick Switcher (fuzzy file search) |\n| `Ctrl+Shift+P` | Command Palette (all actions) |\n| `Ctrl+S` | Save current note |\n| `Ctrl+\\` | Toggle split view |\n| `Ctrl+B` | Bold |\n| `Ctrl+I` | Italic |\n| `Ctrl+U` | Underline |\n| `Ctrl+E` | Inline code |\n| `/` | Slash commands (at start of line) |\n| `[[` | Wikilink autocomplete |\n\n### Quick Reference\n\n| Action | Desktop | CLI |\n|--------|---------|-----|\n| Search notes | Ctrl+P or AI panel | `stellavault search \"query\"` |\n| Add a note | + Note button or drag & drop | `stellavault ingest \"text\"` |\n| See 3D graph | ◉ button | `stellavault graph` |\n| Memory decay | AI panel → Memory | `stellavault decay` |\n| Generate draft | AI panel → Draft | `stellavault draft \"topic\"` |\n| Health check | AI panel → Stats | `stellavault lint` |\n\n---\n\n## Configuration\n\nStellavault reads `./.stellavault.json` (or `~/.stellavault.json`). Search ranking is fully tunable — sensible defaults work out of the box:\n\n```jsonc\n{\n  \"search\": {\n    \"rrfK\": 60,\n    \"weights\": { \"semantic\": 1.0, \"bm25\": 1.0, \"entity\": 1.5 },\n    \"recencyWeight\": 0.2,                          // FSRS recency strength; 0 = off\n    \"entityAliases\": { \"k8s\": [\"kubernetes\"] }     // synonym / cross-lingual groups (exact-only)\n  }\n}\n```\n\nEnvironment variables override config (parsed with guards):\n\n| Env var | Effect |\n|---------|--------|\n| `STELLAVAULT_W_SEMANTIC` / `_BM25` / `_ENTITY` | per-signal RRF weight (e.g. `STELLAVAULT_W_ENTITY=2.0` for aggressive entity surfacing) |\n| `STELLAVAULT_RECENCY_WEIGHT` | recency strength `0`–`1` (`0` disables) |\n| `STELLAVAULT_DB_PATH` | override the index DB location |\n| `STELLAVAULT_WATCH` | `0` to disable the auto-reindex file watcher while `serve` runs |\n\n> Note: cross-lingual recall (e.g. a Korean query finding English notes) is handled automatically by the multilingual embedding model — `entityAliases` is an optional precision boost for the curated entity graph (tags / wikilinks) and abbreviations.\n\n---\n\n## Performance\n\nTested on synthetic vaults — all operations under 1 second for typical use cases:\n\n| Operation | 100 docs | 500 docs | 1000 docs |\n|-----------|----------|----------|-----------|\n| Store init | 15ms | 15ms | 16ms |\n| Bulk upsert | 12ms | 102ms | ~200ms |\n| Search (BM25) | <1ms | <1ms | <1ms |\n| Get all docs | <1ms | 2ms | ~4ms |\n| 124K dot products | — | 36ms | — |\n\nRun your own benchmarks:\n\n```bash\nnode tests/stress.mjs 500     # Test with 500 synthetic documents\n```\n\nKey optimizations:\n- **HNSW graph building** — sqlite-vec KNN for 200+ docs (O(n·K·log n) vs O(n²))\n- Pre-normalized vectors: cosine similarity → single dot product\n- Batched embedding loading (500/batch, prevents RAM overflow)\n- Upper-triangle brute-force for small vaults (< 200 docs)\n- O(n) K-Means centroid updates with typed arrays\n\n---\n\n## Tech Stack\n\n| Layer | Tech |\n|-------|------|\n| Desktop | Electron + React + TipTap (15 extensions) + Zustand |\n| Runtime | Node.js 20+ (ESM, TypeScript) |\n| Vector Store | SQLite-vec (local, zero config) |\n| Embedding | MiniLM-L12-v2 (local, 50+ languages, batch processing) |\n| Search | Weighted RRF (semantic + BM25 + entity) + FSRS recency |\n| Math | KaTeX (inline + display) |\n| Code | lowlight / highlight.js (40+ languages) |\n| 3D | React Three Fiber + Three.js |\n| AI | MCP (21 tools) + Anthropic SDK |\n| P2P | Hyperswarm (optional, differential privacy) |\n| CI | GitHub Actions (Node 20 + 22) |\n\n---\n\n## Security\n\n- **Local-first** — no data leaves your machine unless you use `--ai`\n- **Vault files never modified** — indexes into SQLite, originals untouched\n- **Electron sandbox enabled** — renderer runs with reduced OS privileges\n- **IPC path validation** — all file operations stay inside vault root\n- **API auth token** — per-session, header-only (`X-Stellavault-Token`). Token endpoint is same-origin-only\n- **CORS allow-list** — `localhost` / `127.0.0.1` only by default; MCP HTTP transport opt-in\n- **SSRF protection** — private IPs blocked on URL ingest\n- **E2E encryption** — AES-256-GCM for cloud sync\n\n### Federation (experimental, off by default)\n\nPeer-to-peer semantic search is shipped as an **opt-in experimental feature**. The default install does **not** join any swarm and never shares data.\n\nEnable explicitly:\n\n```bash\n# PowerShell\n$env:STELLAVAULT_FEDERATION_EXPERIMENTAL = \"1\"\n\n# bash / zsh\nexport STELLAVAULT_FEDERATION_EXPERIMENTAL=1\n\nstellavault federate join\n```\n\nWhen enabled, federation uses Ed25519 identities with signed envelopes, mutual challenge-response handshake, per-envelope replay nonces, handshake timeout, per-peer rate limiting, and a receive-only sharing default (`myNodeLevel=0`). Run `set-level 1+` in the federation prompt to actually share titles/snippets with peers.\n\n> [!WARNING]\n> **Upgrade note (v0.7.4)** — federation wire format bumped from v2.0 to v2.1 (envelope-level nonce). v0.7.3 federation nodes are not compatible. Existing `~/.stellavault/federation/sharing.json` files are **not** auto-downgraded to the safer defaults; review your `myNodeLevel` if you previously opted in.\n\nSee [SECURITY.md](SECURITY.md) for full details.\n\n## Troubleshooting\n\n```bash\nstellavault doctor    # Check config, vault, DB, model, Node version\n```\n\nCommon issues:\n- **\"Command not found\"** → `npm i -g stellavault@latest`\n- **\"API server not found\"** → `npx stellavault graph`\n- **Empty graph** → `stellavault index`\n- **Slow first run** → AI model downloads ~30MB once\n\n## Contributing\n\nIssues and pull requests are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) to get started, and [SECURITY.md](SECURITY.md) to report a vulnerability responsibly.\n\n## License\n\nMIT — full source code available for audit.\n\n## Links\n\n- **[⬇ Download Desktop App](https://github.com/Evanciel/stellavault/releases/tag/desktop-v0.5.0)**\n- [Landing Page](https://evanciel.github.io/stellavault/)\n- [Obsidian Plugin](https://github.com/Evanciel/stellavault-obsidian)\n- [npm](https://www.npmjs.com/package/stellavault)\n- [GitHub Releases](https://github.com/Evanciel/stellavault/releases)\n- [Security Policy](SECURITY.md)\n\n---\n\n<div align=\"center\">\n\n**Found this useful?** ⭐ [**Star Stellavault**](https://github.com/Evanciel/stellavault) — it genuinely helps the project reach more people who think in connected notes.\n\n<sub>Built with ✦ for second-brain builders. · <a href=\"https://github.com/Evanciel/stellavault/releases\">Download</a> · <a href=\"#mcp-integration-21-tools\">Connect Claude</a> · <a href=\"https://github.com/Evanciel/stellavault/issues\">Report an issue</a></sub>\n\n</div>\n",
  "bytes": 23309,
  "sha": "2b6994ab7cd302b6b7c5b22cfe5ece364cc7e409f5dc75f3c7b773e277020012",
  "repo_slug": "evanciel/stellavault",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_evanciel_stellavault_9a5d382b/readme"
}