{
  "markdown": "# Drafto\n\nA note-taking app with notebooks, rich text editing, and auto-save. Available as a web app, iOS + Android apps, and a macOS desktop app — all with offline support.\n\n**Live:** [drafto.eu](https://drafto.eu)\n\n## Features\n\n- **Notebooks** — flat list of notebooks to organize notes\n- **Notes** — rich text with auto-save (BlockNote on web, TenTap on mobile/desktop)\n- **Offline support** — mobile and desktop use WatermelonDB locally and sync to Supabase when online\n- **Authentication** — email/password with email confirmation, plus Google and Apple OAuth; admin approval gates new accounts\n- **Dark mode** — system-aware theme toggle, persisted in localStorage\n- **Evernote import** — import notes from `.enex` files with full content and attachment support\n- **MCP server** — expose your notes to Claude Desktop, Claude Cowork, and other MCP clients via `eu.drafto/mcp` on the [MCP Registry](https://registry.modelcontextprotocol.io)\n- **Real-time support pipeline** — mail to `support@drafto.eu` is polled every 5 minutes by a Mac-mini-resident agent, classified by Claude Code, and synced bidirectionally with GitHub issues; see [`docs/features/support-agent.md`](./docs/features/support-agent.md)\n\nSee [`docs/features/`](./docs/features/) for one brief per functional area (code paths, ADRs, testing).\n\n## Tech Stack\n\n| Area       | Stack                                                                                |\n| ---------- | ------------------------------------------------------------------------------------ |\n| Web        | Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind CSS v4, BlockNote |\n| Mobile     | Expo 55, React Native 0.84, expo-router, TenTap editor, WatermelonDB                 |\n| Desktop    | React Native macOS 0.81.5, TenTap editor, WatermelonDB (shared with mobile)          |\n| Backend    | Supabase (Postgres + Auth + Storage + RLS)                                           |\n| Hosting    | Vercel (web), Fastlane → App Store / Play Store / Mac App Store                      |\n| Monitoring | Sentry (errors), PostHog (analytics)                                                 |\n| Testing    | Vitest, Testing Library, Playwright, Jest, Maestro                                   |\n| Monorepo   | pnpm workspaces + Turborepo                                                          |\n\nArchitecture deep-dive: [`docs/architecture/overview.md`](./docs/architecture/overview.md).\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 22+\n- [pnpm](https://pnpm.io/)\n- A [Supabase](https://supabase.com/) project + [Supabase CLI](https://supabase.com/docs/guides/cli/getting-started)\n- [Playwright browsers](https://playwright.dev/) — `pnpm exec playwright install` (for E2E)\n\nFor mobile dev: [Expo CLI](https://docs.expo.dev/get-started/set-up-your-environment/), Android SDK, Xcode.\nFor desktop dev: Xcode, CocoaPods (`gem install cocoapods`), Ruby 3.3.7 via rbenv.\n\nFull first-time setup guide: [`docs/operations/local-dev-setup.md`](./docs/operations/local-dev-setup.md).\n\n### Setup\n\n```bash\ngit clone https://github.com/JakubAnderwald/drafto.git\ncd drafto\npnpm install\n\n# Configure web env\ncp apps/web/.env.local.example apps/web/.env.local\n# Fill in NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY\n\n# Push schema to your Supabase project\nsupabase link --project-ref <your-project-ref>\nsupabase db push\n\n# Run the dev server\npnpm dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000).\n\n## Scripts\n\nDev commands live here. Build / release / deployment commands live in [`docs/operations/builds-and-releases.md`](./docs/operations/builds-and-releases.md).\n\n| Command                | Description                          |\n| ---------------------- | ------------------------------------ |\n| `pnpm dev`             | Start dev server (all apps)          |\n| `pnpm build`           | Production build                     |\n| `pnpm lint`            | ESLint (all packages)                |\n| `pnpm format:check`    | Prettier check                       |\n| `pnpm test`            | Unit + integration tests             |\n| `pnpm typecheck`       | TypeScript check                     |\n| `pnpm migration:check` | Check migrations for destructive SQL |\n\nPer-app test commands: [`docs/architecture/testing.md`](./docs/architecture/testing.md).\n\n## Project Layout\n\n```text\napps/\n  web/       Next.js web app (App Router)\n  mobile/    Expo + React Native iOS/Android\n  desktop/   React Native macOS\npackages/\n  shared/    TypeScript types + constants (@drafto/shared)\nsupabase/\n  migrations/\ndocs/\n  features/       Per-area briefs (auth, notes, editor, sync, search, MCP, …)\n  architecture/   System shape (overview, environments, testing)\n  operations/     Runbooks (local-dev-setup, builds-and-releases, migrations)\n  adr/            Architecture Decision Records\n  archive/        Historical plans (not source of truth)\n```\n\nFull index: [`docs/README.md`](./docs/README.md).\n\n## Contributing\n\nAll work goes through branches + PRs — see [`CLAUDE.md`](./CLAUDE.md) for the project conventions (worktree workflow, SOLID, testing requirements, production safety rails). Decisions are recorded in [`docs/adr/`](./docs/adr/).\n\n## License\n\nPrivate project.\n",
  "bytes": 5229,
  "sha": "cc6c7a3dac1f7e2f6fa1f01d8a1ba10cd3f265b88cca6bc2fa6c609bb9c54d61",
  "repo_slug": "jakubanderwald/drafto",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_eu_drafto_mcp_c24bbbe2/readme"
}