Source: https://seerepo.com/r/earendil-works/pi/built
Markdown source: https://seerepo.com/r/earendil-works/pi/built.md
Description: pi is a TypeScript repo built with React. It uses AI through @aws-sdk/client-bedrock-runtime, OpenAI, and Anthropic.

# What is pi built with?

pi is a TypeScript repo built with React. It uses AI through @aws-sdk/client-bedrock-runtime, OpenAI, and Anthropic, makes its content with marked, yaml, @silvia-odwyer/photon-node, and highlight.js, validates its data with typebox, and is tested with Vitest and fake-indexeddb. It has 677,258 written lines, with 1,475 test files.

Read on November 4, 2026, at commit e885255.

Repository: https://github.com/earendil-works/pi

## Support (/)

### Testing

- **Vitest**: 1 file

### Tools

- **TypeScript**: 2 files
- **esbuild**: 1 file

## Frontend (apps/p2)

### The base

- **[React](https://seerepo.com/uses/react)**: 23 files

### Interface

- **lowlight**: 2 files

## Support (apps/p2)

### Content

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

### Tools

- **esbuild**: 1 file

### Other

- **ws**: 4 files
- **diff**: 1 file
- **proper-lockfile**: 1 file
- **undici**: 1 file

## Frontend (apps/p2/plugins/artifacts)

### The base

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

## Frontend (apps/p2/plugins/chat-mode)

### The base

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

## Frontend (apps/p2/plugins/chat)

### The base

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

## Frontend (apps/p2/plugins/conversations)

### The base

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

## Frontend (apps/p2/plugins/devices)

### The base

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

## Frontend (apps/p2/plugins/envs)

### The base

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

## Frontend (apps/p2/plugins/login)

### The base

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

## Frontend (apps/p2/plugins/logs)

### The base

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

## Frontend (apps/p2/plugins/ports)

### The base

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

## Support (apps/p2/plugins/prompt)

### Content

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

## Support (apps/p2/plugins/radius)

### Other

- **ws**: 1 file

## Frontend (apps/p2/plugins/sessions)

### The base

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

## Frontend (apps/p2/plugins/sharing)

### The base

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

## Frontend (apps/p2/plugins/terminals)

### The base

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

## Support (apps/p2/plugins/terminals)

### Other

- **ws**: 1 file

## Frontend (apps/p2/plugins/voice)

### The base

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

## Support (apps/p2/plugins/voice)

### Other

- **ws**: 1 file

## Frontend (apps/p2/plugins/web-shell)

### The base

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

## Frontend (apps/p2/plugins/workspace)

### The base

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

## Support (packages/agent)

### Testing

- **Vitest**: 5 files

## Backend (packages/ai)

### AI

- **@aws-sdk/client-bedrock-runtime**: 1 file

### Services

- **[OpenAI](https://seerepo.com/uses/openai)**: 4 files · [packages/ai/src/api/azure-openai-responses.ts, line 1](https://github.com/earendil-works/pi/blob/e88525506177d22b6e93029d8f6db1aab323c74a/packages/ai/src/api/azure-openai-responses.ts#L1)
- **[Anthropic](https://seerepo.com/uses/anthropic)**: 1 file · [packages/ai/src/api/anthropic-messages.ts, line 1](https://github.com/earendil-works/pi/blob/e88525506177d22b6e93029d8f6db1aab323c74a/packages/ai/src/api/anthropic-messages.ts#L1)

## Support (packages/ai)

### Testing

- **Vitest**: 187 files

### Other

- **@smithy/node-http-handler**: 1 file
- **http-proxy-agent**: 1 file
- **https-proxy-agent**: 1 file

## Frontend (packages/chord)

### The base

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

## Support (packages/chord)

### Testing

- **Vitest**: 220 files

### Tools

- **esbuild**: 3 files

### Other

- **ws**: 3 files

## Support (packages/codemode)

### Testing

- **Vitest**: 6 files

## Support (packages/coding-agent)

### Content

- **@silvia-odwyer/photon-node**: 2 files
- **highlight.js**: 1 file
- **marked**: 1 file
- **[yaml](https://seerepo.com/uses/yaml)**: 1 file

### Validation

- **typebox**: 23 files

### Testing

- **Vitest**: 340 files

### Tools

- **jiti**: 3 files
- **ignore**: 2 files

### Other

- **chalk**: 13 files
- **proper-lockfile**: 5 files
- **diff**: 2 files
- **minimatch**: 2 files
- **SemVer**: 2 files
- **cross-spawn**: 1 file
- **hosted-git-info**: 1 file
- **undici**: 1 file

## Support (packages/durable)

### Testing

- **Vitest**: 102 files
- **fake-indexeddb**: 1 file

### Other

- **diff**: 1 file

## Support (packages/env)

### Testing

- **Vitest**: 8 files

### Other

- **serde_json**: 13 files
- **libc**: 3 files
- **ignore**: 1 file
- **notify**: 1 file
- **windows-sys**: 1 file

## Support (packages/mcp)

### Testing

- **Vitest**: 14 files

### Other

- **cross-spawn**: 1 file

## Support (packages/schema)

### Testing

- **Vitest**: 7 files

## Support (packages/telemetry)

### Testing

- **Vitest**: 7 files

## Frontend (packages/tui)

### Interface

- **@xterm/headless**: 4 files

## Support (packages/tui)

### Content

- **marked**: 2 files

### Other

- **chalk**: 4 files
- **get-east-asian-width**: 1 file

## Other repos with a similar stack

- [n8n-io/n8n](https://seerepo.com/r/n8n-io/n8n/built): OpenAI, Anthropic, yaml, highlight.js · [Compare](https://seerepo.com/compare/earendil-works/pi/vs/n8n-io/n8n)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): React, OpenAI, Anthropic, highlight.js · [Compare](https://seerepo.com/compare/earendil-works/pi/vs/Significant-Gravitas/AutoGPT)
- [open-webui/open-webui](https://seerepo.com/r/open-webui/open-webui/built): OpenAI, marked, yaml, highlight.js · [Compare](https://seerepo.com/compare/earendil-works/pi/vs/open-webui/open-webui)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): React, OpenAI, Anthropic, yaml · [Compare](https://seerepo.com/compare/earendil-works/pi/vs/paperclipai/paperclip)
- [google-gemini/gemini-cli](https://seerepo.com/r/google-gemini/gemini-cli/built): React, lowlight, marked, @xterm/headless · [Compare](https://seerepo.com/compare/earendil-works/pi/vs/google-gemini/gemini-cli)
- [anomalyco/opencode](https://seerepo.com/r/anomalyco/opencode/built): Anthropic, marked, yaml · [Compare](https://seerepo.com/compare/anomalyco/opencode/vs/earendil-works/pi)

## Frequently asked questions

### What language is pi written in?

pi is written in TypeScript, with 677,258 written lines.

### What framework does pi use?

pi is built with React.

### Does pi use AI?

Yes. pi uses AI through @aws-sdk/client-bedrock-runtime, OpenAI, and Anthropic.

### Does pi have tests?

Yes. pi has 1,475 test files and is tested with Vitest and fake-indexeddb.

### Which repos have a stack like pi's?

The ones that share most of its stack: n8n-io/n8n, Significant-Gravitas/AutoGPT, and open-webui/open-webui.

## 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.
