How yyzmiao/akasha works
Akasha is a local-first personal planning app: people organize areas and projects, then manage nested tasks, habits, and recurring schedules; calendar and journal views support daily planning and reflection. App.vue coordinates the feature views and persists domain data in IndexedDB. Optional branches provide global search, configurable AI-generated planning drafts, and PocketBase multi-device sync. The graph reflects documented capabilities and sampled call sites; unsampled view wiring is kept conservative.
Main entry points: App.vue App Coordinator · syncEngine.ts Sync Engine · CopilotModal.vue AI Copilot · aiService.ts AI Planning Service
Components 22
Planning Workspace
- App Coordinator
src/App.vue - Areas & Projects
src/components/ProjectView.vue - Nested Todos
src/components/TodoView.vue - Habit Tracker
src/components/HabitsView.vue - Recurring Schedules
src/components/ScheduleView.vue - Calendar Dashboard
src/components/CalendarView.vue - Daily Journal
src/components/JournalView.vue
Local Data
- IndexedDB
src/db/index.ts - Domain Types
src/types/index.ts
Optional Integrations
- AI Copilot
src/components/copilot/CopilotModal.vue - AI Planning Service
src/services/aiService.ts - Sync Engine
src/sync/syncEngine.ts - PocketBase Client
src/sync/pocketbase.ts
Global Tools
- Global Search
src/components/GlobalSearch.vue - Preferences & Backup
src/components/SettingsDrawer.vue - Navigation
src/components/Navbar.vue - Weather Widget
src/components/WeatherWidget.vue - Weather & Location
src/utils/weather.ts
Other components
- Planner
- AI Provider
- PocketBase Server
- Weather APIs
Connections 21
- Planner → App Coordinator: uses
- App Coordinator → Navigation: renders
- App Coordinator → Areas & Projects: renders
- App Coordinator → Nested Todos: renders
- App Coordinator → Habit Tracker: renders
- App Coordinator → Recurring Schedules: renders
- App Coordinator → Calendar Dashboard: renders
- App Coordinator → Daily Journal: renders
- App Coordinator → IndexedDB: loads and saves
- App Coordinator → Sync Engine: queues changes
- App Coordinator → Global Search: opens
- App Coordinator → Preferences & Backup: opens
- App Coordinator → AI Copilot: opens
- App Coordinator → Domain Types: uses domain types
- AI Copilot → AI Planning Service: requests plans
- AI Planning Service → AI Provider: sends prompts
- Sync Engine → IndexedDB: reads and applies
- Sync Engine → PocketBase Client: pushes and pulls
- PocketBase Client → PocketBase Server: syncs records
- Weather Widget → Weather & Location: requests weather
- Weather & Location → Weather APIs: fetches forecasts