Files
Rohit Ghumare 79573df7cb Initial release: 100-file Claude Code toolkit
20 specialized agents, 10 skills, 17 slash commands, 6 plugins,
12 hooks with scripts, 8 rule sets, 3 CLAUDE.md templates,
14 MCP server configs, and interactive setup installer.
2026-02-04 18:55:28 +00:00

3.8 KiB

/doc-forge:api-docs

Generate API reference documentation from source code annotations, types, and route definitions.

Process

  1. Discover the API surface:

    • Scan for route definitions, controller classes, or handler functions
    • Read middleware chain to understand request preprocessing (auth, validation, parsing)
    • Identify the response format conventions (JSON envelope, error structure, pagination)
    • Check for existing API documentation (Swagger UI, Redoc, custom docs)
  2. For each endpoint, extract and document:

Endpoint Header

  • HTTP method and full URL path (including base path and version prefix)
  • Brief description of what the endpoint does
  • Authentication requirement (public, authenticated, admin-only)
  • Rate limit tier if applicable

Request Documentation

  • Path Parameters: name, type, description, example value, validation constraints
  • Query Parameters: name, type, required/optional, default value, description, allowed values
  • Headers: required custom headers beyond standard ones (Accept, Content-Type)
  • Request Body: full schema with field descriptions, types, constraints, and example payload
    • Mark required fields explicitly
    • Document nested objects and arrays with their own field descriptions
    • Include validation rules (min/max length, regex patterns, enum values)

Response Documentation

  • For each possible status code:
    • Status code and meaning in context
    • Response body schema with field descriptions
    • Complete example response payload
  • Standard status codes to document:
    • 200/201 for success
    • 400 for validation errors (with example of error detail format)
    • 401 for unauthenticated requests
    • 403 for insufficient permissions
    • 404 for resource not found
    • 409 for conflict (duplicate creation, version mismatch)
    • 429 for rate limit exceeded
    • 500 for server errors (with error correlation ID format)

Code Examples

  • curl command for the most common use case
  • Language-specific examples if SDK libraries exist (JavaScript fetch, Python requests)
  • WebSocket examples if the API includes real-time features
  1. Generate cross-reference documentation:

    • List all shared types/schemas used across multiple endpoints
    • Document the authentication flow end-to-end (obtain token, refresh, revoke)
    • Describe pagination patterns with examples of traversing pages
    • Document webhook payloads if the API sends outbound notifications
  2. Organize endpoints by resource:

    • Group related endpoints under resource headers (Users, Orders, Products)
    • Order operations within each group: List, Get, Create, Update, Delete
    • Include a quick-reference table at the top with all endpoints
  3. Add operational information:

    • Base URL for each environment (development, staging, production)
    • Authentication setup instructions
    • Rate limiting policy and headers
    • Versioning policy and migration guide for deprecated endpoints
    • Error handling best practices

Output

Generate documentation in the format most appropriate for the project:

  • Markdown files in docs/api/ for static documentation
  • OpenAPI spec for tool-generated documentation (Swagger UI, Redoc)
  • Inline source annotations if the project uses auto-generation tools

Rules

  • Every example must be a valid, working request that returns the documented response
  • Do not document internal-only endpoints unless explicitly requested
  • Keep descriptions concise: one sentence for the summary, expand only when behavior is non-obvious
  • Use the actual field names from the code, not renamed or prettified versions
  • Document deprecated endpoints with their replacement and sunset date
  • Include rate limit information per endpoint if limits vary
  • Verify response schemas match the actual serializer or response builder output