# @pierre/diffs > An open source diff and code rendering library for the web. Built on Shiki for syntax highlighting, with React and vanilla JS APIs, virtualization, SSR support, and extensive theming. - Package: `@pierre/diffs` on [npm](https://www.npmjs.com/package/@pierre/diffs) - GitHub: https://github.com/pierrecomputer/pierre - Install: `npm install @pierre/diffs` ## Docs - [Overview](https://diffs.com/docs#overview): What diffs is, architecture, and getting started - [Installation](https://diffs.com/docs#installation): Package installation and entry points - [Build with agents](https://diffs.com/docs#build-with-agents): The diffs agent skill, a paste-ready prompt for agents without skill support, and the plain-text docs - [Core Types](https://diffs.com/docs#core-types): FileContents, FileDiffMetadata, and creating diffs from files or patches - [React API](https://diffs.com/docs#react-api): React components for CodeView, diffs, files, UnresolvedFile, EditProvider, and shared props - [Vanilla JS API](https://diffs.com/docs#vanilla-js-api): Vanilla classes for CodeView, FileDiff, File, UnresolvedFile, props, and low-level renderers - [CodeView](https://diffs.com/docs#codeview): One virtualized scroll region for mixed file and diff lists, with scrollTo targeting, viewer-wide selection, sticky headers, and header/footer regions - [Edit mode](https://diffs.com/docs#edit-mode): Edit mode for File surfaces via Editor and EditProvider, with selections, history, search, actions, and shortcuts - [Virtualization](https://diffs.com/docs#virtualization): Virtual scrolling for large diffs and files - [Hunk Separators](https://diffs.com/docs#hunk-separators): Built-in separator presets, CSS customization hooks, and the discouraged vanilla escape hatch - [Utilities](https://diffs.com/docs#utilities): parseDiffFromFile, parsePatchFiles, highlighter management, accept/reject hunks - [Styling](https://diffs.com/docs#styling): CSS variables, inline styles, and unsafe CSS injection - [Themes](https://diffs.com/docs#themes): Pierre Light/Dark themes, custom theme creation, and registration - [Token Hooks](https://diffs.com/docs#token-hooks): Experimental token-level enter/leave/click callbacks for hover UI and LSP integrations - [Worker Pool](https://diffs.com/docs#worker-pool): Off-main-thread syntax highlighting with configurable worker pools - [SSR](https://diffs.com/docs#ssr): Server-side rendering with preload functions for instant first paint ## See also - [@pierre/trees](https://trees.software/llms.txt): File tree rendering library - [Full documentation](https://diffs.com/llms-full.txt): Complete @pierre/diffs docs in a single file