Guides you through updating Next.js documentation based on code changes on the active branch. Designed for maintainers reviewing PRs for documentation completeness.
git diff canary...HEAD --stat to see what files changed
pnpm lint to check formatting
# See all changed files on this branch
git diff canary...HEAD --stat
# See changes in specific areas
git diff canary...HEAD -- packages/next/src/
Look for changes in these areas:
| Source Path | Likely Doc Impact |
| -------------------------------------- | --------------------------- |
| packages/next/src/client/components/ | Component API reference |
| packages/next/src/server/ | Function API reference |
| packages/next/src/shared/lib/ | Varies by export |
| packages/next/src/build/ | Configuration or build docs |
| packages/next/src/lib/ | Various features |
Use the code-to-docs mapping in references/CODE-TO-DOCS-MAPPING.md to find corresponding documentation files.
Example mappings:
src/client/components/image.tsx → docs/01-app/03-api-reference/02-components/image.mdx
src/server/config-shared.ts → docs/01-app/03-api-reference/05-config/
Before making changes, read the existing doc to understand:
/ for router-specific content
Common updates include:
For each change:
If the doc uses the source field pattern (common for Pages Router docs), the source file is the one to edit. Example:
# docs/02-pages/... file with shared content
---
source: app/building-your-application/optimizing/images
---
Edit the App Router source, not the Pages Router file.
pnpm lint # Check formatting
pnpm prettier-fix # Auto-fix formatting issues
Use this when adding documentation for entirely new features.
| Feature Type | Doc Location | Template |
| ------------------- | --------------------------------------------------- | ---------------- |
| New component | docs/01-app/03-api-reference/02-components/ | API Reference |
| New function | docs/01-app/03-api-reference/04-functions/ | API Reference |
| New config option | docs/01-app/03-api-reference/05-config/ | Config Reference |
| New concept/guide | docs/01-app/02-guides/ | Guide |
| New file convention | docs/01-app/03-api-reference/03-file-conventions/ | File Convention |
my-new-feature.mdx
05-my-new-feature.mdx
API Reference Template:
---
title: Feature Name
description: Brief description of what this feature does.
---
{/* The content of this doc is shared between the app and pages router. You can use the `<PagesOnly>Content</PagesOnly>` component to add content that is specific to the Pages Router. Any shared content should not be wrapped in a component. */}
Brief introduction to the feature.
## Reference
### Props
<div style={{ overflowX: 'auto', width: '100%' }}>
| Prop | Example | Type | Status |
| ----------------------- | ------------------ | ------ | -------- |
| [`propName`](#propname) | `propName="value"` | String | Required |
</div>
#### `propName`
Description of the prop.
\`\`\`tsx filename="app/example.tsx" switcher
// TypeScript example
\`\`\`
\`\`\`jsx filename="app/example.js" switcher
// JavaScript example
\`\`\`
Guide Template:
---
title: How to do X in Next.js
nav_title: X
description: Learn how to implement X in your Next.js application.
---
Introduction explaining why this guide is useful.
## Prerequisites
What the reader needs to know before starting.
## Step 1: First Step
Explanation and code example.
\`\`\`tsx filename="app/example.tsx" switcher
// Code example
\`\`\`
## Step 2: Second Step
Continue with more steps...
## Next Steps
Related topics to explore.
Update frontmatter with related documentation:
related:
title: Next Steps
description: Learn more about related features.
links:
- app/api-reference/functions/related-function
- app/guides/related-guide
See references/DOC-CONVENTIONS.md for complete formatting rules.
Frontmatter (required):
---
title: Page Title (2-3 words)
description: One or two sentences describing the page.
---
Code blocks:
\`\`\`tsx filename="app/page.tsx" switcher
// TypeScript first
\`\`\`
\`\`\`jsx filename="app/page.js" switcher
// JavaScript second
\`\`\`
Router-specific content:
<AppOnly>Content only for App Router docs.</AppOnly>
<PagesOnly>Content only for Pages Router docs.</PagesOnly>
Notes:
> **Good to know**: Single line note.
> **Good to know**:
>
> - Multi-line note point 1
> - Multi-line note point 2
Before committing documentation changes:
title and description
filename attribute
switcher with JS variant
pnpm lint passes
references/DOC-CONVENTIONS.md - Complete frontmatter and formatting rules
references/CODE-TO-DOCS-MAPPING.md - Source code to documentation mapping
共 1 个版本