AI-powered block-based editor with end-to-end encryption, built with React, TypeScript, and Tauri.
Features β’ Installation β’ Usage β’ Development
- Rich Block Types: Paragraph, headings (H1-H3), bullet lists, numbered lists, todo lists, code blocks, quotes
- Table of Contents: Automatic TOC generation from headings with smooth navigation and toggle visibility (v2.13)
- Slash Commands: Quick block type selection with
/command - Rich Text Formatting: Bold, italic, underline, strikethrough, inline code, and clickable links
- Drag & Drop: Reorder blocks intuitively
- List Indentation: Tab/Shift+Tab for nested lists (up to 4 levels)
- Keyboard Shortcuts: Efficient editing with familiar shortcuts
- End-to-End Encryption: AES-256-GCM encryption for documents
- Master Password: PBKDF2 key derivation with 100,000 iterations
- Session Management: Auto-lock with configurable timeout
- Privacy First: Password stored in memory only, never persisted
- Multiple Providers: Support for OpenAI, Anthropic, Ollama, and custom providers
- AI Templates: Create and manage reusable generation templates
- Content Generation: Generate text with AI directly in the editor
- Variable-Based Prompts: Dynamic template system with custom variables
- Multi-Language: Full support for English and French
- Instant Switching: Change language without page reload
- Complete Coverage: All UI elements fully translated
- Hierarchical Folders: Organize documents in folders and subfolders
- Subfolder Creation: Create complete folder hierarchies with nested subfolders (v2.11)
- Document Moving: Easily move documents between folders with visual folder picker (v2.11)
- File Explorer Modal: Full-screen file browser with grid/list views, advanced search and filtering (v2.12)
- Tags System: Categorize documents with custom tags
- Favorites: Star important documents for quick access
- Smart Search: Real-time search across all documents
- Default Draft Folder: New documents automatically organized
- Local Storage: All data stored locally using IndexedDB
- Multiple Documents: Organize your work in separate documents
- Markdown Import/Export: Full markdown support
- DOCX Export/Import: Export to Microsoft Word format and import HTML/DOCX files (v2.10)
- PDF Export: Generate PDF documents for sharing
- Auto-Save: Changes saved automatically
- Welcome Document: Interactive onboarding guide showcasing all features
- Cross-Platform: Native apps for Windows, macOS (Intel & ARM), and Linux
- Offline-First: Works completely offline
- Fast & Lightweight: Built with Tauri for minimal resource usage
Download the latest release for your platform from the Releases page:
- Windows:
lumina-x86_64-pc-windows-msvc.exe - macOS (Intel):
lumina-x86_64-apple-darwin.app - macOS (ARM):
lumina-aarch64-apple-darwin.app - Linux:
lumina-x86_64-unknown-linux-gnu.AppImage
# Clone the repository
git clone https://github.com/sitle/lumina.git
cd lumina
# Install dependencies
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:build- Enter: Create new block
- Backspace: Delete empty block or merge with previous
- Tab/Shift+Tab: Indent/outdent lists
- Cmd/Ctrl + B: Bold text
- Cmd/Ctrl + I: Italic text
- Cmd/Ctrl + U: Underline text
- Cmd/Ctrl + K: Insert link
Type / to open the command menu:
/h1,/h2,/h3: Headings/bullet: Bullet list/numbered: Numbered list/todo: Todo list with checkboxes/code: Code block/quote: Quote block/divider: Horizontal divider
#,##,###: Headings-,*: Bullet list1.: Numbered list- [ ]: Todo list (unchecked)- [x]: Todo list (checked)`: Code block>: Quote
- Go to Settings β Security
- Click "Encrypt All Documents"
- Set a master password
- Your documents are now encrypted with AES-256-GCM
- Use the Lock/Unlock button to secure your session
- Frontend: React 18 + TypeScript 5
- UI Framework: Tailwind CSS + shadcn/ui
- Desktop Framework: Tauri v2
- Database: IndexedDB (via Dexie.js)
- Encryption: Web Crypto API
- Build Tool: Vite
/lumina
βββ src/ # React frontend
β βββ components/
β β βββ blocks/ # Block components
β β βββ editor/ # Editor components
β β βββ ui/ # UI components (shadcn)
β βββ lib/
β β βββ blocks/ # Block system logic
β β βββ editor/ # Editor context & logic
β β βββ encryption/ # Encryption services
β β βββ ai/ # AI integration
β β βββ markdown/ # Markdown converter
β β βββ db/ # Database services
β βββ types/ # TypeScript definitions
βββ src-tauri/ # Tauri backend
β βββ src/ # Rust code
β βββ icons/ # Application icons
βββ .github/workflows/ # CI/CD pipelines
- Node.js 18+
- Rust 1.70+
- Platform-specific dependencies (see Tauri docs)
npm run dev # Start Vite dev server
npm run tauri:dev # Start Tauri app in dev mode
npm run build # Build frontend
npm run tauri:build # Build Tauri app for production
npm run lint # Run ESLintThe project uses GitHub Actions to automatically build and release for all platforms.
To create a new release:
- Update version in
package.jsonandsrc-tauri/tauri.conf.json - Commit the changes:
git add package.json src-tauri/tauri.conf.json git commit -m "chore: bump version to X.Y.Z" - Create and push a version tag:
git tag vX.Y.Z git push origin vX.Y.Z
- GitHub Actions will automatically:
- Build for macOS (Universal binary - Intel + ARM)
- Build for Windows (x64)
- Build for Linux (AppImage)
- Create a GitHub Release with all binaries
- Upload all artifacts to the release
Monitor the build:
gh run watch
# or visit: https://github.com/sitle/lumina/actionsThe release will be available at: https://github.com/sitle/lumina/releases/tag/vX.Y.Z
-
New Block Type:
- Add type to
src/types/block.ts - Register in
src/lib/blocks/block-registry.ts - Implement rendering in
src/components/blocks/BlockComponent.tsx - Add markdown conversion in
src/lib/markdown/markdown-converter.ts
- Add type to
-
New AI Provider:
- Create provider in
src/lib/ai/providers/ - Register in
src/lib/ai/ai-service.ts - Add settings in
src/components/editor/AISettings.tsx
- Create provider in
Lumina takes security seriously:
- Client-Side Encryption: All encryption happens locally in your browser
- No Server: No data is sent to external servers
- Open Source: Transparent codebase for security audits
- Standard Algorithms: Uses Web Crypto API with AES-256-GCM
- Key Derivation: PBKDF2 with 100,000 iterations
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see LICENSE file for details.
