Use this order to understand the main app quickly.
- Text version:
docs/SYSTEM-DIAGRAM-TEXT.md - HTML version:
docs/SYSTEM-DIAGRAM.html
src/app/page.tsxsrc/app/layout.tsxsrc/app/core/layout.tsxandsrc/app/mobile/layout.tsx
This reveals how the app starts, chooses desktop/mobile, and initializes settings, databases, and services.
- Desktop workspace:
src/app/core/main/page.tsx - Editor stack:
src/app/core/article/editor-wrapper.tsx+md-editor.tsx - Chat/record flow:
src/app/core/record/chat/index.tsx - Mobile chat route:
src/app/mobile/chat/page.tsx
- Start with
src/stores/setting.ts, then inspect feature stores (article.ts,chat.ts,sync.ts,vector.ts). - Check
src/config/*for constants and behavior flags.
src/db/index.tsthen each table module insrc/db/*.- Trace where stores/lib functions call DB helpers.
src/lib/ai/*for model calls and AI behavior.src/lib/sync/*for Git/WebDAV sync and conflict logic.src/lib/mcp/*andsrc/lib/skills/*for tool/server integrations.
src-tauri/src/lib.rscommand wiring.- Then command implementations (
webdav.rs,mcp.rs,backup.rs,device.rs,skills.rs).
machinelearning-samples/YoloDotNet/
These are standalone embedded projects and not required to understand the main NoteGen runtime.