This repository contains three separate codebases:
note-gen(primary app): Tauri + Next.js markdown note application with AI, sync, and local-first data.machinelearning-samples: Upstream ML.NET sample repository (vendored).YoloDotNet: Upstream .NET YOLO inference library (vendored).
- UI/runtime: Next.js 15, React 19, TypeScript
- Desktop/mobile shell: Tauri v2 + Rust
- State management: Zustand stores in
src/stores - Persistence:
- SQLite via
@tauri-apps/plugin-sql(src/db) - App settings via
@tauri-apps/plugin-store(store.json) - Markdown/image files via Tauri FS APIs
- SQLite via
- i18n:
next-intl+messages/*.json - UI primitives: Radix + custom components in
src/components/ui
src/app/page.tsxdecides initial route (/core/mainfor desktop,/mobile/chatfor mobile).src/app/layout.tsxsets global providers, CSS, i18n wrapper, and markdown-it compatibility shim.src/app/core/layout.tsxorsrc/app/mobile/layout.tsxperforms app initialization:- settings init
- DB init (
initAllDatabases) - vector init
- image hosting init
- MCP init
- shortcut/init hooks
- Recording/Chat:
src/app/core/record/chat/*, mirrored mobile routes undersrc/app/mobile/* - Writing/Editor:
src/app/core/article/*(editor-wrapper.tsxchooses markdown/image/folder views) - Main desktop workspace:
src/app/core/main/page.tsx(resizable left/editor/right panels) - Settings: desktop and mobile settings routes under
src/app/core/setting/*andsrc/app/mobile/setting/*
Database initialization in src/db/index.ts sets up:
chatsmarksnotestagsvector
These tables support chat history, captured marks/snippets, note records, tagging, and embedding/search data.
src-tauri/src/lib.rs registers plugins and command handlers.
Main command groups:
- WebDAV test/sync/backup (
webdav.rs) - MCP server process management (
mcp.rs) - Device ID and backup import/export
- Skill package import
This means most heavy OS/system integration is intentionally placed in Rust commands, while UI logic stays in TypeScript.
- This is a full ML.NET samples repository (C#/F#/CLI datasets and docs).
- It is not part of the NoteGen runtime path.
- Treat it as a standalone reference or bundled dependency tree unless your task explicitly targets it.
- This is a standalone .NET 8 YOLO inference library with its own solution and demos.
- It is not part of the
note-genapp routing/runtime. - Treat it as an independent subproject unless explicitly working on computer-vision integration tasks.
If your goal is to modify the NoteGen application, focus in this order:
src/app(routes/layouts/pages)src/stores(state + settings + app behavior)src/lib(AI/sync/skill/MCP/business utilities)src/db(local data schema and persistence functions)src-tauri/src(native bridge commands)
Ignore machinelearning-samples and YoloDotNet unless a feature directly references them.