Todobar is organized into three main layers: a React UI that knows nothing about how it is hosted, a task domain model that owns the data, and a runtime adapter that bridges the UI to either a browser preview or the Tauri native shell. This separation keeps the interface portable while native desktop capabilities remain explicit, permissioned, and replaceable.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Leonxlnx/todobar/llms.txt
Use this file to discover all available pages before exploring further.
Runtime layers
Native shell
The current desktop build targets Tauri v2. It uses the operating system WebView so the binary stays small, and it pulls in Tauri plugins for the capabilities that browsers cannot provide. The main window is configured in tauri.conf.json as frameless, always-on-top, transparent, and skipped from the taskbar:Tauri plugins
| Plugin | Purpose |
|---|---|
@tauri-apps/plugin-global-shortcut | Alt + T / Alt + Shift + T global toggle |
@tauri-apps/plugin-autostart | Launch Todobar at system login |
tauri-plugin-single-instance | Prevent duplicate sidebar windows |
todobar-tray-toggle opens and closes the panel, and todobar-tray-settings opens the settings view.
Data model
Task
The core unit of work is defined insrc/tasks.ts:
priority drives visual treatment: focus tasks appear highlighted, later tasks are visually de-emphasized. reminderAt stores an ISO timestamp for the built-in reminder system.
SidebarSettings
All user-configurable appearance and behavior options are captured in theSidebarSettings type defined in src/sidebarSettings.ts:
localStorage under a versioned key and sanitized on every read to handle missing or legacy fields.
Storage
The current prototype stores tasks and settings in browserlocalStorage inside the Tauri WebView. This provides immediate persistence without a native database dependency.
SQLite (or an equivalent embedded store) is planned for a future version. When that migration happens, the runtime adapter pattern means the UI does not need to change — only the adapter implementation.
Future layers
AI planning
AI is planned as an optional planning layer, not as a database or silent background process. It can propose task edits, summaries, and next actions. The user must approve any writes that originate from external context. The approval flow and an audit log will be visible in the UI.MCP adapters
External context will enter Todobar through MCP adapters with a defined interface:Permission model
Todobar treats every external connection as sensitive:- No silent sync
- No hidden AI reads
- No automatic third-party writes
- Visible data scopes per connection
- Clear audit trail for imported or AI-created tasks
The current prototype has no network access at all. All data lives on your machine in the app WebView’s local storage.