Source: https://seerepo.com/r/backnotprop/plannotator/built
Markdown source: https://seerepo.com/r/backnotprop/plannotator/built.md
Description: plannotator is a TypeScript repo built with React and Vite. It reaches its data with Drizzle. It has 1,355,493 written lines, with 2,651 test files.

# What is plannotator built with?

plannotator is a TypeScript repo built with React and Vite. It reaches its data with Drizzle, uses AI through @opencode-ai/plugin, Pi, @opencode-ai/sdk, and Anthropic, makes its content with dompurify, marked, shiki, uqr, @joplin/turndown-plugin-gfm, and 4 more, validates its data with Zod, is tested with @playwright/test, @agentclientprotocol/sdk, fast-check, and @happy-dom/global-registrator, and uses MCP. It has 1,355,493 written lines, with 2,651 test files.

Read on November 13, 2026, at commit 6cd0324.

Repository: https://github.com/backnotprop/plannotator

## Frontend (/)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

## Support (/)

### Testing

- **@playwright/test**: 276 files
- **[@agentclientprotocol/sdk](https://seerepo.com/uses/agentclientprotocol-sdk)**: 1 file

## Frontend (apps/guides-show)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[React](https://seerepo.com/uses/react)**: 10 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

## Support (apps/guides-show)

### Other

- **@pierre/diffs**: 1 file

## Frontend (apps/hook)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[Vite](https://seerepo.com/uses/vite)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

## Support (apps/hook)

### Other

- **@pierre/diffs**: 1 file

## Frontend (apps/inbox)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[React](https://seerepo.com/uses/react)**: 3 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

## Backend (apps/opencode-plugin)

### AI

- **[@opencode-ai/plugin](https://seerepo.com/uses/opencode-ai-plugin)**: 1 file

## Support (apps/opencode-plugin)

### Tools

- **@opencode/plugin**: 1 file

## Frontend (apps/pi-extension)

### Interface

- **@earendil-works/pi-tui**: 1 file

## Backend (apps/pi-extension)

### AI

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

## Support (apps/pi-extension)

### Other

- **@pierre/diffs**: 1 file

## Frontend (apps/portal)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[React](https://seerepo.com/uses/react)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

## Frontend (apps/review)

### The base

- **[React](https://seerepo.com/uses/react)**: 2 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[Vite](https://seerepo.com/uses/vite)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

### Interface

- **@viz-js/viz**: 1 file
- **[Mermaid](https://seerepo.com/uses/mermaid)**: 1 file

## Support (apps/review)

### Tools

- **@vitejs/plugin-react**: 1 file

## Frontend (apps/vscode-extension)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[React](https://seerepo.com/uses/react)**: 7 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

## Backend (apps/vscode-extension)

### AI

- **[@agentclientprotocol/sdk](https://seerepo.com/uses/agentclientprotocol-sdk)**: 3 files

## Support (apps/vscode-extension)

### Content

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

### Testing

- **@playwright/test**: 6 files

### Other

- **@pierre/diffs**: 3 files

## Backend (packages/acp-client)

### AI

- **[@agentclientprotocol/sdk](https://seerepo.com/uses/agentclientprotocol-sdk)**: 3 files

## Backend (packages/ai)

### AI

- **@opencode-ai/sdk**: 1 file

### Services

- **[Anthropic](https://seerepo.com/uses/anthropic)**: 1 file · [packages/ai/providers/claude-agent-sdk.ts, line 353](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/packages/ai/providers/claude-agent-sdk.ts#L353)

## Frontend (packages/editor)

### The base

- **[React](https://seerepo.com/uses/react)**: 21 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

### Interface

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

### Icons

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

## Support (packages/editor)

### Other

- **diff**: 1 file

## Frontend (packages/guide-viewer)

### The base

- **[React](https://seerepo.com/uses/react)**: 14 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Icons

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

## Frontend (packages/inbox)

### The base

- **[React](https://seerepo.com/uses/react)**: 332 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Interface

- **[Base UI](https://seerepo.com/uses/base-ui)**: 33 files
- **[motion](https://seerepo.com/uses/motion)**: 5 files

## Support (packages/inbox)

### Content

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

### Testing

- **fast-check**: 1 file

### Other

- **@pierre/diffs**: 3 files

## Frontend (packages/review-editor)

### The base

- **[React](https://seerepo.com/uses/react)**: 159 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

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

### Interface

- **[Base UI](https://seerepo.com/uses/base-ui)**: 14 files
- **dockview-react**: 10 files
- **[motion](https://seerepo.com/uses/motion)**: 3 files
- **[sonner](https://seerepo.com/uses/sonner)**: 2 files

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 17 files

## Support (packages/review-editor)

### Content

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

### Other

- **@pierre/diffs**: 17 files
- **diff**: 2 files

## Backend (packages/server)

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 9 files · [packages/server/inbox-mcp.ts, line 16](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/packages/server/inbox-mcp.ts#L16)

## Support (packages/server)

### Content

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

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 8 files

### Testing

- **fast-check**: 2 files

### Other

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

## Backend (packages/shared)

### Data access

- **[Drizzle](https://seerepo.com/uses/drizzle)**: 4 files

## Support (packages/shared)

### Content

- **@joplin/turndown-plugin-gfm**: 1 file
- **[parse5](https://seerepo.com/uses/parse5)**: 1 file
- **[turndown](https://seerepo.com/uses/turndown)**: 1 file

### Validation

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

### Testing

- **fast-check**: 9 files
- **[marked](https://seerepo.com/uses/marked)**: 2 files

### Tools

- **chokidar**: 1 file

### Other

- **diff**: 1 file

## Frontend (packages/system)

### The base

- **[React](https://seerepo.com/uses/react)**: 9 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

## Support (packages/system)

### Content

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

## Backend (packages/t3-code)

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 2 files · [packages/server/inbox-mcp.ts, line 16](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/packages/server/inbox-mcp.ts#L16)

## Support (packages/t3-code)

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 5 files

## Frontend (packages/ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 281 files · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)
- **[Vite](https://seerepo.com/uses/vite)**: 1 file · [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Styles

- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 3 files
- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**: 1 file
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Base UI](https://seerepo.com/uses/base-ui)**: 10 files
- **[CodeMirror](https://seerepo.com/uses/codemirror)**: 3 files
- **[Mermaid](https://seerepo.com/uses/mermaid)**: 3 files
- **[motion](https://seerepo.com/uses/motion)**: 2 files
- **[sonner](https://seerepo.com/uses/sonner)**: 2 files
- **@viz-js/viz**: 1 file
- **perfect-freehand**: 1 file
- **[TanStack](https://seerepo.com/uses/tanstack)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 21 files

## Support (packages/ui)

### Content

- **[dompurify](https://seerepo.com/uses/dompurify)**: 5 files
- **[katex](https://seerepo.com/uses/katex)**: 3 files
- **[marked](https://seerepo.com/uses/marked)**: 3 files

### Testing

- **@happy-dom/global-registrator**: 1 file

### Tools

- **TypeScript**: 1 file

### Other

- **@pierre/diffs**: 4 files
- **clsx**: 1 file
- **diff**: 1 file

## Other repos with a similar stack

- [cline/cline](https://seerepo.com/r/cline/cline/built): React, Vite, Anthropic, MCP, Tailwind CSS, Mermaid, @agentclientprotocol/sdk, dompurify, marked, sonner, Lucide, Base UI, motion, shiki, Zod, turndown, yaml, class-variance-authority, tailwind-merge · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/cline/cline)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): React, Vite, Anthropic, MCP, Tailwind CSS, @viz-js/viz, @agentclientprotocol/sdk, dompurify, Lucide, motion, Zod, Drizzle, turndown, yaml, class-variance-authority, tailwind-merge, CodeMirror, TanStack, katex · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/CherryHQ/cherry-studio)
- [THU-MAIC/OpenMAIC](https://seerepo.com/r/THU-MAIC/OpenMAIC/built): React, Anthropic, Tailwind CSS, Pi, sonner, Lucide, Base UI, motion, shiki, uqr, Zod, @joplin/turndown-plugin-gfm, parse5, turndown, class-variance-authority, tailwind-merge, katex · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/THU-MAIC/OpenMAIC)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): React, Vite, Anthropic, MCP, Tailwind CSS, Mermaid, dompurify, Lucide, Base UI, motion, Zod, Drizzle, yaml, class-variance-authority, tailwind-merge, CodeMirror · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/paperclipai/paperclip)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): React, Tailwind CSS, dompurify, marked, sonner, Lucide, Base UI, motion, shiki, Zod, yaml, class-variance-authority, tailwind-merge, CodeMirror, katex · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/QuantumNous/new-api)
- [multica-ai/multica](https://seerepo.com/r/multica-ai/multica/built): React, Tailwind CSS, Mermaid, marked, sonner, Base UI, motion, shiki, Zod, yaml, class-variance-authority, tailwind-merge, TanStack, katex · [Compare](https://seerepo.com/compare/backnotprop/plannotator/vs/multica-ai/multica)

## Frequently asked questions

### What language is plannotator written in?

plannotator is written in TypeScript, with 1,355,493 written lines.

### What framework does plannotator use?

plannotator is built with React and Vite.

The proof: [in apps/hook/package.json](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/apps/hook/package.json)

### Does plannotator use AI?

Yes. plannotator uses AI through @opencode-ai/plugin, Pi, @opencode-ai/sdk, and Anthropic.

### What services does plannotator use?

plannotator uses MCP.

The proof: [packages/server/inbox-mcp.ts, line 16](https://github.com/backnotprop/plannotator/blob/6cd0324f651d8cdc0effc6c1866a694198942bb5/packages/server/inbox-mcp.ts#L16)

### Does plannotator have tests?

Yes. plannotator has 2,651 test files and is tested with @playwright/test, @agentclientprotocol/sdk, fast-check, and @happy-dom/global-registrator.

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

The ones that share most of its stack: cline/cline, CherryHQ/cherry-studio, and THU-MAIC/OpenMAIC.

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