$git clone https://github.com/kentcdodds/kody<p> <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> </p>
| 1 | <div align="center"> |
| 2 | <img src="./packages/worker/public/logo.png" alt="kody logo" width="400" /> |
| 3 | |
| 4 | <p> |
| 5 | <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> |
| 6 | </p> |
| 7 | |
| 8 | <p> |
| 9 | <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> |
| 10 | <img src="https://img.shields.io/badge/TypeScript-5.9-blue?style=flat-square&logo=typescript&logoColor=white" alt="TypeScript" /> |
| 11 | <img src="https://img.shields.io/badge/Node-26-5FA04E?style=flat-square&logo=node.js&logoColor=white" alt="Node 26" /> |
| 12 | <img src="https://img.shields.io/badge/Cloudflare-Workers-F38020?style=flat-square&logo=cloudflare&logoColor=white" alt="Cloudflare Workers" /> |
| 13 | <img src="https://img.shields.io/badge/Remix-3.0_beta-000000?style=flat-square&logo=remix&logoColor=white" alt="Remix" /> |
| 14 | </p> |
| 15 | </div> |
| 16 | |
| 17 | --- |
| 18 | |
| 19 | Kody is your assistant's home—the memory, keys, code, and automations your AI |
| 20 | agent keeps, portable across every MCP host. Built on Cloudflare Workers and the |
| 21 | Model Context Protocol (MCP), it ships a Remix UI, Worker-based request routing, |
| 22 | package runtime plumbing, and OAuth-protected MCP endpoints. The project favors |
| 23 | a compact MCP surface with powerful `search` and Code Mode `execute` flows over |
| 24 | a large static tool catalog. |
| 25 | |
| 26 | Kody is a multi-user personal assistant: each signed-in user gets a fully |
| 27 | isolated assistant (packages, jobs, secrets, values, memories, and related |
| 28 | state). Tests and fixtures may seed deterministic local accounts, but no account |
| 29 | is privileged at runtime. The repo follows several |
| 30 | [epicflare](https://github.com/epicweb-dev/epicflare) starter conventions. |
| 31 | |
| 32 | The repo is organized as an Nx monorepo, with shared modules in |
| 33 | `packages/shared` (`@kody-internal/shared`), the main app worker under |
| 34 | `packages/worker`, and mock Workers under `packages/mock-servers/*`. |
| 35 | |
| 36 | ## Quick Start |
| 37 | |
| 38 | ```bash |
| 39 | npm install |
| 40 | npm run dev |
| 41 | ``` |
| 42 | |
| 43 | The dev server runs at `localhost:8787`. Wrangler handles the local Cloudflare |
| 44 | Workers runtime and D1 database automatically. |
| 45 | |
| 46 | To scaffold a **new** project from the epicflare template instead, run |
| 47 | `npx create-epicflare`. |
| 48 | |
| 49 | See |
| 50 | [`docs/contributing/getting-started.md`](./docs/contributing/getting-started.md) |
| 51 | for the full setup paths and expectations. Contributors and agents should start |
| 52 | with [`AGENTS.md`](./AGENTS.md) for repo-specific guidance. |
| 53 | |
| 54 | If you are trying to understand what this repository is for, start with |
| 55 | [`docs/contributing/project-intent.md`](./docs/contributing/project-intent.md). |
| 56 | |
| 57 | ## Tech Stack |
| 58 | |
| 59 | | Layer | Technology | |
| 60 | | --------------- | --------------------------------------------------------------------- | |
| 61 | | Runtime | [Cloudflare Workers](https://workers.cloudflare.com/) | |
| 62 | | UI Framework | [Remix 3](https://remix.run/) (beta) | |
| 63 | | Package Manager | [npm](https://www.npmjs.com/) | |
| 64 | | Workspace | [Nx](https://nx.dev/) + npm workspaces | |
| 65 | | Database | [Cloudflare D1](https://developers.cloudflare.com/d1/) | |
| 66 | | Session/OAuth | [Cloudflare KV](https://developers.cloudflare.com/kv/) | |
| 67 | | MCP State | [Durable Objects](https://developers.cloudflare.com/durable-objects/) | |
| 68 | | E2E Testing | [Playwright](https://playwright.dev/) | |
| 69 | | Bundler | [esbuild](https://esbuild.github.io/) | |
| 70 | |
| 71 | ## Scope |
| 72 | |
| 73 | - Open-source personal assistant platform, not a general-purpose agent harness |
| 74 | - MCP-first architecture intended to work across compatible AI agent hosts |
| 75 | - Compact MCP surface area preferred over a large static tool inventory |
| 76 | - Ch |