docs_generate_api
Generate API documentation from code annotations like JSDoc and Docstrings for multiple programming languages, producing structured documentation files.
Instructions
Generate API documentation from code (JSDoc, Docstrings, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the project source code | |
| outputPath | Yes | Output path for API documentation | |
| language | Yes | Programming language |
Implementation Reference
- src/tools/generateApi.ts:7-81 (handler)The handler function that executes the tool logic for 'docs_generate_api', providing language-specific instructions on how to generate API documentation using tools like TypeDoc, JSDoc, Sphinx, etc.export async function generateApi(args: any) { const { projectPath, outputPath, language } = args as GenerateApiArgs; const instructions: Record<string, string> = { typescript: `π TypeScript API Documentation: 1. Install TypeDoc: npm install --save-dev typedoc 2. Generate API docs: npx typedoc --out ${outputPath} ${projectPath} 3. For integration with Docusaurus: npm install --save-dev docusaurus-plugin-typedoc`, javascript: `π JavaScript API Documentation: 1. Install JSDoc: npm install --save-dev jsdoc 2. Generate API docs: npx jsdoc -c jsdoc.json -d ${outputPath} ${projectPath} 3. Use JSDoc comments: /** * Description * @param {string} param - Parameter description * @returns {Promise<void>} */`, python: `π Python API Documentation: 1. For Sphinx: pip install sphinx sphinx-autodoc 2. Generate API docs: sphinx-apidoc -o ${outputPath} ${projectPath} 3. For MkDocs: pip install mkdocstrings mkdocstrings-python Add to mkdocs.yml: plugins: - mkdocstrings: handlers: python: options: docstring_style: google`, go: `π Go API Documentation: 1. Use godoc: godoc -http=:6060 2. Or generate static docs: go doc -all > ${outputPath}/api.md`, rust: `π Rust API Documentation: 1. Generate docs: cargo doc --no-deps 2. Open in browser: cargo doc --no-deps --open 3. Output is in target/doc`, }; const instruction = instructions[language] || "Language not supported for API generation"; return { content: [ { type: "text", text: instruction, }, ], }; }
- src/index.ts:110-132 (schema)The tool registration object defining the name, description, and input schema for 'docs_generate_api'.{ name: "docs_generate_api", description: "Generate API documentation from code (JSDoc, Docstrings, etc.)", inputSchema: { type: "object", properties: { projectPath: { type: "string", description: "Path to the project source code", }, outputPath: { type: "string", description: "Output path for API documentation", }, language: { type: "string", description: "Programming language", enum: ["typescript", "javascript", "python", "go", "rust", "java", "csharp"], }, }, required: ["projectPath", "outputPath", "language"], }, },
- src/index.ts:306-307 (registration)The switch case that registers and routes calls to the generateApi handler for the 'docs_generate_api' tool.case "docs_generate_api": return await generateApi(args);
- src/tools/generateApi.ts:1-5 (schema)TypeScript interface defining the expected arguments for the generateApi function.interface GenerateApiArgs { projectPath: string; outputPath: string; language: string; }