# Pierre Monorepo — First 30 Minutes > Fast orientation to the Pierre monorepo: the open-source home of @pierre/diffs (precision virtualized code diffs) and @pierre/trees (high-performance file trees), their shared tooling, documentation site, and strict contributor workflows. This is a Grok-Wiki source-grounded repository wiki. Use the complete Markdown link when an agent needs the full repo context. ## Context Links - [Complete Markdown wiki](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/llms-full.txt) - [Complete Markdown alias](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845.md) - [Human interactive wiki](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845) - [GitHub repository](https://github.com/pierrecomputer/pierre) ## Repository - Repository: pierrecomputer/pierre - Generated: 2026-05-21T01:19:41.873Z - Updated: 2026-05-21T21:33:31.171Z - Runtime: Grok CLI - Format: First 30 Minutes - Pages: 6 ## Pages - [Start Here](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/01-start-here.md): The Pierre monorepo hosts two production-grade open source UI libraries — @pierre/diffs for pixel-perfect, virtualized code diffs and @pierre/trees for high-performance file trees — plus the documentation site that showcases them. This page gives the 30-minute orientation: what matters, entry points to open first, vocabulary, and recommended first files. - [Local Development & Tooling](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/02-local-development-tooling.md): Everything you run in the first 10 minutes: Bun workspaces with catalog dependency rules (never pin versions in package.json), worktree-based parallel development via scripts/wt.ts + scripts/run-dev.sh for port isolation, mandatory root-level lint/format/tsc, AGENT=1 for readable test output, and the scripts that prevent zombie ports and inconsistent state. - [@pierre/diffs — Precision Diff Engine](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/03-pierre-diffs-precision-diff-engine.md): The core of diffs.com: a Shiki-backed diff renderer with lazy language/theme resolution, UniversalRenderingManager + InteractionManager + ScrollSyncManager + ResizeManager, DiffHunksRenderer and FileRenderer, full virtualization (VirtualizedFileDiff), both React and web-component entry points, and extensive unit tests that assert exact DOM and scroll behavior without broad snapshots. - [@pierre/trees & Path Store — Virtualized Trees](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/04-pierre-trees-path-store-virtualized-trees.md): The engine behind trees.software: prepared input + density presets, FileTree renderer, and the sophisticated @pierre/path-store (PathStore + createVisibleTreeProjection) that handles async directory loading, visible-row projection, mutations, and cleanup for massive trees (AOSP, Linux) while keeping O(n) behavior. Includes React and web-component surfaces plus Playwright E2E only for true browser-only invariants. - [Documentation Site & Live Examples](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/05-documentation-site-live-examples.md): The Next.js app (apps/docs) that serves the public faces of diffs.com and trees.software: route groups for multiple brands, MDX-driven documentation, live component previews, a build pipeline that rebuilds the three published packages on every dev start, llms.txt generation, and E2E tests that exercise the real rendered output. Also contains the small Vite demo app. - [After 30 Minutes — Next Reads & Tasks](https://grok-wiki.com/public/wiki/pierrecomputer-pierre-fac2c554b845/pages/06-after-30-minutes-next-reads-tasks.md): You now understand the monorepo shape, the two libraries, the contributor contract (bun only, catalog, root lint+format, worktree cleanup), and the performance invariants (no nested loops, pre-calculate before iteration). This page lists the exact next files and commands: run a package test, study visible-tree-projection or UniversalRenderingManager, add a small feature, and the living glossary of Pierre terms (catalog:, PIERRE_PORT_OFFSET, prepareFileTreeInput, DiffHunksRenderer, oxfmt, AGENT=1, visible projection, worktree). ## Source Files - `AGENTS.md` - `apps/demo/src/main.ts` - `apps/docs/app/(trees)/docs/Guides/GetStartedWithReact/content.mdx` - `apps/docs/app/layout.tsx` - `apps/docs/app/page.tsx` - `apps/docs/lib/mdx.tsx` - `apps/docs/package.json` - `apps/docs/scripts/generate-llms-txt.ts` - `bunfig.toml` - `CLAUDE.md` - `package.json` - `packages/diffs/package.json` - `packages/diffs/scripts/benchmarkParseMergeConflictDiffFromFile.ts` - `packages/diffs/src/highlighter/shared_highlighter.ts` - `packages/diffs/src/index.ts` - `packages/diffs/src/managers/UniversalRenderingManager.ts` - `packages/diffs/src/react/CodeView.tsx` - `packages/diffs/src/renderers/DiffHunksRenderer.ts` - `packages/diffs/test/CodeView.diffIndicators.test.ts` - `packages/diffs/test/FileRenderer.test.ts` - `packages/path-store/scripts/benchmark.ts` - `packages/path-store/src/index.ts` - `packages/path-store/src/store.ts` - `packages/path-store/src/visible-tree-projection.ts` - `packages/tree-test-data/index.js` - `packages/trees/package.json` - `packages/trees/src/index.ts` - `packages/trees/src/model/virtualization.ts` - `packages/trees/src/render/FileTree.ts` - `packages/trees/test/rename-file-tree-paths.test.ts` - `packages/trees/TESTING.md` - `README` - `scripts/run-dev.sh` - `scripts/ws.ts` - `scripts/wt.ts` - `tsconfig.json` - `tsconfig.options.json`