Source: https://seerepo.com/r/cloudflare/cloudflare-os/built
Markdown source: https://seerepo.com/r/cloudflare/cloudflare-os/built.md
Description: cloudflare-os is a TypeScript repo built with React, Preact, Vite, and TanStack. It signs people in with jose and uses AI through Pi.

# What is cloudflare-os built with?

cloudflare-os is a TypeScript repo built with React, Preact, Vite, and TanStack. It signs people in with jose, uses AI through Pi, makes its content with node-html-parser, yaml, react-markdown, remark-gfm, postal-mime, and 3 more, validates its data with Zod and typebox, is tested with Vitest, commonmark, playwright, and fast-check, and uses MCP. It has 1,012,668 written lines, with 750 test files.

Read on November 12, 2026, at commit 3441200.

Repository: https://github.com/cloudflare/cloudflare-os

## Support (packages/api-cli)

### Other

- **hash-wasm**: 1 file

## Support (packages/api-schema)

### Testing

- **Vitest**: 3 files

## Support (packages/bundled-blueprints)

### Testing

- **Vitest**: 31 files
- **commonmark**: 1 file

### Tools

- **esbuild**: 1 file

### Other

- **yjs**: 1 file

## Frontend (packages/configurator-ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 14 files · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **[Cloudflare](https://seerepo.com/uses/cloudflare)**: 13 files

### Icons

