An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


epicflare logo


A starter and reference for building full-stack web applications on Cloudflare Workers


Build Status
TypeScript
Bun
Cloudflare Workers
Remix


---

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 |

---


Built with ❤️ by Epic Web