{
  "markdown": "<p align=\"center\">\n  <a href=\"https://knowtis.app\"><img src=\"apps/notes/public/knowtis-kw.svg\" width=\"72\" alt=\"Knowtis\" /></a>\n</p>\n\n<h1 align=\"center\">Knowtis</h1>\n\n<p align=\"center\">\n  Collaborative notes with an AI that reads, edits, and studies alongside you.\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/jovandyaz/knowtis-app/actions/workflows/ci.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/jovandyaz/knowtis-app/ci.yml?style=flat-square&label=ci&labelColor=1a1a1a\" alt=\"CI\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-8b5cf6?style=flat-square&labelColor=1a1a1a\" alt=\"MIT license\" /></a>\n  <a href=\"https://knowtis.app\"><img src=\"https://img.shields.io/badge/app-knowtis.app-8b5cf6?style=flat-square&labelColor=1a1a1a\" alt=\"knowtis.app\" /></a>\n</p>\n\n<br />\n\nKnowtis is a local-first, real-time notes workspace where AI is a collaborator rather than a chat window. It edits with you inside the document, proposes changes you approve, and turns what you write into material you can study.\n\n## Features\n\n**Write.** A Tiptap editor with slash commands, ghost-text suggestions, and inline AI actions to rewrite, summarize, translate, or expand a selection. Voice notes are recorded and transcribed in place.\n\n**Collaborate.** Yjs CRDT sync with live presence and remote cursors. Notes persist to IndexedDB, so editing works offline and reconciles when you reconnect.\n\n**Study.** Flashcards, quizzes, summaries, and mind maps generated from your notes, with SM-2 spaced repetition to schedule reviews.\n\n**Extend.** A conversational copilot that reads and edits notes with human-in-the-loop approval, per-turn reasoning effort, and bring-your-own-key billing across Anthropic, OpenAI, and Google. An MCP server exposes your notes to Claude Desktop, Cursor, and VS Code.\n\n## Quick start\n\nRequires Node.js 22, pnpm 10, and Docker.\n\n```bash\ngit clone git@github.com:jovandyaz/knowtis-app.git\ncd knowtis-app\npnpm run setup  # deps, .env files, Postgres + Redis, migrations\npnpm dev:all    # API :3333, Notes :4200, Backoffice :4400\n```\n\n`run` is required: bare `pnpm setup` is a pnpm built-in. AI features need `OPENROUTER_API_KEY` in `apps/api/.env` (Anthropic, OpenAI and Google keys are optional per-provider) and the `ai_enabled` feature flag. The full walkthrough, including how email verification works locally and how to connect an MCP client, is in [docs/LOCAL_SETUP.md](docs/LOCAL_SETUP.md).\n\n## Stack\n\n| Layer     | Technology                                                |\n| --------- | --------------------------------------------------------- |\n| Frontend  | React 19, Vite, TanStack Router and Query, Tailwind CSS   |\n| Backend   | NestJS 11, Drizzle ORM, Socket.io                         |\n| Data      | PostgreSQL 16, Redis 7                                    |\n| Real-time | Yjs (CRDT), Hocuspocus, IndexedDB                         |\n| AI        | Vercel AI SDK, OpenRouter, Anthropic, OpenAI, Google, MCP |\n| Tooling   | Nx 22, TypeScript 5.9, Vitest, pnpm                       |\n\n## Repository layout\n\n```\napps/\n  api/            NestJS backend: auth, notes, collaboration, AI, copilot agent, MCP keys\n  notes/          React frontend: editor, collaboration, study tools\n  backoffice/     Admin surface: users, feature flags, AI config and metrics\n  mcp/            Standalone MCP server (Hono)\nlibs/\n  api-client/     Typed HTTP and WebSocket client\n  data-access/    React Query hooks and Zod schemas, per domain\n  authorization/  CASL permission definitions shared by frontend and backend\npackages/\n  ai-gateway/     Framework-free AI core: provider fallback, injection guard, token costing\n  crdt/           Yjs helpers\n  editor/         Tiptap editor and schema\n  design-system/  UI components and design tokens\n  auth/ permissions/   Core packages with React and NestJS adapters\n  email/          React Email templates and NestJS adapter\n  shared/         Hooks, i18n, types, utilities\n```\n\nDependency direction is enforced with Nx module boundaries: `app → ui / data-access → util`. See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).\n\n## Documentation\n\n- [Local setup](docs/LOCAL_SETUP.md)\n- [Architecture](docs/ARCHITECTURE.md)\n- [AI module and copilot](docs/AI.md)\n- [MCP server](docs/MCP.md)\n- [Authentication](docs/AUTH.md) and [permissions](docs/PERMISSIONS.md)\n- [Deployment](docs/DEPLOYMENT.md) on Railway and Vercel\n\n## Contributing\n\nIssues and pull requests are welcome. Read [CONTRIBUTING.md](CONTRIBUTING.md) before you start, and see [SECURITY.md](SECURITY.md) to report a vulnerability privately. This project follows the [Contributor Covenant](CODE_OF_CONDUCT.md).\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 4701,
  "sha": "0305216d5678f9ecd6c4a76e621a7403c49e651faf351b5d0b7cc1bb79b35ba2",
  "repo_slug": "jovandyaz/knowtis-app",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_app_knowtis_knowtis_f1165e7b/readme"
}