# Graph Notes A local-first, graph-based note-taking app built with Tauri, React, and Rust. Think Obsidian meets Roam — your notes live as plain Markdown files on disk, connected by `[[wikilinks]]` and visualized as an interactive knowledge graph. ## Features **Core Editing** - Rich contenteditable editor with inline Markdown styling - `[[Wikilink]]` autocomplete with note creation on the fly - Slash commands, heading folding, split-pane editing - Tabbed editor with drag-reorder **Knowledge Graph** - Force-directed graph visualization with semantic zoom - Graph filtering, focus mode, orphan detection - Local backlink graph and analytics dashboard **Organization** - Sidebar file tree with drag-and-drop, folders, favorites, pinning - Full-text search, command palette (`⌘K`), tags - Calendar view, timeline view, kanban board **Advanced** - Frontmatter properties panel and database views (table/gallery/list) - Dataview queries — inline `TABLE ... SORT ...` blocks - Canvas whiteboard for freeform visual thinking - Spaced repetition flashcards (SM-2 scheduling) - Note encryption (AES-256-GCM with Argon2 key derivation) - Git sync (commit/push/pull panel) - Version history with inline diff viewer **Customization** - 5 built-in themes with live preview - Custom CSS snippets editor - Configurable keyboard shortcuts - Workspace layouts (save/restore window arrangements) **Import / Export** - Export vault as ZIP, individual notes as HTML or PDF - Import Markdown folders from Obsidian, Notion, etc. ## Tech Stack | Layer | Technology | |---|---| | Desktop shell | [Tauri v2](https://tauri.app) | | Frontend | React 19, TypeScript, Vite | | Backend | Rust (filesystem, search, encryption, graph) | | Styling | Tailwind CSS 4 + custom design tokens | | Graph engine | [@blinksgg/canvas](https://github.com/blinksgg), d3-force, graphology | ## Development ```bash # Install dependencies npm install # Run in development mode (starts both Vite dev server and Tauri) npm run tauri dev # Build for production npm run tauri build ``` ### Prerequisites - [Node.js](https://nodejs.org) ≥ 18 - [Rust](https://rustup.rs) toolchain - [Tauri v2 prerequisites](https://v2.tauri.app/start/prerequisites/) ## Project Structure ``` ├── src/ # React frontend │ ├── components/ # 33 UI components │ ├── lib/ # Commands, frontmatter, wikilinks, note cache │ └── index.css # Design system (tokens, component styles) ├── src-tauri/ # Rust backend │ └── src/lib.rs # Tauri commands (notes, graph, search, encryption, git) ├── vault/ # Default vault directory (gitignored) └── package.json ``` ## License MIT