Go to file
Saravana Achu Mac 8d8540e320 fix(note-shares): treat expired shares as not found
findShareByToken now returns null when expiresAt is in the past, aligning the public share API with stored metadata.

Add unit tests for expiry, future expiry, missing expiry, and no match.

Made-with: Cursor
2026-03-31 13:05:30 -07:00
.gitea/workflows ci: fix YAML formatting — normalize blank lines 2026-03-29 11:04:16 -07:00
.github feat: integrate feedback, broadcast, survey, offline-queue clients + settings page + devops 2026-03-29 20:57:27 -07:00
.husky chore: add Husky pre-commit hooks + secret-scan scripts 2026-03-27 23:07:30 -07:00
backend fix(note-shares): treat expired shares as not found 2026-03-31 13:05:30 -07:00
docs feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs) 2026-03-31 13:00:36 -07:00
mobile test(mobile): settings smoke test; docs: capture points to blob-upload 2026-03-31 01:51:07 -07:00
scripts chore: add Husky pre-commit hooks + secret-scan scripts 2026-03-27 23:07:30 -07:00
shared fix: normalize product.json + replace --ml-* with --nl-* CSS namespace 2026-03-21 20:20:40 -07:00
web feat: implement WEB_AI_FAST_ROADMAP (web + backend + docs) 2026-03-31 13:00:36 -07:00
.aider.conf.yml chore(docs): regenerate AI agent config files 2026-03-10 22:56:39 -07:00
.clinerules chore(docs): regenerate AI agent config files 2026-03-10 22:56:39 -07:00
.cursorrules chore(docs): regenerate AI agent config files 2026-03-10 22:56:39 -07:00
.dockerignore feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00
.editorconfig chore(docs): regenerate AI agent config files 2026-03-10 22:56:39 -07:00
.gitignore fix(repo): restore web lint and ignore generated artifacts 2026-03-10 10:30:49 -07:00
.npmrc chore: .npmrc use ${GITEA_NPM_HOST}:3300 instead of hardcoded localhost 2026-03-24 15:46:34 -07:00
.npmrc.docker feat(docker): migrate NoteLett to Gitea registry-backed Docker pattern 2026-03-23 20:11:12 -07:00
.nvmrc chore: add .nvmrc pinning Node 22 2026-03-29 10:48:30 -07:00
.windsurfrules chore(docs): regenerate AI agent config files 2026-03-10 22:56:39 -07:00
AGENTS.md docs(agents): add @bytelyst/ui and @bytelyst/design-tokens to AGENTS.md 2026-03-29 01:44:00 -07:00
CLAUDE.md feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00
docker-compose.yml feat: integrate feedback, broadcast, survey, offline-queue clients + settings page + devops 2026-03-29 20:57:27 -07:00
package.json chore: add Husky pre-commit hooks + secret-scan scripts 2026-03-27 23:07:30 -07:00
pnpm-lock.yaml feat(mobile): add Block H — Vitest RN mock aliases + component smoke tests 2026-03-31 00:42:49 -07:00
pnpm-workspace.yaml feat(docker): migrate NoteLett to Gitea registry-backed Docker pattern 2026-03-23 20:11:12 -07:00
README.md feat(repo): migrate notelett workspace to pnpm 2026-03-22 15:50:54 -07:00

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-service
  • COSMOS_ENDPOINT / COSMOS_KEY — Azure Cosmos DB credentials (or use DB_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