ماذا يمكنك أن تفعل مع Drafto؟
- Notebooks — flat list of notebooks to organize notes
- Notes — rich text with auto-save (BlockNote on web, TenTap on mobile/desktop)
- Offline support — mobile and desktop use WatermelonDB locally and sync to Supabase when online
- Authentication — email/password with email confirmation, plus Google and Apple OAuth; admin approval gates new accounts
- Dark mode — system-aware theme toggle, persisted in localStorage
- Evernote import — import notes from
.enexfiles with full content and attachment support - MCP server — expose your notes to Claude Desktop, Claude Cowork, and other MCP clients via
eu.drafto/mcpon the MCP Registry - Real-time support pipeline — mail to
support@drafto.euis 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-age...
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
claude mcp add --transport http drafto 'https://drafto.eu/api/mcp' --header 'Authorization: <Bearer token — generate an API key at drafto.eu/settings>'
{
"mcpServers": {
"drafto": {
"type": "http",
"url": "https://drafto.eu/api/mcp",
"headers": {
"Authorization": "<Bearer token — generate an API key at drafto.eu/settings>"
}
}
}
}
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
Drafto
A 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.
Live: drafto.eu
Features
- Notebooks — flat list of notebooks to organize notes
- Notes — rich text with auto-save (BlockNote on web, TenTap on mobile/desktop)
- Offline support — mobile and desktop use WatermelonDB locally and sync to Supabase when online
- Authentication — email/password with email confirmation, plus Google and Apple OAuth; admin approval gates new accounts
- Dark mode — system-aware theme toggle, persisted in localStorage
- Evernote import — import notes from
.enexfiles with full content and attachment support - MCP server — expose your notes to Claude Desktop, Claude Cowork, and other MCP clients via
eu.drafto/mcpon the MCP Registry - Real-time support pipeline — mail to
support@drafto.euis polled every 5 minutes by a Mac-mini-resident agent, classified by Claude Code, and synced bidirectionally with GitHub issues; seedocs/features/support-agent.md
See docs/features/ for one brief per functional area (code paths, ADRs, testing).
Tech Stack
| Area | Stack |
|---|---|
| Web | Next.js 16 (App Router, Turbopack), React 19, TypeScript, Tailwind CSS v4, BlockNote |
| Mobile | Expo 55, React Native 0.84, expo-router, TenTap editor, WatermelonDB |
| Desktop | React Native macOS 0.81.5, TenTap editor, WatermelonDB (shared with mobile) |
| Backend | Supabase (Postgres + Auth + Storage + RLS) |
| Hosting | Vercel (web), Fastlane → App Store / Play Store / Mac App Store |
| Monitoring | Sentry (errors), PostHog (analytics) |
| Testing | Vitest, Testing Library, Playwright, Jest, Maestro |
| Monorepo | pnpm workspaces + Turborepo |
Architecture deep-dive: docs/architecture/overview.md.
Getting Started
Prerequisites
- Node.js 22+
- pnpm
- A Supabase project + Supabase CLI
- Playwright browsers —
pnpm exec playwright install(for E2E)
For mobile dev: Expo CLI, Android SDK, Xcode.
For desktop dev: Xcode, CocoaPods (gem install cocoapods), Ruby 3.3.7 via rbenv.
Full first-time setup guide: docs/operations/local-dev-setup.md.
Setup
git clone https://github.com/JakubAnderwald/drafto.git
cd drafto
pnpm install
# Configure web env
cp apps/web/.env.local.example apps/web/.env.local
# Fill in NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY
# Push schema to your Supabase project
supabase link --project-ref <your-project-ref>
supabase db push
# Run the dev server
pnpm dev
Open http://localhost:3000.
Scripts
Dev commands live here. Build / release / deployment commands live in docs/operations/builds-and-releases.md.
| Command | Description |
|---|---|
pnpm dev | Start dev server (all apps) |
pnpm build | Production build |
pnpm lint | ESLint (all packages) |
pnpm format:check | Prettier check |
pnpm test | Unit + integration tests |
pnpm typecheck | TypeScript check |
pnpm migration:check | Check migrations for destructive SQL and missing Data API grants |
Per-app test commands: docs/architecture/testing.md.
Project Layout
apps/
web/ Next.js web app (App Router)
mobile/ Expo + React Native iOS/Android
desktop/ React Native macOS
packages/
shared/ TypeScript types + constants (@drafto/shared)
supabase/
migrations/
docs/
features/ Per-area briefs (auth, notes, editor, sync, search, MCP, …)
architecture/ System shape (overview, environments, testing)
operations/ Runbooks (local-dev-setup, builds-and-releases, migrations)
adr/ Architecture Decision Records
archive/ Historical plans (not source of truth)
Full index: docs/README.md.
Contributing
All work goes through branches + PRs — see CLAUDE.md for the project conventions (worktree workflow, SOLID, testing requirements, production safety rails). Decisions are recorded in docs/adr/.
License
Private project.
الأسئلة الشائعة
ما هو Drafto؟
Create, read, search, and organize your Drafto notes and notebooks.
كيف أثبّت Drafto؟
يعمل كخادم بعيد. في Claude Code: claude mcp add --transport http drafto 'https://drafto.eu/api/mcp' --header 'Authorization: <Bearer token — generate an API key at drafto.eu/settings>'. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج Drafto إلى مفتاح API؟
نعم. يتطلب Authorization، وتضبطها في إعداداته.
هل Drafto مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص GPL-3.0.
من يصون Drafto؟
ينشره JakubAnderwald. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.