Notes based on AppFlowy or notion design
| README.md | ||
Block Notes
Block Notes is a self-hosted, local-first knowledge management app for one user across desktop and mobile.
The project is currently in Phase 0: technical validation. Product work should wait until the risky assumptions in plan/PLAN.md are proven with scripts and notes.
Stack
| Layer | Choice |
|---|---|
| Shell | Tauri 2 |
| UI | React, TypeScript, BlockNote |
| Core | Rust |
| Database | Turso local database |
| Sync | Self-hosted Turso sync server |
| Search | SQLite FTS5 |
Development
Prerequisites:
- Node.js and npm
- Rust toolchain with Cargo
- Tauri system dependencies for the target OS
Install dependencies:
npm install
Run the frontend only:
npm run dev
Run the Tauri app:
npm run tauri dev
Build the frontend:
npm run build
Build the Tauri app:
npm run tauri build
Current State
- React and BlockNote render a smoke-test editor.
- Tauri command boundary exists through
app_diagnostic,list_pages, andcreate_page. - Rust initializes a local
libsqldatabase in the app data directory. - The app creates a default workspace and welcome page on first run.
- Page references are stored as
page_refblocks plus typed rows inblock_references. - Sync server integration is not configured yet.
npm run buildpasses for the frontend.npm run tauri -- build --bundles apppasses for the macOS app bundle.
Phase 0 Rule
No phase is complete until its pass criteria are demonstrated and documented.