This file is a practical “where things live” guide for contributors.
src/app: Next.js App Router pages/layouts (desktop + mobile)src/components: shared React UI componentssrc/stores: Zustand state stores and app settingssrc/lib: business logic/services/utilitiessrc/db: SQLite schema init and query helperssrc/config: static config constants (shortcuts, emitters, exclusions)src/contexts: React providers/contextssrc/hooks: app hookssrc-tauri: Rust native layer and Tauri configurationmessages: locale JSON files
- Root:
layout.tsx: global wrappers/provider compositionpage.tsx: initial redirect logic (desktop/mobile)
- Desktop:
core/layout.tsx: desktop init lifecycle and shellcore/main/page.tsx: main 3-pane workspacecore/article/*: editor stack (markdown/image/folder)core/record/*: chat + capture/record flowscore/setting/*: full desktop settings sections
- Mobile:
mobile/layout.tsx: mobile shell + hidden capture controlsmobile/chat/page.tsx,mobile/record/page.tsx,mobile/writing/page.tsxmobile/setting/pages/*: mobile settings sections
setting.ts: central settings model (AI models, sync, themes, workspace paths, UI scale)article.ts: file tree/editor selection statechat.ts,mark.ts,tag.ts: core domain statesync.ts,settingsSync.ts,webdav.ts,sync-confirm.ts: sync and conflict UXvector.ts,ragSettings.ts: embedding/vector search settings and stateskills.ts,mcp.ts: skill and MCP runtime state
ai/*: chat/completion/embedding integrationsync/*: GitHub/Gitee/GitLab/Gitea sync adapters + conflict handling + autosyncmcp/*: MCP init/client/server integration helpersskills/*: skill parsing/validation/execution helpersrag.ts,bm25.ts,search-utils.ts: retrieval/search logicocr.ts,pdf.ts,audio.ts,audio-converter.ts: media/IO processing helpers
index.ts: single DB load + all-table initializationchats.ts,marks.ts,notes.ts,tags.ts,vector.ts: table creation + CRUD/select helpers
src/lib.rs: command registration and plugin wiringwebdav.rs: WebDAV connectivity/backup/syncmcp.rs: stdio MCP process lifecycle and message pipingbackup.rs: app data import/exportdevice.rs: device ID utilitiesskills.rs: skill package importtauri.conf.json: Tauri app/build/bundle/updater config
machinelearning-samples/: standalone ML.NET sample repositoryYoloDotNet/: standalone .NET YOLO library
These are independent projects and should usually be treated as read-only unless your task explicitly targets them.