A fast, beautiful markdown note-taking app for personal knowledge management. Built with Tauri, React, and CodeMirror.
Features • Screenshots • Installation • Development • License
Editor
- Live Preview, Source, and Reading view modes
- CodeMirror 6 with syntax highlighting, code folding, and bracket matching
- Wiki-links (
[[note]]) with autocomplete, backlink tracking, and heading links - Slash commands — type
/to open an inline command menu (headings, code blocks, callouts, tables, and more) - YAML frontmatter properties editor with type indicators
- Inline image preview with resize and alignment controls
- Math (LaTeX) block preview
- Mermaid diagram rendering
- Callout blocks (
> [!NOTE],> [!WARNING], etc.) - Table editor with column/row manipulation
- Tags with autocomplete, nested tag support, and tag panel
- Highlight syntax (
==highlighted==) - Find and replace across notes (Ctrl+Shift+F)
- Spellcheck with custom dictionary support
- Vim mode (optional)
- Smart lists (auto-continue bullets, tasks, numbered lists)
- Indent guides with customizable style and color
- Code block line numbers
- Embed preview for transclusion (
![[note]]) - Query/Dataview-like preview blocks
Real-Time Collaboration
- Live collaborative editing for shared folder vaults — multiple users edit simultaneously
- Live cursors and selections with user colors
- Collaborators sidebar panel showing who's editing what
- File tree presence dots showing active collaborators per file
- Auto host election with presence file discovery — zero config, just open the same vault
- Password-protected sessions (never saved to disk)
- Automatic host promotion on disconnect
- Collab-aware file operations — rename/delete events sync across all users
- Settings profiles for per-user preferences when sharing a vault
Focus & Writing
- Focus mode with paragraph dimming
- Typewriter mode (keeps current line centered)
- Word count goals with progress tracking
- Auto-save with timer and focus-change modes
- Split panes for side-by-side editing
- Status bar (word count, character count, reading time, selection info)
Canvas Whiteboard
- Infinite canvas for visual thinking with pan, zoom, and snap-to-grid
- Text, file, and link cards with markdown rendering
- Connect cards with edges (arrows, labels, colors, line styles)
- Group nodes for organizing related cards
- Auto-layout (grid, tree, force-directed), alignment, and distribution
- Canvas search, minimap, and export to PNG or SVG
- Undo/redo, copy/paste, duplicate, lock/unlock nodes
.canvasfile format compatible with Obsidian
Knowledge Management
- Backlinks panel showing all notes that link to the current note
- Tag index with tag panel for browsing and renaming
- Graph view visualizing connections between notes
- Bookmarks for quick access to frequently used notes
- Outline panel for heading navigation
- Table of contents generation
- Daily, weekly, monthly, quarterly, and yearly notes with templates
Organization
- Vault-based file management with folder tree
- Quick Open (Ctrl+O) for fast file switching
- Command Palette (Ctrl+P) with 40+ commands and keyboard shortcuts
- Drag-and-drop file reorganization
- File properties dialog (word count, character count, backlinks, tags)
- Template system for creating notes from templates
- Variable replacement system with custom delimiters
- Folder colors with multiple display styles
- GitHub sync for vault backup and collaboration
Import & Export
- Import from Obsidian, Notion, Bear, Roam Research, and plain markdown
- Export to Markdown, HTML, or PDF
- Batch export with customizable options
Customization
- 21+ built-in themes: Catppuccin (Mocha, Macchiato, Frappe, Latte), Nord, Dracula, Gruvbox, Tokyo Night, One Dark, Solarized, Rosé Pine, GitHub, Monokai, Material, Night Owl, Ayu, Kanagawa, Everforest
- Custom theme support via JSON with visual card picker
- Configurable fonts (UI and editor), font sizes, and line height
- Plugin system with sandboxed iframe execution and marketplace
- 30+ configurable feature toggles with per-feature option pages
- Customizable keyboard shortcuts
- Internationalization ready (i18next, 2200+ keys)
Performance & Security
- Native desktop app — no Electron, no browser overhead
- Rust backend for file I/O with canonical path validation and traversal protection
- Collaboration server binds to localhost with Argon2 password hashing
- Plugin HTML sandboxed with restrictive CSP; asset protocol scoped to user documents
- CI pipeline with SHA-pinned actions, cargo clippy, and npm audit
- Files stay on your disk, no cloud dependency
- Lazy-loaded components and namespaced i18n bundles
- Deep link support (
cascade://open/vault/note)
Download the latest release for your platform from the Releases page.
| Platform | Download |
|---|---|
| Windows | .msi installer |
| macOS | .dmg disk image |
| Linux | .AppImage / .deb |
Prerequisites:
# Clone the repository
git clone https://github.com/Real-Fruit-Snacks/Cascade.git
cd cascade
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri buildcascade/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── stores/ # Zustand state stores
│ ├── hooks/ # Custom React hooks
│ ├── i18n/ # Internationalization config
│ ├── locales/en/ # English translation files
│ ├── editor/ # CodeMirror extensions
│ ├── lib/ # Utility functions
│ └── plugin-api/ # Plugin sandbox system
├── src-tauri/ # Rust backend
│ └── src/
│ ├── main.rs # Tauri entry point
│ ├── commands.rs # IPC command handlers
│ └── error.rs # Error types
├── tests/e2e/ # Playwright E2E tests
└── docs/ # Documentation
| Layer | Technology |
|---|---|
| Runtime | Tauri v2 (Rust + WebView) |
| Frontend | React 19 + TypeScript |
| Editor | CodeMirror 6 |
| Styling | Tailwind CSS |
| State | Zustand 5 |
| i18n | react-i18next |
| Themes | Catppuccin + 17 more |
| Testing | Vitest, Playwright |
# Run unit tests
npm test
# Start the app first
npm run tauri dev
# Run E2E tests (requires app to be running)
npx playwright test| Command | Description |
|---|---|
npm run dev |
Start Vite dev server |
npm run build |
TypeScript check + Vite build |
npm run lint |
ESLint check |
npm run tauri dev |
Start Tauri app in dev mode |
npm run tauri build |
Build production binaries |
| Shortcut | Action |
|---|---|
Ctrl+O |
Quick Open |
Ctrl+P |
Command Palette |
Ctrl+N |
New File |
Ctrl+S |
Save |
Ctrl+W |
Close Tab |
Ctrl+Tab |
Next Tab |
Ctrl+Shift+F |
Search in Vault |
Ctrl+, |
Settings |
Ctrl+B |
Toggle Sidebar |
Ctrl+F |
Find in File |
Ctrl+H |
Find and Replace |
Ctrl+Shift+C |
New Canvas |
Alt+D |
Open Daily Note |
Ctrl+Z |
Undo |
Ctrl+Shift+Z |
Redo |












