A lightweight, offline-first personal knowledge workspace for a family user. RTWiki runs entirely on a local Windows PC — no accounts, no internet connection, no cloud dependency. Pages are built visually with block-based editing and rich content. RTWiki is designed first and foremost to receive rich study notes generated by external AI tools — text, formulas, pictures, cards, tabs, callouts, tables, diagrams, mind maps, and optional custom HTML/CSS/JS — and store them as structured, visually editable pages. The final result is a single portable Windows application that anyone can download and run.
MVP foundation implemented — rich-content features planned
The application foundation and portable Windows build are implemented. Rich-content features (AI-generated note import, native rich blocks, sandboxed custom content) are planned and documented in the docs/ folder. All architecture decisions are recorded in the Architecture Decision Records.
- Completely offline — no runtime internet dependency
- No accounts or authentication — one shared workspace for the whole family
- Block-based visual editor — drag-and-drop blocks, slash menu, formatting toolbar
- Rich content — headings, lists, checklists, quotes, tables, code blocks, cards, tabs, callouts, grids, formulas, Mermaid diagrams, mind maps, images, PDFs, and document attachments
- AI-generated content workflow — RTWiki imports rich pages produced by external AI tools through paste, file drop, the RTWiki note-package (
.rtwiki.zip), or a localhost-only import API. Markdown is a basic interchange format, not the preferred one. - Import and export — paste from AI responses and websites; import the RTWiki note-package (
.rtwiki.zip), HTML, or Markdown (Markdown and HTML are fallbacks when a package is not available) - Page linking, tags, and search — flexible organization with local full-text search
- Autosave, undo/redo, backup and restore
- Light and dark themes
- Portable Windows executable — download and run; no install process required
- No audio or video support
- No cloud dependency or network-required AI features — the app receives AI-generated content offline; the RTWiki core has no AI dependency. A future optional AI chat may use either a local-model adapter (offline) or an explicitly-selected cloud provider (opt-in, with disclosure of what is sent); see Roadmap
Full requirements are documented in PRODUCT_REQUIREMENTS.md.
| Layer | Technology |
|---|---|
| Runtime | Bun |
| Backend | Hono |
| Database | SQLite (Bun SQLite) with FTS5 |
| ORM | Drizzle ORM |
| Frontend | React with TypeScript, Vite |
| Editor | BlockNote (with @blocknote/math-block and @blocknote/diagram-block) |
| UI Library | Mantine UI |
| HTML Sanitization | DOMPurify |
| Icons | Tabler Icons React |
| Build / CI | GitHub Actions on windows-latest |
Exact stable versions for all dependencies will be selected and pinned during the implementation phase. Major versions will never float. Compatibility between React, BlockNote, Mantine, and Vite takes priority over selecting the newest version.
See ARCHITECTURE.md and the ADRs for details.
- Product Requirements — complete list of confirmed requirements
- MVP Scope — milestone plan and deferred features
- Roadmap — phased feature rollout beyond the MVP
- Acceptance Criteria — measurable pass/fail criteria for MVP
- AI Content Import — RTWiki note-package contract and shared import pipeline
- Reference Research — comparable tools and libraries researched
- Architecture — modular monolith design, layer boundaries, data flow
- Data Model — entities, relationships, and indexing strategy
- Security — threat model and security requirements
- Development Standards — enforceable coding rules and conventions
- CI / CD — GitHub Actions workflow plan
- Debug Mode — opt-in structured client diagnostics (
logs/rtwiki-debug.jsonl) - Visual Knowledge Blocks — Formula, Diagram, Mind Map and Callout blocks with the Mermaid security model
- Visual MVP Tracker - phased implementation progress
- ADR Index
- ADR-001: Browser-first Local Application — Accepted (native-wrapper rejection superseded by ADR-011)
- ADR-002: Bun, Hono, and SQLite — Accepted
- ADR-003: React, BlockNote, and Mantine — Accepted
- ADR-004: Canonical BlockNote JSON Format — Accepted
- ADR-005: Portable Data Layout Beside the Executable — Accepted
- ADR-006: Rich-Content Model and Note-Package Import Contract — Accepted
- ADR-007: Sandboxed Custom HTML/CSS/JS — Accepted
- ADR-011: Tauri Desktop Wrapper — Accepted
RTWiki runs an automatic documentation check on every pull request and on every push to main.
-
No local installation is required — GitHub Actions runs the check for you.
-
Developers who have Bun 1.3.14 installed may optionally run the same check locally:
bun scripts/verify-docs.ts
The verifier checks Markdown links, document structure, required files, ADR status, project status, portable-layout rules, and requirement-ID integrity. See CI / CD for the workflow and scripts/verify-docs.ts for the implementation.