- **[@phosphor-icons/react](https://seerepo.com/uses/phosphor-icons-react)**: 4 files

## Support (packages/configurator-ui)

### The base

- **[Preact](https://seerepo.com/uses/preact)**: 2 files

### Testing

- **Vitest**: 7 files

## Support (packages/error-reporting)

### Testing

- **Vitest**: 1 file

## Support (packages/gatekeeper-cloudflare)

### Testing

- **Vitest**: 10 files

## Support (packages/gatekeeper-confluence)

### Content

- **[node-html-parser](https://seerepo.com/uses/node-html-parser)**: 1 file

### Testing

- **Vitest**: 13 files
- **playwright**: 1 file

## Frontend (packages/gatekeeper-context)

### The base

- **[React](https://seerepo.com/uses/react)**: 17 files · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)
- **[Vite](https://seerepo.com/uses/vite)**: 1 file · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **[Cloudflare](https://seerepo.com/uses/cloudflare)**: 13 files
- **[@lezer/highlight](https://seerepo.com/uses/lezer-highlight)**: 1 file
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 1 file
- **[emoji-mart](https://seerepo.com/uses/emoji-mart)**: 1 file

### Icons

- **[@phosphor-icons/react](https://seerepo.com/uses/phosphor-icons-react)**: 10 files

## Support (packages/gatekeeper-context)

### Content

- **[yaml](https://seerepo.com/uses/yaml)**: 3 files
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 1 file

### Testing

- **Vitest**: 22 files

### Other

- **isomorphic-git**: 1 file

## Support (packages/gatekeeper-email)

### Content

- **[postal-mime](https://seerepo.com/uses/postal-mime)**: 1 file

## Support (packages/gatekeeper-github)

### Testing

- **Vitest**: 16 files

## Support (packages/gatekeeper-gitlab)

### Testing

- **Vitest**: 18 files

## Backend (packages/gatekeeper-google)

### Sign-in

- **[jose](https://seerepo.com/uses/jose)**: 1 file

## Support (packages/gatekeeper-google)

### Content

- **mimetext**: 1 file
- **[postal-mime](https://seerepo.com/uses/postal-mime)**: 1 file

### Testing

- **Vitest**: 61 files

## Support (packages/gatekeeper-homeassistant)

### Testing

- **Vitest**: 2 files

## Backend (packages/gatekeeper-kit)

### Sign-in

- **[jose](https://seerepo.com/uses/jose)**: 2 files

## Support (packages/gatekeeper-kit)

### Testing

- **Vitest**: 37 files
- **fast-check**: 2 files

### Other

- **diff**: 1 file

## Support (packages/gatekeeper-linear)

### Testing

- **Vitest**: 3 files

## Support (packages/gatekeeper-mcp-portal)

### Testing

- **Vitest**: 4 files

## Support (packages/gatekeeper-mcp)

### Testing

- **Vitest**: 5 files

## Support (packages/gatekeeper-microsoft)

### Testing

- **Vitest**: 65 files
- **playwright**: 3 files

## Support (packages/gatekeeper-notion)

### Testing

- **Vitest**: 4 files

## Backend (packages/gatekeeper-pagerduty)

### Sign-in

- **[jose](https://seerepo.com/uses/jose)**: 1 file

## Support (packages/gatekeeper-pagerduty)

### Testing

- **Vitest**: 9 files

## Frontend (packages/gatekeeper-scheduler)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)
- **[React](https://seerepo.com/uses/react)**: 3 files · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Icons

- **[@phosphor-icons/react](https://seerepo.com/uses/phosphor-icons-react)**: 1 file

## Support (packages/gatekeeper-scheduler)

### Testing

- **Vitest**: 10 files

### Other

- **temporal-polyfill**: 1 file

## Support (packages/gatekeeper-slack)

### Testing

- **Vitest**: 4 files

## Support (packages/gatekeeper-spotify)

### Testing

- **Vitest**: 2 files

## Support (packages/gatekeeper-supabase)

### Testing

- **Vitest**: 2 files

## Support (packages/gatekeeper-websearch)

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 1 file

### Testing

- **Vitest**: 2 files

## Support (packages/gatekeeper-x)

### Testing

- **Vitest**: 14 files

## Support (packages/gatekeeper-zoominfo)

### Testing

- **Vitest**: 4 files

## Backend (packages/mcp-shared)

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 2 files · [packages/mcp-shared/src/account.ts, line 29](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/mcp-shared/src/account.ts#L29)

## Support (packages/mcp-shared)

### Testing

- **Vitest**: 22 files

## Support (packages/observability)

### Testing

- **Vitest**: 4 files

## Support (packages/router)

### Testing

- **Vitest**: 1 file

### Other

- **[jsonc-parser](https://seerepo.com/uses/jsonc-parser)**: 1 file

## Support (packages/typed-storage)

### Testing

- **Vitest**: 1 file

### Tools

- **[Cloudflare](https://seerepo.com/uses/cloudflare)**: 1 file

## Frontend (packages/ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 6 files · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### Interface

- **[Cloudflare](https://seerepo.com/uses/cloudflare)**: 1 file
- **[motion](https://seerepo.com/uses/motion)**: 1 file

### Icons

- **[@phosphor-icons/react](https://seerepo.com/uses/phosphor-icons-react)**: 1 file

## Support (packages/ui)

### Testing

- **Vitest**: 3 files

## Backend (packages/workshop-backend)

### Sign-in

- **[jose](https://seerepo.com/uses/jose)**: 3 files

### AI

- **[Pi](https://seerepo.com/uses/pi)**: 10 files

## Support (packages/workshop-backend)

### Content

- **[dompurify](https://seerepo.com/uses/dompurify)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 3 files
- **[typebox](https://seerepo.com/uses/typebox)**: 1 file

### Testing

- **Vitest**: 102 files
- **fast-check**: 9 files

### Other

- **diff**: 2 files
- **yjs**: 2 files
- **diff3**: 1 file

## Frontend (packages/workshop-frontend)

### The base

- **[React](https://seerepo.com/uses/react)**: 152 files · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)
- **[TanStack](https://seerepo.com/uses/tanstack)**: 47 files
- **[Vite](https://seerepo.com/uses/vite)**: 1 file · [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **[Cloudflare](https://seerepo.com/uses/cloudflare)**: 105 files
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 6 files
- **[@lezer/highlight](https://seerepo.com/uses/lezer-highlight)**: 1 file
- **[motion](https://seerepo.com/uses/motion)**: 1 file

### Icons

- **[@phosphor-icons/react](https://seerepo.com/uses/phosphor-icons-react)**: 94 files

## Support (packages/workshop-frontend)

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 3 files
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 3 files

### Testing

- **Vitest**: 139 files

### Other

- **hash-wasm**: 1 file

## Frontend (packages/workshop-shared)

### Interface

- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 1 file

## Support (packages/workshop-shared)

### Content

- **[mdast-util-from-markdown](https://seerepo.com/uses/mdast-util-from-markdown)**: 1 file

### Other

- **fast-diff**: 1 file

## Other repos with a similar stack

- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): React, Vite, MCP, Tailwind CSS, Cloudflare, @lezer/highlight, CodeMirror, yaml, react-markdown, remark-gfm, Zod, motion, dompurify, mdast-util-from-markdown · [Compare](https://seerepo.com/compare/cloudflare/cloudflare-os/vs/paperclipai/paperclip)
- [reactive-resume/reactive-resume](https://seerepo.com/r/reactive-resume/reactive-resume/built): React, MCP, TanStack, Tailwind CSS, @phosphor-icons/react, node-html-parser, @lezer/highlight, CodeMirror, react-markdown, remark-gfm, Zod, jose, motion, mdast-util-from-markdown · [Compare](https://seerepo.com/compare/cloudflare/cloudflare-os/vs/reactive-resume/reactive-resume)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, Vite, MCP, TanStack, Tailwind CSS, @lezer/highlight, CodeMirror, yaml, remark-gfm, Zod, motion, dompurify, mdast-util-from-markdown · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/cloudflare/cloudflare-os)
- [cline/cline](https://seerepo.com/r/cline/cline/built): React, Vite, MCP, Tailwind CSS, yaml, react-markdown, remark-gfm, Zod, motion, dompurify · [Compare](https://seerepo.com/compare/cline/cline/vs/cloudflare/cloudflare-os)
- [twentyhq/twenty](https://seerepo.com/r/twentyhq/twenty/built): React, Vite, MCP, Cloudflare, react-markdown, remark-gfm, Zod, postal-mime, jose, dompurify · [Compare](https://seerepo.com/compare/cloudflare/cloudflare-os/vs/twentyhq/twenty)
- [multica-ai/multica](https://seerepo.com/r/multica-ai/multica/built): React, TanStack, Tailwind CSS, emoji-mart, yaml, react-markdown, remark-gfm, Zod, motion, mdast-util-from-markdown · [Compare](https://seerepo.com/compare/cloudflare/cloudflare-os/vs/multica-ai/multica)

## Frequently asked questions

### What language is cloudflare-os written in?

cloudflare-os is written in TypeScript, with 1,012,668 written lines.

### What framework does cloudflare-os use?

cloudflare-os is built with React, Preact, Vite, and TanStack.

The proof: [in packages/workshop-frontend/package.json](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/workshop-frontend/package.json)

### What does cloudflare-os sign people in with?

cloudflare-os signs people in with jose.

### Does cloudflare-os use AI?

Yes. cloudflare-os uses AI through Pi.

### What services does cloudflare-os use?

cloudflare-os uses MCP.

The proof: [packages/mcp-shared/src/account.ts, line 29](https://github.com/cloudflare/cloudflare-os/blob/34412000d5a169e9b63f1a0c8a0ba456d5b6e554/packages/mcp-shared/src/account.ts#L29)

### Does cloudflare-os have tests?

Yes. cloudflare-os has 750 test files and is tested with Vitest, commonmark, playwright, and fast-check.

### Which repos have a stack like cloudflare-os's?

The ones that share most of its stack: paperclipai/paperclip, reactive-resume/reactive-resume, and CherryHQ/cherry-studio.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
