A local-first knowledge management studio — rich notes, knowledge graph, mind maps, full-text search, and AI agent integration in a single browser-based app.
Quick Links: Quick Start · Features · Architecture · AI Agents · Contributing
do-knowledge-studio is a local-first, offline-capable knowledge management application built with React, TypeScript, and SQLite WASM. It combines a rich-text editor, an interactive knowledge graph, mind mapping, blazing-fast full-text search, and a static site export — all running entirely in the browser with no backend required.
It also ships with a production-ready AI agent harness supporting Claude Code, Gemini CLI, OpenCode, Qwen Code, Windsurf, and Cursor — making it a great base for AI-assisted personal knowledge management workflows.
- 📝 Rich Text Editor — TipTap-powered WYSIWYG editor with Markdown support and placeholder hints
- 🗄️ Local SQLite Database — Persistent, offline-first storage via
@sqlite.org/sqlite-wasmwith FTS5 full-text search - 🔍 Semantic & Full-Text Search — Orama-powered in-browser search index for fast, context-aware retrieval
- 🕸️ Knowledge Graph — Interactive node-link graph built with Graphology + Sigma.js; focus mode for deep neighborhood exploration
- 🧠 Mind Maps — Visual mind mapping with Mind Elixir for brainstorming and concept structuring
- 📤 Static Site Export — Turn your knowledge base into a shareable, self-contained static site
- 🤖 Multi-Agent AI Harness — Unified workflow across 6+ AI coding tools with skills, quality gates, and sub-agent patterns
- 🔬 Swarm Analysis — Parallel AI-powered web research using git worktrees
- ⚡ CLI — TypeScript CLI for scripting and automation tasks
- 🧪 Full Test Suite — Vitest unit tests + Playwright end-to-end tests
- Node.js 20+ (install)
- A modern browser (Chrome, Firefox, Edge)
- (Optional) An AI coding CLI: Claude Code, Gemini CLI, OpenCode, Qwen Code
git clone https://github.com/d-oit/do-knowledge-studio.git
cd do-knowledge-studio
npm installnpm run devOpen http://localhost:5173 in your browser.
npm run build
npm run previewcp .env.example .env
# Edit .env as neededsrc/
├── app/ # React app shell, routing, layout
├── db/ # SQLite WASM database layer + FTS5 search
├── features/ # Feature modules (editor, graph, mindmap, search, export)
├── lib/ # Shared utilities and Orama search index
└── main.tsx # Entry point
cli/ # TypeScript CLI for automation
export/ # Static site export engine
scripts/ # Setup and quality gate scripts
tests/ # Playwright e2e tests
| Layer | Technology |
|---|---|
| UI Framework | React 18 + TypeScript 5 |
| Build Tool | Vite 8 |
| Database | SQLite WASM (FTS5) |
| Search | Orama 3 |
| Rich Text | TipTap 2 |
| Graph | Graphology + Sigma.js |
| Mind Map | Mind Elixir 5 |
| Validation | Zod |
| Icons | Lucide React |
| Unit Tests | Vitest 4 |
| E2E Tests | Playwright |
This project ships with a unified AI agent harness that works across multiple tools:
AGENTS.md # Single source of truth for all agents
├── CLAUDE.md # Claude Code overrides
├── GEMINI.md # Gemini CLI overrides
├── QWEN.md # Qwen Code overrides
└── opencode.json # OpenCode configuration
Reusable knowledge modules live in .agents/skills/ and are symlinked into each tool's config directory:
.agents/skills/ # Canonical skill source
.claude/skills/ # Symlinks → ../../.agents/skills/
.gemini/skills/ # Symlinks → ../../.agents/skills/
.qwen/skills/ # Symlinks → ../../.agents/skills/
# Create skill symlinks (run once)
./scripts/setup-skills.sh
# Validate setup
./scripts/validate-skills.shgraph LR
A[Main Agent] --> B[Sub-Agent 1]
A --> C[Sub-Agent 2]
B --> D[Task Complete]
C --> E[Task Complete]
D --> F[Synthesize]
E --> F
# Unit tests
npm run test
# Watch mode
npm run test:watch
# End-to-end tests
npm run test:e2e
# Type checking
npm run typecheck
# Lint
npm run lintnpm run cli -- <command>See cli/ directory for available commands and scripting options.
- 📖 AGENTS.md — AI agent instructions (single source of truth)
- ⚡ QUICKSTART.md — 5-minute setup guide
- 🏗️ Harness Overview — Architecture and patterns
- 🪝 Skills Guide — Creating reusable skills
- 🤖 Sub-Agents — Context isolation patterns
- 🔧 Hooks — Pre/post tool hooks
- 📊 Context — Back-pressure mechanisms
- ⚙️ Configuration — Repository constants and utilities
- 🔄 Migration — Adopting in existing projects
- 🔒 Security — Security policy and reporting
- 📝 Changelog — Release history
Contributions are welcome! See CONTRIBUTING.md for:
- Development environment setup
- Code style and testing requirements
- Pull request process
- Good first issues
- 🐛 Issue Tracker — Report bugs
- 💬 Discussions — Ask questions
Licensed under the MIT License.
Local-first. AI-assisted. Built to think.