{
  "markdown": "<div align=\"center\">\n  <img src=\"./packages/worker/public/logo.png\" alt=\"kody logo\" width=\"400\" />\n\n  <p>\n    <strong>Your assistant's home — the memory, keys, code, and automations your AI agent keeps, portable across every MCP host. Built on Cloudflare Workers.</strong>\n  </p>\n\n  <p>\n    <a href=\"https://github.com/kentcdodds/kody/actions/workflows/deploy.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/kentcdodds/kody/deploy.yml?branch=main&style=flat-square&logo=github&label=CI\" alt=\"Build Status\" /></a>\n    <a href=\"https://kcd.im/kody-discord\"><img src=\"https://img.shields.io/badge/Discord-Join-5865F2?style=flat-square&logo=discord&logoColor=white\" alt=\"Join the Discord\" /></a>\n    <img src=\"https://img.shields.io/badge/TypeScript-6.0-blue?style=flat-square&logo=typescript&logoColor=white\" alt=\"TypeScript\" />\n    <img src=\"https://img.shields.io/badge/Node-26-5FA04E?style=flat-square&logo=node.js&logoColor=white\" alt=\"Node 26\" />\n    <img src=\"https://img.shields.io/badge/Cloudflare-Workers-F38020?style=flat-square&logo=cloudflare&logoColor=white\" alt=\"Cloudflare Workers\" />\n    <img src=\"https://img.shields.io/badge/Remix-3.0_beta-000000?style=flat-square&logo=remix&logoColor=white\" alt=\"Remix\" />\n  </p>\n</div>\n\n---\n\nKody is your assistant's home—the memory, keys, code, and automations your AI\nagent keeps, portable across every MCP host. Built on Cloudflare Workers and the\nModel Context Protocol (MCP), it ships a Remix UI, Worker-based request routing,\npackage runtime plumbing, and OAuth-protected MCP endpoints. The project favors\na compact MCP surface with powerful `search` and Code Mode `execute` flows over\na large static tool catalog.\n\nKody is a multi-user personal assistant: each signed-in user gets a fully\nisolated assistant (packages, jobs, secrets, memories, and related state). Tests\nand fixtures may seed deterministic local accounts, but no account is privileged\nat runtime. The repo follows several\n[epicflare](https://github.com/epicweb-dev/epicflare) starter conventions.\n\nThe repo is organized as an Nx monorepo, with shared modules in\n`packages/shared` (`@kody-internal/shared`), the origin app worker under\n`packages/worker`, sibling workers under `packages/platform-worker`,\n`packages/runtime-worker`, and `packages/jobs-worker`, and mock Workers under\n`packages/mock-servers/*`. Production topology lives in\n[`docs/contributing/architecture/index.md`](./docs/contributing/architecture/index.md).\n\n## Quick Start\n\n```bash\nnpm install\nnpm run dev\n```\n\nThe dev server runs at `localhost:3742` by default (the CLI picks the next free\nport and prints the resolved URL). Wrangler handles the local Cloudflare Workers\nruntime and D1 database automatically.\n\nTo scaffold a **new** project from the epicflare template instead, run\n`npx create-epicflare`.\n\nSee\n[`docs/contributing/getting-started.md`](./docs/contributing/getting-started.md)\nfor the full setup paths and expectations. Contributors and agents should start\nwith [`AGENTS.md`](./AGENTS.md) for repo-specific guidance.\n\nIf you are trying to understand what this repository is for, start with\n[`docs/contributing/project-intent.md`](./docs/contributing/project-intent.md).\n\n## Tech Stack\n\n| Layer           | Technology                                                                               |\n| --------------- | ---------------------------------------------------------------------------------------- |\n| Runtime         | [Cloudflare Workers](https://workers.cloudflare.com/)                                    |\n| UI Framework    | [Remix 3](https://remix.run/) (beta)                                                     |\n| Package Manager | [npm](https://www.npmjs.com/)                                                            |\n| Workspace       | [Nx](https://nx.dev/) + npm workspaces                                                   |\n| Database        | [Cloudflare D1](https://developers.cloudflare.com/d1/)                                   |\n| Session/OAuth   | [Cloudflare KV](https://developers.cloudflare.com/kv/)                                   |\n| MCP State       | [Durable Objects](https://developers.cloudflare.com/durable-objects/) on `kody-platform` |\n| E2E Testing     | [Playwright](https://playwright.dev/)                                                    |\n| Bundler         | [Vite](https://vite.dev/)                                                                |\n\n## Scope\n\n- Fair Source personal assistant platform, not a general-purpose agent harness\n- MCP-first architecture intended to work across compatible AI agent hosts\n- Compact MCP surface area preferred over a large static tool inventory\n- ChatGPT is a likely primary host target, while keeping the server usable from\n  other MCP hosts where practical\n\n## How It Works\n\n```\nkody.codes  → kody-production (origin: Remix, /mcp HTTP, OAuth, email, queues)\n                 ├─→ kody-platform  (MCP / mailbox / meter / repo-session DOs)\n                 ├─→ kody-runtime   (package apps, invoke API, StorageRunner)\n                 └─→ kody-jobs      (cron + JobManager; calls back via JobsHost)\n\nkody.run    → kody-runtime (package-app zone routes)\n```\n\n- `packages/worker/src/index.ts` is the origin entrypoint; platform, runtime,\n  and jobs have sibling entrypoints (see\n  [architecture](./docs/contributing/architecture/index.md#production-worker-fleet))\n- OAuth requests are handled first, then MCP requests, then static assets\n- Non-asset requests fall through to the server handler and router\n- Client assets are bundled into `packages/worker/public/` and served via the\n  `ASSETS` binding\n\n## Documentation\n\n| Document                                                                                     | Description                          |\n| -------------------------------------------------------------------------------------------- | ------------------------------------ |\n| [`docs/contributing/getting-started.md`](./docs/contributing/getting-started.md)             | Setup, environment variables, deploy |\n| [`docs/contributing/environment-variables.md`](./docs/contributing/environment-variables.md) | Adding new env vars                  |\n| [`docs/contributing/cloudflare-offerings.md`](./docs/contributing/cloudflare-offerings.md)   | Optional Cloudflare integrations     |\n| [`docs/contributing/project-intent.md`](./docs/contributing/project-intent.md)               | Scope, goals, and non-goals          |\n| [`docs/contributing/index.md`](./docs/contributing/index.md)                                 | Developing and extending Kody        |\n| [`docs/use/index.md`](./docs/use/index.md)                                                   | Using Kody over MCP                  |\n| [`docs/contributing/setup/`](./docs/contributing/setup/index.md)                             | Local development and verification   |\n\n## Contributing\n\nOutside pull requests to this repository need a signed inbound\n[Contributor License Agreement](./docs/contributing/inbound-contributions.md).\nPublic packages do not use that CLA.\n\nSee [`CONTRIBUTING.md`](./CONTRIBUTING.md) and\n[`docs/contributing/index.md`](./docs/contributing/index.md).\n\n## License\n\nKody is licensed under the\n[Functional Source License, Version 1.1, ALv2 Future License](./LICENSE)\n([FSL-1.1-ALv2](https://fsl.software/)). You can use, copy, modify, create\nderivative works from, publicly perform, publicly display, and redistribute the\nsoftware for any purpose other than Competing Use. Competing Use means making\nthe software available to others in a commercial product or service that\nsubstitutes for Kody, substitutes for another product or service the licensor\noffers using Kody that existed when the version was made available, or offers\nthe same or substantially similar functionality. Each version becomes available\nunder the Apache License 2.0 on the second anniversary of the date that version\nwas made available.\n\nPublic packages published through Kody do not use this repository's CLA and have\nno license gate; that is separate from this repository's license.\n\n---\n\n<div align=\"center\">\n  <sub>Built with ❤️ by <a href=\"https://epicweb.dev\">Epic Web</a></sub>\n</div>\n",
  "bytes": 8188,
  "sha": "e686670b92a612f6ef1c668c4bc5f0068587a2921e900ca3a5d50ef801e9fe4f",
  "repo_slug": "kentcdodds/kody",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kentcdodds_kody_4b58f4b7/readme"
}