https://github.com/epicweb-dev/epicflare
A starter and reference for building full-stack web applications on Cloudflare Workers
https://github.com/epicweb-dev/epicflare
Last synced: 2 months ago
JSON representation
A starter and reference for building full-stack web applications on Cloudflare Workers
- Host: GitHub
- URL: https://github.com/epicweb-dev/epicflare
- Owner: epicweb-dev
- Created: 2026-02-05T00:56:10.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-02-12T22:18:35.000Z (2 months ago)
- Last Synced: 2026-02-13T05:47:01.488Z (2 months ago)
- Language: TypeScript
- Homepage:
- Size: 1.38 MB
- Stars: 24
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
---
epicflare ships a Remix-powered UI, server routing, and OAuth-protected MCP
endpoints so you can build both a user-facing app and tooling APIs on the same
Worker.
## Quick Start
```bash
bunx create-epicflare
```
This will clone the template, install dependencies, run the guided setup, and
start the dev server.
See [`docs/getting-started.md`](./docs/getting-started.md) for the full setup
paths and expectations.
## Tech Stack
| Layer | Technology |
| --------------- | --------------------------------------------------------------------- |
| Runtime | [Cloudflare Workers](https://workers.cloudflare.com/) |
| UI Framework | [Remix 3](https://remix.run/) (alpha) |
| Package Manager | [Bun](https://bun.sh/) |
| Database | [Cloudflare D1](https://developers.cloudflare.com/d1/) |
| Session/OAuth | [Cloudflare KV](https://developers.cloudflare.com/kv/) |
| MCP State | [Durable Objects](https://developers.cloudflare.com/durable-objects/) |
| E2E Testing | [Playwright](https://playwright.dev/) |
| Bundler | [esbuild](https://esbuild.github.io/) |
## How It Works
```
Request → worker/index.ts
│
├─→ OAuth handlers
├─→ MCP endpoints
├─→ Static assets (public/)
└─→ Server router → Remix components
```
- `worker/index.ts` is the entrypoint for Cloudflare Workers
- OAuth requests are handled first, then MCP requests, then static assets
- Non-asset requests fall through to the server handler and router
- Client assets are bundled into `public/` and served via the `ASSETS` binding
## Documentation
| Document | Description |
| ------------------------------------------------------------------ | ------------------------------------ |
| [`docs/getting-started.md`](./docs/getting-started.md) | Setup, environment variables, deploy |
| [`docs/environment-variables.md`](./docs/environment-variables.md) | Adding new env vars |
| [`docs/agents/setup.md`](./docs/agents/setup.md) | Local development and verification |
---