Generate markdown documentation for a module or feature
You are creating proper markdown documentation for a module or feature in the library.
Read WRITING_STYLE.md first for tone, formatting conventions, and anti-patterns to avoid.
content/docs/ for documentation to updateThis project uses Fumadocs for documentation. All docs live in content/docs/ as MDX files.
content/docs/
├── index.mdx # Landing page
├── meta.json # Root navigation order
├── getting-started/ # Quickstart guides
│ ├── installation.mdx
│ ├── create-pdf.mdx
│ └── parse-pdf.mdx
├── guides/ # Feature guides
│ ├── drawing.mdx
│ ├── encryption.mdx
| |-- ...
├── api/ # API reference
│ ├── pdf.mdx
│ ├── pdf-page.mdx
│ ├── pdf-form.mdx
│ ├── ...
├── concepts/ # Conceptual docs
│ ├── pdf-structure.mdx
│ ├── object-model.mdx
│ └── incremental-saves.mdx
├── advanced/ # Advanced topics
│ └── library-authors.mdx
└── migration/ # Migration guides
└── from-pdf-lib.mdx
| Type | Location | When to use |
|---|---|---|
| API Reference | content/docs/api/<class>.mdx |
Documenting a class like PDF, PDFPage, PDFForm |
| Feature Guide | content/docs/guides/<feature>.mdx |
How-to guides for features (forms, signatures, etc.) |
| Concept | content/docs/concepts/<topic>.mdx |
Explaining PDF concepts (structure, objects, etc.) |
| Getting Started | content/docs/getting-started/ |
Installation and first steps |
Each directory has a meta.json that controls navigation order:
{
"title": "API Reference",
"pages": [
"index",
"---Classes---",
"pdf",
"pdf-page",
"pdf-form",
"annotations",
"---Other---",
"errors"
]
}
---Label--- for section dividers---
title: ModuleName
description: Brief description for SEO and previews.
---
# ModuleName
Brief description of what this module does and when to use it.
<Callout type="warn" title="my title">
Use callouts sparingly for important warnings or beta features.
</Callout>
## Quick Start
\`\`\`typescript
import { PDF } from "@libpdf/core";
// Minimal working example
\`\`\`
---
## methodName(options)
Description of what the method does.
| Param | Type | Default | Description |
| ------------ | -------- | -------- | -------------- |
| `param` | `string` | required | What it does |
| `[optional]` | `number` | `10` | Optional param |
**Returns**: `ReturnType`
\`\`\`typescript
// Usage example
\`\`\`
---
## Types
### TypeName
\`\`\`typescript
interface TypeName {
property: string;
}
\`\`\`
<Callout type="info">Informational note</Callout>
<Callout type="warn">Warning message</Callout>
<Callout type="error">Error/danger message</Callout>
See WRITING_STYLE.md for complete guidelines. Key points:
meta.json when adding new pagescontent/docs/ for related pagesmeta.json if new pageAnalyze the conversation context to determine the documentation scope, read the relevant source code, and create comprehensive MDX documentation in content/docs/.