| name | repo-website-api-update |
| description | Update existing API documentation pages after source code changes. Use when syncing docs with library changes like new parameters, type constraint changes, interface updates, or function renames. Covers common change patterns and verification steps. |
Updating API Documentation
Guide for syncing API docs with source code changes.
Prerequisite: Read the repo-website-api-create skill for properties.ts and index.mdx patterns.
When to Update
Update documentation when source code changes:
- Function signatures (parameters, generics, return types)
- Interface properties
- JSDoc descriptions or hints
- Behavior changes affecting examples
Do NOT update for: Internal implementation changes (~run method), test changes, non-JSDoc comments.
Process
- Read full source file - Don't just look at diff; understand complete current state
- Identify changes - Categorize as addition, removal, or modification
- Update
properties.ts - Match types exactly to source; for optional object keys, keep the plain key name and use a union with undefined as the last option instead of appending ?
- Update
index.mdx - Signature, generics, parameters, examples
- Update related files - Type docs,
menu.md if renamed
Common Change Types
New Parameter Added
export function action<TInput>(requirement: TRequirement): Action<...>;
export function action<TInput>(requirement: TRequirement): Action<..., undefined>;
export function action<TInput, TMessage>(requirement: TRequirement, message: TMessage): Action<..., TMessage>;
Update:
- Add
TMessage generic to properties.ts
- Add
message parameter to properties.ts
- Update signature in
index.mdx
- Add generic and parameter documentation
- Update examples to show new parameter
Parameter Removed (Breaking)
- Remove from
properties.ts
- Update signature in
index.mdx
- Remove from Parameters section
- Update all examples
- Consider adding migration note in Explanation
Type Constraint Changed
TRequirement extends number
TRequirement extends number | string
Update:
- Update type in
properties.ts
- Update Explanation to mention both types
- Add examples for new type usage
Interface Property Added
- Update type documentation in
(types)/TypeName/
- Add new property to
properties.ts; if the source key is optional, do not append ? to the key name and model it as a union with undefined last
- Document in Definition section
Function Renamed
- Rename folder
- Update all references in files
- Update
menu.md (maintain alphabetical order)
- Update cross-references in related API docs
- Consider redirect if widely used
Deprecation
Add notice at top of index.mdx (import Link from ~/components):
> **⚠️ Deprecated**: Use <Link href="../newFunction/">\`newFunction\`</Link> instead. Will be removed in v2.0.
New Helper Type Introduced
When source introduces a type alias:
- Update
properties.ts to reference new type with href
- Create documentation for the new type in
(types)/
- Update explanation if supported types changed
Multiple Overloads Added (Sync/Async)
When sync and async variants are added:
- Update signature to show general pattern or both overloads
- Add explanation about sync vs async usage
- Add examples for both use cases
- Update Related section for async schemas if relevant
Related Files to Update
When a function changes, check:
- Type docs - If interfaces changed (
(types)/TypeName/)
- Related API docs - Other APIs that reference this function in their Related section
- Guide files - If usage patterns changed significantly
- menu.md - If function renamed or moved
Verification
After updating, verify:
Best Practices
- Read full source file - Don't just look at diff
- Update incrementally -
properties.ts → index.mdx → related files
- Don't over-document internals - Only user-facing changes need docs
- Preserve example quality - Keep realistic, demonstrate best practices
- Check related APIs - They may reference the changed function
When to Ask for Help
- Major breaking changes (complete signature overhaul)
- Complex generic constraint changes
- Unclear intent from source changes
- Many related files affected
- Need to document migration path
Quick Reference
| Change | Files to Update |
|---|
| New parameter | properties.ts, index.mdx (signature, generics, params, examples) |
| Removed parameter | properties.ts, index.mdx |
| Type change | properties.ts, index.mdx (explanation, examples) |
| Interface change | (types)/TypeName/properties.ts, (types)/TypeName/index.mdx |
| Renamed function | Folder name, all files, menu.md, cross-references |
| Deprecation | index.mdx (add warning) |