ast-based codebase structure extraction and analysis
Parses source code files using Abstract Syntax Tree (AST) analysis to extract structural information including function signatures, class definitions, module exports, and dependency relationships. The tool traverses the AST to build a semantic map of the codebase architecture rather than relying on regex or simple text parsing, enabling accurate identification of public APIs and internal structure.
Unique: Uses language-specific AST parsers to build semantic codebase maps rather than simple text scanning, enabling accurate extraction of public APIs and structural relationships that can be reliably consumed by AI agents
vs alternatives: More accurate than regex-based code scanning because it understands actual code structure; more focused than full IDE indexing because it specifically targets agent-consumable API documentation
agents.md generation from codebase metadata
Transforms extracted codebase structure (functions, classes, exports, signatures) into a machine-readable Markdown document formatted specifically for AI agent consumption. The generator creates a structured Agents.md file that lists available functions, their parameters, return types, and usage context in a format optimized for LLM context windows and function-calling patterns.
Unique: Generates Agents.md specifically formatted for AI agent consumption rather than human-readable documentation, with emphasis on function signatures, parameters, and return types in a format optimized for LLM context windows
vs alternatives: More targeted than generic documentation generators because it focuses on agent-consumable API surface; more maintainable than manual Agents.md because it auto-updates from source code
multi-language codebase support with language-specific parsers
Provides pluggable AST parser support for multiple programming languages, allowing the tool to analyze codebases written in JavaScript, TypeScript, Python, and potentially other languages. Each language uses its native or optimized parser (e.g., tree-sitter, Babel for JS/TS; ast module for Python) to ensure accurate structural extraction across heterogeneous codebases.
Unique: Abstracts language-specific parsing behind a unified interface, allowing single-pass analysis of heterogeneous codebases without separate tools per language
vs alternatives: More flexible than language-specific documentation tools because it handles multiple languages in one pass; more maintainable than custom regex patterns because it uses native language parsers
incremental codebase change detection and agents.md updates
Monitors codebase changes (file additions, deletions, modifications) and regenerates only affected sections of Agents.md rather than re-parsing the entire codebase. Uses file hashing or modification timestamps to detect changes, then re-parses only modified files and updates the corresponding entries in the generated documentation.
Unique: Implements incremental parsing and selective Agents.md updates rather than full regeneration, enabling fast CI/CD integration and real-time documentation sync during development
vs alternatives: Faster than full re-parse on every change because it only processes modified files; more practical for CI/CD than manual documentation updates because it's automated and efficient
function signature and parameter extraction with type information
Extracts detailed function signatures including parameter names, types, default values, and return types from parsed code. For typed languages (TypeScript, Python with type hints), captures full type information; for untyped languages, infers or documents parameter positions. Generates structured metadata that includes arity, parameter order, and type constraints.
Unique: Extracts and preserves type information from source code to generate agent-consumable function signatures that include parameter types and constraints, not just names
vs alternatives: More precise than simple function name extraction because it includes type information; more reliable than runtime introspection because it works statically without executing code
dependency graph and import relationship mapping
Analyzes import statements and require() calls to build a dependency graph showing which modules depend on which others. Tracks both internal dependencies (within the codebase) and external dependencies (third-party libraries). Generates metadata about module relationships that helps agents understand code organization and potential side effects.
Unique: Builds a static dependency graph from import analysis rather than runtime introspection, enabling agents to understand code organization without executing code
vs alternatives: More comprehensive than simple import listing because it shows relationships between modules; more reliable than runtime analysis because it doesn't require code execution
docstring and comment extraction and inclusion in documentation
Parses docstrings, JSDoc comments, and inline comments from source code and includes them in the generated Agents.md. Extracts structured documentation (parameter descriptions, return value docs, examples) from comment blocks and associates them with the corresponding functions. Handles multiple comment formats (JSDoc, Python docstrings, Markdown comments).
Unique: Automatically extracts and includes existing docstrings and comments in Agents.md rather than requiring separate documentation, keeping docs in sync with code comments
vs alternatives: More maintainable than separate documentation because it sources from code comments; more complete than code-only extraction because it includes human-written context and examples
export and public api surface identification
Identifies which functions, classes, and variables are exported from modules (public API) versus internal/private. Analyzes export statements, visibility modifiers (private, protected, public), and naming conventions to determine what should be exposed to agents. Filters out internal implementation details and focuses on the public contract.
Unique: Filters codebase analysis to expose only public APIs rather than all functions, enabling agents to interact with stable contracts without seeing internal implementation
vs alternatives: More focused than full codebase documentation because it excludes internal details; more maintainable than manual API lists because it's derived from actual export statements
+2 more capabilities