generate_documentation – Smart Documentation Creation
Intelligent documentation generation from code analysis with audience-specific formatting and comprehensive examples
Use local-llm:generate_documentation to create professional API docs, README files, and developer guides from your code.
Perfect For
API Documentation Generation
Create comprehensive API documentation with parameter descriptions, response examples, and integration guides for external developers.
Developer Onboarding Documentation
Generate clear setup guides, architecture overviews, and contribution guidelines for new team members.
Library and Package Documentation
Professional documentation for npm packages, Python libraries, and open-source projects with usage examples.
Internal Code Documentation
Function and class documentation with JSDoc, docstrings, and inline comments for better code maintainability.
Client Handover Documentation
Comprehensive project documentation for client delivery including setup instructions and maintenance guides.
Quick Start
local-llm:generate_documentation with:
- filePath: "C:/api/routes/users.js"
- docStyle: "markdown"
- includeExamples: true
Generate JSDoc for TypeScript:
local-llm:generate_documentation with:
- filePath: "C:/src/utilities.ts"
- docStyle: "jsdoc"
- context: {"audience": "developers", "typescript": true}
Documentation Output
Function and Class Documentation
- Parameter Documentation: Complete parameter descriptions with types, default values, and validation requirements
- Return Value Documentation: Detailed return type information with possible values and error conditions
- Usage Examples: Working code examples showing common use cases and integration patterns
API Documentation
- Endpoint Documentation: HTTP methods, URL patterns, request/response schemas with real examples
- Authentication Guidelines: API key usage, token handling, and security implementation details
- Error Handling: Complete error code documentation with troubleshooting guides
Integration Documentation
- Setup Instructions: Installation steps, dependency requirements, and configuration guides
- Quick Start Guides: Minimal working examples to get developers started immediately
- Advanced Configuration: Complex integration scenarios and customisation options
Documentation Example
Input Code
async function createUser(userData, options = {}) {
const { validateEmail = true, sendWelcome = false } = options;
if (validateEmail && !isValidEmail(userData.email)) {
throw new Error('Invalid email format');
}
const user = await db.users.create({
...userData,
createdAt: new Date(),
isActive: true
});
if (sendWelcome) {
await emailService.sendWelcomeEmail(user.email);
}
return { id: user.id, email: user.email, createdAt: user.createdAt };
}
Generated Documentation
## createUser(userData, options)
Creates a new user account with optional email validation and welcome email.
### Parameters
- **userData** (Object) - User information object
- **email** (string) - User's email address (required)
- **name** (string) - User's full name (required)
- Additional user properties as needed
- **options** (Object, optional) - Configuration options
- **validateEmail** (boolean) - Validate email format (default: true)
- **sendWelcome** (boolean) - Send welcome email (default: false)
### Returns
Promise resolving to user object with:
- **id** (number) - Generated user ID
- **email** (string) - User's email address
- **createdAt** (Date) - Account creation timestamp
### Throws
- **Error** - "Invalid email format" when email validation fails
### Example Usage
```javascript
// Basic user creation
const user = await createUser({
email: 'john@example.com',
name: 'John Doe'
});
// With welcome email
const user = await createUser({
email: 'jane@example.com',
name: 'Jane Smith'
}, { sendWelcome: true });
```
Parameters
Parameter | Type | Description | Example |
---|---|---|---|
filePath | string | Path to code file for documentation | “C:/api/userService.js” |
code | string | Code snippet for direct analysis | “function example() {…}” |
docStyle | enum | Documentation format style | “jsdoc” | “markdown” | “docstring” |
includeExamples | boolean | Include usage examples in output | true |
context | object | Documentation context and audience | {“audience”: “external_developers”} |
Documentation Styles
- markdown – GitHub-flavoured markdown suitable for README files and documentation sites
- jsdoc – JSDoc format with proper annotations for IDE integration and API generation
- docstring – Python-style docstrings for function and class documentation
- javadoc – Java documentation format for enterprise development
Advanced Configuration
Audience-Specific Documentation: Tailor documentation complexity and detail level for different audiences.
// External API documentation
local-llm:generate_documentation with:
- filePath: "C:/api/publicRoutes.js"
- docStyle: "markdown"
- context: {
"audience": "external_developers",
"include_auth": true,
"api_version": "v2"
}
// Internal team documentation
local-llm:generate_documentation with:
- filePath: "C:/utils/internalHelpers.js"
- docStyle: "jsdoc"
- context: {
"audience": "team_members",
"include_internals": true
}
Documentation Workflow:
- Use analyze_single_file to understand code structure
- Generate documentation with appropriate style and examples
- Create comprehensive project docs with generate_project_documentation
- Validate documentation with team review process
Pro Tips
Context Matters: Include framework, audience, and purpose information in context for more relevant documentation generation.
Example Quality: Generated examples are working code snippets that can be copied and used immediately.
Version Control: Generate documentation alongside code changes to maintain synchronisation between implementation and docs.
Related Functions
- generate_project_documentation – Complete project documentation generation with architectural insights
- analyze_single_file – Code analysis for documentation context and structure understanding
- generate_unit_tests – Test generation with documentation examples for comprehensive coverage
- suggest_refactoring – Code improvements that enhance documentation clarity