UNPKG

erosolar-cli

Version:

Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning

86 lines 2.19 kB
/** * Automated Documentation Generator * * Analyzes code structure and generates comprehensive documentation * including API docs, README sections, and architecture diagrams. * * Principal Investigator: Bo Shang * Framework: erosolar-cli */ export interface DocumentedItem { type: 'function' | 'class' | 'interface' | 'type' | 'variable' | 'module'; name: string; file: string; line: number; signature?: string; description?: string; params?: ParameterDoc[]; returns?: ReturnDoc; examples?: string[]; tags?: string[]; exported: boolean; } export interface ParameterDoc { name: string; type: string; description?: string; optional: boolean; defaultValue?: string; } export interface ReturnDoc { type: string; description?: string; } export interface ModuleDoc { path: string; name: string; description?: string; exports: DocumentedItem[]; dependencies: string[]; } export interface ProjectDoc { name: string; version: string; description: string; modules: ModuleDoc[]; architecture: ArchitectureDoc; apiSummary: APISummary; } export interface ArchitectureDoc { layers: ArchitectureLayer[]; dependencies: DependencyLink[]; } export interface ArchitectureLayer { name: string; modules: string[]; description: string; } export interface DependencyLink { from: string; to: string; type: 'imports' | 'extends' | 'implements'; } export interface APISummary { totalExports: number; publicFunctions: number; publicClasses: number; publicInterfaces: number; documentedPercent: number; } export declare class DocGenerator { private workingDir; private parser; private fileExtensions; private excludeDirs; constructor(workingDir: string); generateProjectDoc(): ProjectDoc; private analyzeModules; private collectFiles; private extractDependencies; private analyzeArchitecture; private generateAPISummary; generateMarkdown(project: ProjectDoc): string; generateAPIReference(project: ProjectDoc): string; } export default DocGenerator; //# sourceMappingURL=docGenerator.d.ts.map