# Enesis A warm, literary journal app. Built with Tauri, Nuxt UI, and the `@enesis/editor` block markdown engine. Daily notes are flat markdown files (`journals/YYYY-MM-DD.md`) — readable anywhere, no lock-in. A SQLite index provides full-text search and backlinks. The visual identity (Hearthside theme) leans into warmth: Lora serif, clay primary, stone neutrals, earthy semantics. ## Quick start ```bash pnpm install pnpm generate # static build pnpm tauri dev # or: pnpm tauri build ``` ## Stack | Layer | Technology | |---|---| | Desktop shell | Tauri v2 (Rust) | | Frontend | Nuxt 3 + Vue 3 + TypeScript | | UI framework | Nuxt UI v4 | | Editor engine | `@enesis/editor` (Lezer-based block markdown) | | Index | SQLite via `tauri-plugin-sql`, FTS5 | | File watching | `notify` crate | ## Theme — Hearthside Warm, earthy, literary. Lora serif throughout, clay primary, orange secondary, stone neutral base, rose/emerald/amber/sky for semantics. Configured in `app.config.ts` and `assets/main.css`. ## Development ```bash pnpm dev # Vite dev server pnpm tauri dev # Tauri desktop dev pnpm generate # Static pre-render (for Tauri) pnpm test:e2e # Playwright E2E (in packages/editor) ``` ## Project structure ``` src/ assets/main.css # Tailwind + theme tokens + font app.config.ts # Nuxt UI color mappings components/ JournalDay.vue # One Editor per day JournalView.vue # Reverse-chronological feed TimelineRail.vue # Density dot timeline AppRightSidebar.vue # References + search layouts/default.vue # Sidebars + editor shell composables/ # useFileSystem, useDates, etc. stores/ # Pinia: workspace, ui lib/ # Indexer, schema, parse helpers src-tauri/ src/lib.rs # Rust commands + plugins icons/ # App icons (clay block logo) public/ favicon.svg # Clay block stacking logo ```