CLAUDE.md · diegomura/react-pdf
CLAUDE.md from diegomura/react-pdf: 103 lines covering Project Overview, Common Commands, Architecture, Previewing PDFs and more.
Template by diegomura
Chalk Labs
Need help deploying CLAUDE.md · diegomura/react-pdf?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code. Read the repository before you give any tool access to your data.
curl -fsSL https://raw.githubusercontent.com/diegomura/react-pdf/master/CLAUDE.md -o CLAUDE.md
Read it and adapt it to your project before use.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: prompt-engineering, document-processing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
What's in it
A CLAUDE.md file: project memory Claude Code loads at the start of every session.
- For
- Claude Code
- Length
- 103 lines
- File
CLAUDE.md
Sections
- Project Overview
- Common Commands
- Architecture
- Previewing PDFs
- Versioning & Release
First lines (shown under the repo's MIT license)
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
React-PDF is a library for creating PDF documents using React components. It's a monorepo using Lerna with independent versioning, Yarn 1.22.19 as the package manager, and all packages are ESM (`"type": "module"`).
## Common Commands
```bash
yarn install # Install dependencies and bootstrap monorepo
yarn build # Build all packages (lerna run build)
yarn watch # Watch mode - rebuilds on changes (for development)
yarn test # Run all tests (vitest)
yarn test packages/layout # Run tests for a specific package
yarn lint # Lint all packages (eslint packages)
yarn typecheck # TypeScript type checking across all packages
yarn dev # Run example apps
```
To run a single test file: `yarn vitest run path/to/test.ts`
## Architecture
The library works as a pipeline: React components → reconciler → layout → render → PDF output.
### Package Dependency Flow
```
@react-pdf/renderer (main entry point - exports Document, Page, View, Text, etc.)
├── @react-pdf/reconciler → React fiber reconciler that creates the internal element tree
├── @react-pdf/layout → Resolves layout using Yoga (flexbox), handles pagination
│ ├── @react-pdf/textkit → Text measurement, line breaking, hyphenation
│ ├── @react-pdf/stylesheet → CSS-like style parsing and resolution
│ ├── @react-pdf/image → PNG/JPEG image fetching and parsing
│ └── @react-pdf/font → Font loading, registration, emoji support
├── @react-pdf/render → Renders resolved layout tree to PDF drawing operations
│ ├── pdfkit → Low-level PDF generation
│ └── @react-pdf/svgkit → (consumer-supplied ctx) renders the same tree to SVG strings
└── @react-pdf/primitives → Shared component type constants
```
Utility packages: `@react-pdf/fns` (helpers), `@react-pdf/types` (TypeScript types), `@react-pdf/math` (math utils), `@react-pdf/svgkit` (SVG support).
### Build
Each package uses Rollup for bundling. The renderer package produces multiple builds: server, browser, and minified variants. TypeScript is used throughout with strict mode.
### Testing
- **Framework**: Vitest with workspace configuration (`vitest.workspace.js`)
- **Tested packages**: fns, font, image, render, layout, svgkit, textkit, renderer, stylesheet, primitives
- **Renderer** has two test configs: main (fork pool) and browser (jsdom environment)
- **Snapshot testing**: `jest-image-snapshot` for visual regression tests
- **Multi-React support**: Tests can run against React 16, 17, 18, and 19 via environment variables
### Writing Tests
When making changes, always include tests. Add tests in the same location where tests already exist for the package being modified (e.g. `packages/layout/tests/`, `packages/renderer/tests/`).
### Code Style
- ESLint 9 with TypeScript parser, Prettier (single quotes), enforced via Husky pre-commit hooks
- Packages `yoga` and everything under `apps` are excluded from linting
## Previewing PDFs
To visually inspect generated PDFs during debugging, convert pages to images:
**Using pdftoppm (preferred, often pre-installed via poppler-utils):**
```bash
pdftoppm -png -r 200 document.pdf preview
```
This generates `preview-1.png`, `preview-2.png`, etc. at 200 DPI.
**Fallback: PyMuPDF (if pdftoppm is unavailable):**
```bash
pip install pymupdf
```
```python
import fitz
doc = fitz.open("document.pdf")
for i, page in enumerate(doc):
pix = page.get_pixmap(dpi=200)
pix.save(f"page-{i+1}.png")
```
## Versioning & Release
Uses [Changesets](https://github.com/changesets/changesets) for versioning:
```bash
yarn changeset # Create a changeset
yarn version-packages # Apply changesets to bump versions
yarn release # Publish to npm
```Signals
- Stars
- 16,843
- Forks
- 1,346
- Open issues
- 296
- Last commit (this folder)
- Aug 27, 2026 (2 months ago)
- Last release
- Aug 27, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/diegomura/react-pdf
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get CLAUDE.md · diegomura/react-pdf running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
CLAUDE.md · diegomura/react-pdf. Agent Mart. https://agentmart.dev/templates/diegomura-react-pdf-claude-md (last updated 2026-10-24)