""" # doc-forge `doc-forge` is a renderer-agnostic Python documentation compiler designed for speed, flexibility, and beautiful output. It decouples the introspection of your code from the rendering process, allowing you to generate documentation for various platforms (starting with MkDocs) from a single internal models. ## Available Commands - **build**: Build documentation (MkDocs site or MCP resources). - **serve**: Serve documentation (MkDocs or MCP). - **tree**: Visualize the introspected project structure. ## Installation Install using `pip` with the optional `mkdocs` dependencies for a complete setup: ```bash pip install doc-forge ``` ## Quick Start 1. **Build Documentation**: Introspect your package and generate documentation in one step: ```bash # Build MkDocs site doc-forge build --mkdocs --module my_package --site-name "My Docs" # Build MCP resources doc-forge build --mcp --module my_package ``` 2. **Define Navigation**: Create a `docforge.nav.yml` to organize your documentation: ```yaml home: my_package/index.md groups: Core API: - my_package/core/*.md Utilities: - my_package/utils.md ``` 3. **Preview**: ```bash # Serve MkDocs site doc-forge serve --mkdocs # Serve MCP documentation doc-forge serve --mcp ``` ## Project Structure - `docforge.loaders`: Introspects source code using static analysis (`griffe`). - `docforge.models`: The internal representation of your project, modules, and objects. - `docforge.renderers`: Converters that turn the models into physical files. - `docforge.nav`: Managers for logical-to-physical path mapping and navigation. """ from .loaders import GriffeLoader, discover_module_paths from .renderers import MkDocsRenderer, MCPRenderer from .cli import main from . import models __all__ = [ "GriffeLoader", "discover_module_paths", "MkDocsRenderer", "MCPRenderer", "models", "main", ]