Phase 2 of Smart Actions Roadmap: - Create lib/embeddings.ts: embedText(), cosineSimilarity(), stripHtmlForEmbedding() - Add embedding + summaryArtifactId fields to NoteDoc - Create lib/note-hooks.ts: runPostSaveHooks() for background AI enrichment - backgroundEmbed: compute and store note embedding vectors - backgroundAutoSummarize: generate summary artifact for notes > 300 words - Both gated behind feature flags (notelett_auto_embed_enabled, notelett_auto_summarize_enabled) - Add intelligence endpoints to note-prompts routes: - POST /api/notes/:id/suggest-tags (F5) — LLM-generated tag suggestions - POST /api/notes/:id/check-duplicates (F8) — cosine similarity duplicate detection - POST /api/notes/:id/suggest-links (F9) — related note suggestions - POST /api/workspaces/:wsId/knowledge-gaps (F12) — workspace gap analysis - POST /api/notes/compare (F14) — multi-note comparison - POST /api/notes/merge (F13) — multi-note merge - Add 4 feature flags for intelligence features - 9 new tests in embeddings.test.ts (cosine similarity, HTML stripping, embedText) |
||
|---|---|---|
| .gitea/workflows | ||
| .github | ||
| .husky | ||
| backend | ||
| docs | ||
| mobile | ||
| scripts | ||
| shared | ||
| web | ||
| .aider.conf.yml | ||
| .clinerules | ||
| .cursorrules | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| .npmrc | ||
| .npmrc.docker | ||
| .nvmrc | ||
| .windsurfrules | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
NoteLett
Structured notes platform for humans and AI agents — part of the ByteLyst ecosystem.
Quick Start
pnpm install
# Backend (port 4016)
pnpm --filter @notelett/backend run dev
# Web (port 3000)
pnpm --filter @notelett/web run dev
# Mobile
pnpm --filter @notelett/mobile run start
Architecture
| Surface | Stack | Port |
|---|---|---|
| Backend | Fastify 5 + TypeScript ESM | 4016 |
| Web | Next.js 16 + React 19 | 3000 |
| Mobile | Expo + React Native | 8081 |
| Platform | platform-service (shared) | 4003 |
| Extraction | extraction-service (shared) | 4005 |
Key Features
- 6 backend modules: notes, workspaces, relationships, tasks, artifacts, agent actions
- 8 MCP tools: list, get, search, create_draft, update, link_notes, extract_tasks, attach_artifact
- Agent audit trail: every write tool records agent action history
- Datastore abstraction: Cosmos DB in production, in-memory for tests
- Platform integrations: auth (JWT), telemetry, diagnostics, feature flags, kill-switch, blob storage
Environment
Copy backend/.env.example to backend/.env and fill in:
JWT_SECRET— shared secret with platform-serviceCOSMOS_ENDPOINT/COSMOS_KEY— Azure Cosmos DB credentials (or useDB_PROVIDER=memory)
Tests
pnpm --filter @notelett/backend run test
pnpm --filter @notelett/web run test
pnpm --filter @notelett/mobile run test
pnpm run verify
Docs
AGENTS.md— AI agent onboarding guidedocs/PRD.md— Product requirementsdocs/ROADMAP.md— Master execution tracker