{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"docforge/","title":"Docforge","text":""},{"location":"docforge/#docforge","title":"docforge","text":""},{"location":"docforge/#docforge--doc-forge","title":"doc-forge","text":"
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.
Install using pip with the optional mkdocs dependencies for a complete setup:
pip install doc-forge\n"},{"location":"docforge/#docforge--quick-start","title":"Quick Start","text":"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\"
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
Preview: ```bash # Serve MkDocs site doc-forge serve --mkdocs
doc-forge build --mcp --module my_package ```
"},{"location":"docforge/#docforge--serve-mcp-documentation","title":"Serve MCP documentation","text":"doc-forge serve --mcp ```
"},{"location":"docforge/#docforge--project-structure","title":"Project Structure","text":"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.GriffeLoader()\n Loads Python modules and extracts documentation using the Griffe introspection engine.
Initialize the GriffeLoader.
"},{"location":"docforge/#docforge.GriffeLoader.load_module","title":"load_module","text":"load_module(path: str) -> Module\n Load a single module and convert its introspection data into the docforge models.
Parameters:
Name Type Description Defaultpath str The dotted path of the module to load.
requiredReturns:
Type DescriptionModule A Module instance.
"},{"location":"docforge/#docforge.GriffeLoader.load_project","title":"load_project","text":"load_project(module_paths: List[str], project_name: Optional[str] = None, skip_import_errors: bool = None) -> Project\n Load multiple modules and combine them into a single Project models.
Parameters:
Name Type Description Defaultmodule_paths List[str] A list of dotted paths to the modules to load.
requiredproject_name Optional[str] Optional name for the project. Defaults to the first module name.
None skip_import_errors bool If True, modules that fail to import will be skipped.
None Returns:
Type DescriptionProject A Project instance containing the loaded modules.
"},{"location":"docforge/#docforge.MCPRenderer","title":"MCPRenderer","text":"Renderer that emits MCP-native JSON resources from docforge models.
"},{"location":"docforge/#docforge.MCPRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Generate MCP-compatible JSON resources and navigation for the project.
Parameters:
Name Type Description Defaultproject Project The project model to render.
requiredout_dir Path Target directory for the generated JSON files.
required"},{"location":"docforge/#docforge.MkDocsRenderer","title":"MkDocsRenderer","text":"Renderer that generates Markdown source files formatted for the MkDocs 'mkdocstrings' plugin.
"},{"location":"docforge/#docforge.MkDocsRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Produce a set of Markdown files in the output directory based on the provided Project models.
Parameters:
Name Type Description Defaultproject Project The project models to render.
requiredout_dir Path Target directory for documentation files.
required"},{"location":"docforge/#docforge.discover_module_paths","title":"discover_module_paths","text":"discover_module_paths(module_name: str, project_root: Path | None = None) -> List[str]\n Discover all Python modules under a package via filesystem traversal.
Rules: - Directory with init.py is treated as a package. - Any .py file is treated as a module. - All paths are converted to dotted module paths.
Parameters:
Name Type Description Defaultmodule_name str The name of the package to discover.
requiredproject_root Path | None The root directory of the project. Defaults to current working directory.
None Returns:
Type DescriptionList[str] A sorted list of dotted module paths.
"},{"location":"docforge/cli/","title":"Cli","text":""},{"location":"docforge/cli/#docforge.cli","title":"docforge.cli","text":""},{"location":"docforge/cli/#docforge.cli--cli-layer","title":"CLI Layer","text":"The docforge.cli package provides the command-line interface for interacting with doc-forge.
build(mcp: bool, mkdocs: bool, module: Optional[str], project_name: Optional[str], site_name: Optional[str], docs_dir: Path, nav_file: Path, template: Optional[Path], mkdocs_yml: Path, out_dir: Path) -> None\n Build documentation (MkDocs site or MCP resources).
This command orchestrates the full build process: 1. Introspects the code (Griffe) 2. Renders sources (MkDocs Markdown or MCP JSON) 3. (MkDocs only) Generates config and runs the final site build.
Parameters:
Name Type Description Defaultmcp bool Use the MCP documentation builder.
requiredmkdocs bool Use the MkDocs documentation builder.
requiredmodule Optional[str] The dotted path of the module to document.
requiredproject_name Optional[str] Optional override for the project name.
requiredsite_name Optional[str] (MkDocs) The site display name. Defaults to module name.
requireddocs_dir Path (MkDocs) Target directory for Markdown sources.
requirednav_file Path (MkDocs) Path to the docforge.nav.yml specification.
requiredtemplate Optional[Path] (MkDocs) Optional custom mkdocs.yml template.
requiredmkdocs_yml Path (MkDocs) Target path for the generated mkdocs.yml.
requiredout_dir Path (MCP) Target directory for MCP JSON resources.
required"},{"location":"docforge/cli/commands/#docforge.cli.commands.serve","title":"serve","text":"serve(mcp: bool, mkdocs: bool, mkdocs_yml: Path, out_dir: Path) -> None\n Serve documentation (MkDocs or MCP).
Parameters:
Name Type Description Defaultmcp bool Serve MCP resources via an MCP server.
requiredmkdocs bool Serve the MkDocs site using the built-in development server.
requiredmkdocs_yml Path (MkDocs) Path to the mkdocs.yml configuration.
requiredout_dir Path (MCP) Path to the mcp_docs/ directory.
required"},{"location":"docforge/cli/commands/#docforge.cli.commands.tree","title":"tree","text":"tree(modules: Sequence[str], project_name: Optional[str]) -> None\n Visualize the project structure in the terminal.
Parameters:
Name Type Description Defaultmodules Sequence[str] List of module import paths to recursively introspect.
requiredproject_name Optional[str] Optional override for the project name shown at the root.
required"},{"location":"docforge/cli/main/","title":"Main","text":""},{"location":"docforge/cli/main/#docforge.cli.main","title":"docforge.cli.main","text":"Main entry point for the doc-forge CLI. This module delegates all command execution to docforge.cli.commands.
"},{"location":"docforge/cli/main/#docforge.cli.main.main","title":"main","text":"main() -> None\n CLI Entry point. Boots the click application.
"},{"location":"docforge/cli/mcp_utils/","title":"Mcp Utils","text":""},{"location":"docforge/cli/mcp_utils/#docforge.cli.mcp_utils","title":"docforge.cli.mcp_utils","text":""},{"location":"docforge/cli/mcp_utils/#docforge.cli.mcp_utils.generate_resources","title":"generate_resources","text":"generate_resources(module: str, project_name: str | None, out_dir: Path) -> None\n Generate MCP-compatible documentation resources.
Parameters:
Name Type Description Defaultmodule str The dotted path of the primary module to document.
requiredproject_name str | None Optional override for the project name.
requiredout_dir Path Directory where the MCP JSON resources and nav will be written.
required"},{"location":"docforge/cli/mcp_utils/#docforge.cli.mcp_utils.serve","title":"serve","text":"serve(mcp_root: Path) -> None\n Serve MCP documentation from a pre-built bundle.
Parameters:
Name Type Description Defaultmcp_root Path Path to the directory containing index.json, nav.json, and modules/.
required"},{"location":"docforge/cli/mkdocs_utils/","title":"Mkdocs Utils","text":""},{"location":"docforge/cli/mkdocs_utils/#docforge.cli.mkdocs_utils","title":"docforge.cli.mkdocs_utils","text":""},{"location":"docforge/cli/mkdocs_utils/#docforge.cli.mkdocs_utils.build","title":"build","text":"build(mkdocs_yml: Path) -> None\n Build the documentation site using MkDocs.
Parameters:
Name Type Description Defaultmkdocs_yml Path Path to the mkdocs.yml configuration file.
required"},{"location":"docforge/cli/mkdocs_utils/#docforge.cli.mkdocs_utils.generate_config","title":"generate_config","text":"generate_config(docs_dir: Path, nav_file: Path, template: Path | None, out: Path, site_name: str) -> None\n Generate an mkdocs.yml configuration file.
Parameters:
Name Type Description Defaultdocs_dir Path Path to the directory containing documentation Markdown files.
requirednav_file Path Path to the docforge.nav.yml specification.
requiredtemplate Path | None Optional path to an mkdocs.yml template (overrides built-in).
requiredout Path Path where the final mkdocs.yml will be written.
requiredsite_name str The display name for the documentation site.
required"},{"location":"docforge/cli/mkdocs_utils/#docforge.cli.mkdocs_utils.generate_sources","title":"generate_sources","text":"generate_sources(module: str, project_name: str | None, docs_dir: Path) -> None\n Generate Markdown source files for the specified module.
Parameters:
Name Type Description Defaultmodule str The dotted path of the primary module to document.
requiredproject_name str | None Optional override for the project name.
requireddocs_dir Path Directory where the generated Markdown files will be written.
required"},{"location":"docforge/cli/mkdocs_utils/#docforge.cli.mkdocs_utils.serve","title":"serve","text":"serve(mkdocs_yml: Path) -> None\n Serve the documentation site with live-reload using MkDocs.
Parameters:
Name Type Description Defaultmkdocs_yml Path Path to the mkdocs.yml configuration file.
required"},{"location":"docforge/loaders/","title":"Loaders","text":""},{"location":"docforge/loaders/#docforge.loaders","title":"docforge.loaders","text":""},{"location":"docforge/loaders/#docforge.loaders--loader-layer","title":"Loader Layer","text":"The docforge.loaders package is responsible for discovering Python source files and extracting their documentation using static analysis.
griffe to parse docstrings, signatures, and hierarchical relationships without executing the code._) to ensure clean public documentation.GriffeLoader()\n Loads Python modules and extracts documentation using the Griffe introspection engine.
Initialize the GriffeLoader.
"},{"location":"docforge/loaders/#docforge.loaders.GriffeLoader.load_module","title":"load_module","text":"load_module(path: str) -> Module\n Load a single module and convert its introspection data into the docforge models.
Parameters:
Name Type Description Defaultpath str The dotted path of the module to load.
requiredReturns:
Type DescriptionModule A Module instance.
"},{"location":"docforge/loaders/#docforge.loaders.GriffeLoader.load_project","title":"load_project","text":"load_project(module_paths: List[str], project_name: Optional[str] = None, skip_import_errors: bool = None) -> Project\n Load multiple modules and combine them into a single Project models.
Parameters:
Name Type Description Defaultmodule_paths List[str] A list of dotted paths to the modules to load.
requiredproject_name Optional[str] Optional name for the project. Defaults to the first module name.
None skip_import_errors bool If True, modules that fail to import will be skipped.
None Returns:
Type DescriptionProject A Project instance containing the loaded modules.
"},{"location":"docforge/loaders/#docforge.loaders.discover_module_paths","title":"discover_module_paths","text":"discover_module_paths(module_name: str, project_root: Path | None = None) -> List[str]\n Discover all Python modules under a package via filesystem traversal.
Rules: - Directory with init.py is treated as a package. - Any .py file is treated as a module. - All paths are converted to dotted module paths.
Parameters:
Name Type Description Defaultmodule_name str The name of the package to discover.
requiredproject_root Path | None The root directory of the project. Defaults to current working directory.
None Returns:
Type DescriptionList[str] A sorted list of dotted module paths.
"},{"location":"docforge/loaders/griffe_loader/","title":"Griffe Loader","text":""},{"location":"docforge/loaders/griffe_loader/#docforge.loaders.griffe_loader","title":"docforge.loaders.griffe_loader","text":"This module provides the GriffeLoader, which uses the 'griffe' library to introspect Python source code and populate the doc-forge Project models.
"},{"location":"docforge/loaders/griffe_loader/#docforge.loaders.griffe_loader.GriffeLoader","title":"GriffeLoader","text":"GriffeLoader()\n Loads Python modules and extracts documentation using the Griffe introspection engine.
Initialize the GriffeLoader.
"},{"location":"docforge/loaders/griffe_loader/#docforge.loaders.griffe_loader.GriffeLoader.load_module","title":"load_module","text":"load_module(path: str) -> Module\n Load a single module and convert its introspection data into the docforge models.
Parameters:
Name Type Description Defaultpath str The dotted path of the module to load.
requiredReturns:
Type DescriptionModule A Module instance.
"},{"location":"docforge/loaders/griffe_loader/#docforge.loaders.griffe_loader.GriffeLoader.load_project","title":"load_project","text":"load_project(module_paths: List[str], project_name: Optional[str] = None, skip_import_errors: bool = None) -> Project\n Load multiple modules and combine them into a single Project models.
Parameters:
Name Type Description Defaultmodule_paths List[str] A list of dotted paths to the modules to load.
requiredproject_name Optional[str] Optional name for the project. Defaults to the first module name.
None skip_import_errors bool If True, modules that fail to import will be skipped.
None Returns:
Type DescriptionProject A Project instance containing the loaded modules.
"},{"location":"docforge/loaders/griffe_loader/#docforge.loaders.griffe_loader.discover_module_paths","title":"discover_module_paths","text":"discover_module_paths(module_name: str, project_root: Path | None = None) -> List[str]\n Discover all Python modules under a package via filesystem traversal.
Rules: - Directory with init.py is treated as a package. - Any .py file is treated as a module. - All paths are converted to dotted module paths.
Parameters:
Name Type Description Defaultmodule_name str The name of the package to discover.
requiredproject_root Path | None The root directory of the project. Defaults to current working directory.
None Returns:
Type DescriptionList[str] A sorted list of dotted module paths.
"},{"location":"docforge/models/","title":"Models","text":""},{"location":"docforge/models/#docforge.models","title":"docforge.models","text":""},{"location":"docforge/models/#docforge.models--model-layer","title":"Model Layer","text":"The docforge.models package provides the core data structures used to represent Python source code in a documentation-focused hierarchy.
These classes are designed to be renderer-agnostic, allowing the same internal representation to be transformed into various output formats (currently MkDocs).
"},{"location":"docforge/models/#docforge.models.DocObject","title":"DocObject","text":"DocObject(name: str, kind: str, path: str, signature: Optional[str] = None, docstring: Optional[str] = None)\n Represents a documented Python object (class, function, method, etc.).
Attributes:
Name Type Descriptionname str Local name of the object.
kind str Type of object (e.g., 'class', 'function', 'attribute').
path str Full dotted import path to the object.
signature Optional[str] Callable signature, if applicable.
docstring Optional[str] Raw docstring content extracted from the source.
members Dict[str, DocObject] Dictionary mapping member names to their DocObject representations.
Initialize a new DocObject.
Parameters:
Name Type Description Defaultname str The local name of the object.
requiredkind str The kind of object (e.g., 'class', 'function').
requiredpath str The full dotted path to the object.
requiredsignature Optional[str] The object's signature (for callable objects).
None docstring Optional[str] The object's docstring, if any.
None"},{"location":"docforge/models/#docforge.models.DocObject.add_member","title":"add_member","text":"add_member(obj: DocObject) -> None\n Add a child member to this object (e.g., a method to a class).
Parameters:
Name Type Description Defaultobj DocObject The child DocObject to add.
required"},{"location":"docforge/models/#docforge.models.DocObject.get_all_members","title":"get_all_members","text":"get_all_members() -> Iterable[DocObject]\n Get all members of this object.
Returns:
Type DescriptionIterable[DocObject] An iterable of child DocObject instances.
"},{"location":"docforge/models/#docforge.models.DocObject.get_member","title":"get_member","text":"get_member(name: str) -> DocObject\n Retrieve a child member by name.
Parameters:
Name Type Description Defaultname str The name of the member.
requiredReturns:
Type DescriptionDocObject The requested DocObject.
"},{"location":"docforge/models/#docforge.models.Module","title":"Module","text":"Module(path: str, docstring: Optional[str] = None)\n Represents a documented Python module or package.
Attributes:
Name Type Descriptionpath str Dotted import path of the module.
docstring Optional[str] Module-level docstring content.
members Dict[str, DocObject] Dictionary mapping object names to their DocObject representations.
Initialize a new Module.
Parameters:
Name Type Description Defaultpath str The dotted path of the module.
requireddocstring Optional[str] The module's docstring, if any.
None"},{"location":"docforge/models/#docforge.models.Module.add_object","title":"add_object","text":"add_object(obj: DocObject) -> None\n Add a documented object to the module.
Parameters:
Name Type Description Defaultobj DocObject The object to add.
required"},{"location":"docforge/models/#docforge.models.Module.get_all_objects","title":"get_all_objects","text":"get_all_objects() -> Iterable[DocObject]\n Get all top-level objects in the module.
Returns:
Type DescriptionIterable[DocObject] An iterable of DocObject instances.
"},{"location":"docforge/models/#docforge.models.Module.get_object","title":"get_object","text":"get_object(name: str) -> DocObject\n Retrieve a member object by name.
Parameters:
Name Type Description Defaultname str The name of the object.
requiredReturns:
Type DescriptionDocObject The requested DocObject.
"},{"location":"docforge/models/#docforge.models.Project","title":"Project","text":"Project(name: str)\n Represents a documentation project, serving as a container for modules.
Attributes:
Name Type Descriptionname str Name of the project.
modules Dict[str, Module] Dictionary mapping module paths to Module instances.
Initialize a new Project.
Parameters:
Name Type Description Defaultname str The name of the project.
required"},{"location":"docforge/models/#docforge.models.Project.add_module","title":"add_module","text":"add_module(module: Module) -> None\n Add a module to the project.
Parameters:
Name Type Description Defaultmodule Module The module to add.
required"},{"location":"docforge/models/#docforge.models.Project.get_all_modules","title":"get_all_modules","text":"get_all_modules() -> Iterable[Module]\n Get all modules in the project.
Returns:
Type DescriptionIterable[Module] An iterable of Module objects.
"},{"location":"docforge/models/#docforge.models.Project.get_module","title":"get_module","text":"get_module(path: str) -> Module\n Retrieve a module by its dotted path.
Parameters:
Name Type Description Defaultpath str The dotted path of the module (e.g., 'pkg.mod').
requiredReturns:
Type DescriptionModule The requested Module.
"},{"location":"docforge/models/#docforge.models.Project.get_module_list","title":"get_module_list","text":"get_module_list() -> list[str]\n Get the list of all module dotted paths.
Returns:
Type Descriptionlist[str] A list of module paths.
"},{"location":"docforge/models/module/","title":"Module","text":""},{"location":"docforge/models/module/#docforge.models.module","title":"docforge.models.module","text":"This module defines the Module class, which represents a Python module or package in the doc-forge documentation models. It acts as a container for top-level documented objects.
"},{"location":"docforge/models/module/#docforge.models.module.Module","title":"Module","text":"Module(path: str, docstring: Optional[str] = None)\n Represents a documented Python module or package.
Attributes:
Name Type Descriptionpath str Dotted import path of the module.
docstring Optional[str] Module-level docstring content.
members Dict[str, DocObject] Dictionary mapping object names to their DocObject representations.
Initialize a new Module.
Parameters:
Name Type Description Defaultpath str The dotted path of the module.
requireddocstring Optional[str] The module's docstring, if any.
None"},{"location":"docforge/models/module/#docforge.models.module.Module.add_object","title":"add_object","text":"add_object(obj: DocObject) -> None\n Add a documented object to the module.
Parameters:
Name Type Description Defaultobj DocObject The object to add.
required"},{"location":"docforge/models/module/#docforge.models.module.Module.get_all_objects","title":"get_all_objects","text":"get_all_objects() -> Iterable[DocObject]\n Get all top-level objects in the module.
Returns:
Type DescriptionIterable[DocObject] An iterable of DocObject instances.
"},{"location":"docforge/models/module/#docforge.models.module.Module.get_object","title":"get_object","text":"get_object(name: str) -> DocObject\n Retrieve a member object by name.
Parameters:
Name Type Description Defaultname str The name of the object.
requiredReturns:
Type DescriptionDocObject The requested DocObject.
"},{"location":"docforge/models/object/","title":"Object","text":""},{"location":"docforge/models/object/#docforge.models.object","title":"docforge.models.object","text":"This module defines the DocObject class, the fundamental recursive unit of the doc-forge documentation models. A DocObject represents a single Python entity (class, function, method, or attribute) and its nested members.
"},{"location":"docforge/models/object/#docforge.models.object.DocObject","title":"DocObject","text":"DocObject(name: str, kind: str, path: str, signature: Optional[str] = None, docstring: Optional[str] = None)\n Represents a documented Python object (class, function, method, etc.).
Attributes:
Name Type Descriptionname str Local name of the object.
kind str Type of object (e.g., 'class', 'function', 'attribute').
path str Full dotted import path to the object.
signature Optional[str] Callable signature, if applicable.
docstring Optional[str] Raw docstring content extracted from the source.
members Dict[str, DocObject] Dictionary mapping member names to their DocObject representations.
Initialize a new DocObject.
Parameters:
Name Type Description Defaultname str The local name of the object.
requiredkind str The kind of object (e.g., 'class', 'function').
requiredpath str The full dotted path to the object.
requiredsignature Optional[str] The object's signature (for callable objects).
None docstring Optional[str] The object's docstring, if any.
None"},{"location":"docforge/models/object/#docforge.models.object.DocObject.add_member","title":"add_member","text":"add_member(obj: DocObject) -> None\n Add a child member to this object (e.g., a method to a class).
Parameters:
Name Type Description Defaultobj DocObject The child DocObject to add.
required"},{"location":"docforge/models/object/#docforge.models.object.DocObject.get_all_members","title":"get_all_members","text":"get_all_members() -> Iterable[DocObject]\n Get all members of this object.
Returns:
Type DescriptionIterable[DocObject] An iterable of child DocObject instances.
"},{"location":"docforge/models/object/#docforge.models.object.DocObject.get_member","title":"get_member","text":"get_member(name: str) -> DocObject\n Retrieve a child member by name.
Parameters:
Name Type Description Defaultname str The name of the member.
requiredReturns:
Type DescriptionDocObject The requested DocObject.
"},{"location":"docforge/models/project/","title":"Project","text":""},{"location":"docforge/models/project/#docforge.models.project","title":"docforge.models.project","text":"This module defines the Project class, the top-level container for a documented project. It aggregates multiple Module instances into a single named entity.
"},{"location":"docforge/models/project/#docforge.models.project.Project","title":"Project","text":"Project(name: str)\n Represents a documentation project, serving as a container for modules.
Attributes:
Name Type Descriptionname str Name of the project.
modules Dict[str, Module] Dictionary mapping module paths to Module instances.
Initialize a new Project.
Parameters:
Name Type Description Defaultname str The name of the project.
required"},{"location":"docforge/models/project/#docforge.models.project.Project.add_module","title":"add_module","text":"add_module(module: Module) -> None\n Add a module to the project.
Parameters:
Name Type Description Defaultmodule Module The module to add.
required"},{"location":"docforge/models/project/#docforge.models.project.Project.get_all_modules","title":"get_all_modules","text":"get_all_modules() -> Iterable[Module]\n Get all modules in the project.
Returns:
Type DescriptionIterable[Module] An iterable of Module objects.
"},{"location":"docforge/models/project/#docforge.models.project.Project.get_module","title":"get_module","text":"get_module(path: str) -> Module\n Retrieve a module by its dotted path.
Parameters:
Name Type Description Defaultpath str The dotted path of the module (e.g., 'pkg.mod').
requiredReturns:
Type DescriptionModule The requested Module.
"},{"location":"docforge/models/project/#docforge.models.project.Project.get_module_list","title":"get_module_list","text":"get_module_list() -> list[str]\n Get the list of all module dotted paths.
Returns:
Type Descriptionlist[str] A list of module paths.
"},{"location":"docforge/nav/","title":"Nav","text":""},{"location":"docforge/nav/#docforge.nav","title":"docforge.nav","text":""},{"location":"docforge/nav/#docforge.nav--navigation-layer","title":"Navigation Layer","text":"The docforge.nav package manages the mapping between the logical documentation structure and the physical files on disk.
docforge.nav.yml.resolve_nav matches patterns in the spec to generated .md files.MkDocsNavEmitter produces the final YAML structure for mkdocs.yml.This abstraction allows doc-forge to support complex grouping and ordering independently of the source code's physical layout.
"},{"location":"docforge/nav/#docforge.nav.MkDocsNavEmitter","title":"MkDocsNavEmitter","text":"Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible navigation structure.
"},{"location":"docforge/nav/#docforge.nav.MkDocsNavEmitter.emit","title":"emit","text":"emit(nav: ResolvedNav) -> List[Dict[str, Any]]\n Generate a list of navigation entries for mkdocs.yml.
Parameters:
Name Type Description Defaultnav ResolvedNav The resolved navigation data.
requiredReturns:
Type DescriptionList[Dict[str, Any]] A list of dictionary mappings representing the MkDocs navigation.
"},{"location":"docforge/nav/#docforge.nav.NavSpec","title":"NavSpec","text":"NavSpec(home: Optional[str], groups: Dict[str, List[str]])\n Parsed representation of the docforge navigation specification file.
Attributes:
Name Type Descriptionhome Optional[str] Path to the home document (e.g., 'index.md').
groups Dict[str, List[str]] Mapping of group titles to lists of path patterns/globs.
Initialize a NavSpec.
Parameters:
Name Type Description Defaulthome Optional[str] The path to the home document.
requiredgroups Dict[str, List[str]] A mapping of group names to lists of path patterns (globs).
required"},{"location":"docforge/nav/#docforge.nav.NavSpec.all_patterns","title":"all_patterns","text":"all_patterns() -> List[str]\n Get all path patterns referenced in the specification.
Returns:
Type DescriptionList[str] A list of all patterns (home plus all groups).
"},{"location":"docforge/nav/#docforge.nav.NavSpec.load","title":"loadclassmethod","text":"load(path: Path) -> NavSpec\n Load a NavSpec from a YAML file.
Parameters:
Name Type Description Defaultpath Path The filesystem path to the YAML file.
requiredReturns:
Type DescriptionNavSpec A NavSpec instance.
Raises:
Type DescriptionFileNotFoundError If the path does not exist.
ValueError If the file content is not a valid NavSpec mapping.
"},{"location":"docforge/nav/#docforge.nav.ResolvedNav","title":"ResolvedNav","text":"ResolvedNav(home: str | None, groups: Dict[str, List[Path]], docs_root: Path | None = None)\n Represents a navigation structure where all patterns and paths have been resolved against the actual filesystem contents.
Attributes:
Name Type Descriptionhome Optional[str] Resolved relative path to the home page.
groups Dict[str, List[Path]] Mapping of group titles to lists of absolute or relative Path objects.
Initialize a ResolvedNav instance.
Parameters:
Name Type Description Defaulthome str | None The relative path to the project home page.
requiredgroups Dict[str, List[Path]] A mapping of group names to their resolved filesystem paths.
requireddocs_root Path | None The root documentation directory.
None"},{"location":"docforge/nav/#docforge.nav.ResolvedNav.all_files","title":"all_files","text":"all_files() -> Iterable[Path]\n Get an iterable of all resolved files in the navigation structure.
Returns:
Type DescriptionIterable[Path] An iterable of Path objects.
"},{"location":"docforge/nav/#docforge.nav.load_nav_spec","title":"load_nav_spec","text":"load_nav_spec(path: Path) -> NavSpec\n Utility function to load a NavSpec from a file.
Parameters:
Name Type Description Defaultpath Path Path to the navigation specification file.
requiredReturns:
Type DescriptionNavSpec A loaded NavSpec instance.
"},{"location":"docforge/nav/#docforge.nav.resolve_nav","title":"resolve_nav","text":"resolve_nav(spec: NavSpec, docs_root: Path) -> ResolvedNav\n Create a ResolvedNav by processing a NavSpec against the filesystem. This expands globs and validates the existence of referenced files.
Parameters:
Name Type Description Defaultspec NavSpec The navigation specification to resolve.
requireddocs_root Path The root directory for documentation files.
requiredReturns:
Type DescriptionResolvedNav A ResolvedNav instance.
Raises:
Type DescriptionFileNotFoundError If a pattern doesn't match any files or the docs_root doesn't exist.
"},{"location":"docforge/nav/mkdocs/","title":"Mkdocs","text":""},{"location":"docforge/nav/mkdocs/#docforge.nav.mkdocs","title":"docforge.nav.mkdocs","text":"This module provides the MkDocsNavEmitter, which converts a ResolvedNav instance into the specific YAML-ready list structure expected by the MkDocs 'nav' configuration.
"},{"location":"docforge/nav/mkdocs/#docforge.nav.mkdocs.MkDocsNavEmitter","title":"MkDocsNavEmitter","text":"Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible navigation structure.
"},{"location":"docforge/nav/mkdocs/#docforge.nav.mkdocs.MkDocsNavEmitter.emit","title":"emit","text":"emit(nav: ResolvedNav) -> List[Dict[str, Any]]\n Generate a list of navigation entries for mkdocs.yml.
Parameters:
Name Type Description Defaultnav ResolvedNav The resolved navigation data.
requiredReturns:
Type DescriptionList[Dict[str, Any]] A list of dictionary mappings representing the MkDocs navigation.
"},{"location":"docforge/nav/resolver/","title":"Resolver","text":""},{"location":"docforge/nav/resolver/#docforge.nav.resolver","title":"docforge.nav.resolver","text":"This module contains the logic for resolving a NavSpec against the physical filesystem. It expands globs and validates that all referenced documents actually exist on disk.
"},{"location":"docforge/nav/resolver/#docforge.nav.resolver.ResolvedNav","title":"ResolvedNav","text":"ResolvedNav(home: str | None, groups: Dict[str, List[Path]], docs_root: Path | None = None)\n Represents a navigation structure where all patterns and paths have been resolved against the actual filesystem contents.
Attributes:
Name Type Descriptionhome Optional[str] Resolved relative path to the home page.
groups Dict[str, List[Path]] Mapping of group titles to lists of absolute or relative Path objects.
Initialize a ResolvedNav instance.
Parameters:
Name Type Description Defaulthome str | None The relative path to the project home page.
requiredgroups Dict[str, List[Path]] A mapping of group names to their resolved filesystem paths.
requireddocs_root Path | None The root documentation directory.
None"},{"location":"docforge/nav/resolver/#docforge.nav.resolver.ResolvedNav.all_files","title":"all_files","text":"all_files() -> Iterable[Path]\n Get an iterable of all resolved files in the navigation structure.
Returns:
Type DescriptionIterable[Path] An iterable of Path objects.
"},{"location":"docforge/nav/resolver/#docforge.nav.resolver.resolve_nav","title":"resolve_nav","text":"resolve_nav(spec: NavSpec, docs_root: Path) -> ResolvedNav\n Create a ResolvedNav by processing a NavSpec against the filesystem. This expands globs and validates the existence of referenced files.
Parameters:
Name Type Description Defaultspec NavSpec The navigation specification to resolve.
requireddocs_root Path The root directory for documentation files.
requiredReturns:
Type DescriptionResolvedNav A ResolvedNav instance.
Raises:
Type DescriptionFileNotFoundError If a pattern doesn't match any files or the docs_root doesn't exist.
"},{"location":"docforge/nav/spec/","title":"Spec","text":""},{"location":"docforge/nav/spec/#docforge.nav.spec","title":"docforge.nav.spec","text":"This module defines the NavSpec class, which represents the user's intent for documentation navigation as defined in a YAML specification (usually docforge.nav.yml).
"},{"location":"docforge/nav/spec/#docforge.nav.spec.NavSpec","title":"NavSpec","text":"NavSpec(home: Optional[str], groups: Dict[str, List[str]])\n Parsed representation of the docforge navigation specification file.
Attributes:
Name Type Descriptionhome Optional[str] Path to the home document (e.g., 'index.md').
groups Dict[str, List[str]] Mapping of group titles to lists of path patterns/globs.
Initialize a NavSpec.
Parameters:
Name Type Description Defaulthome Optional[str] The path to the home document.
requiredgroups Dict[str, List[str]] A mapping of group names to lists of path patterns (globs).
required"},{"location":"docforge/nav/spec/#docforge.nav.spec.NavSpec.all_patterns","title":"all_patterns","text":"all_patterns() -> List[str]\n Get all path patterns referenced in the specification.
Returns:
Type DescriptionList[str] A list of all patterns (home plus all groups).
"},{"location":"docforge/nav/spec/#docforge.nav.spec.NavSpec.load","title":"loadclassmethod","text":"load(path: Path) -> NavSpec\n Load a NavSpec from a YAML file.
Parameters:
Name Type Description Defaultpath Path The filesystem path to the YAML file.
requiredReturns:
Type DescriptionNavSpec A NavSpec instance.
Raises:
Type DescriptionFileNotFoundError If the path does not exist.
ValueError If the file content is not a valid NavSpec mapping.
"},{"location":"docforge/nav/spec/#docforge.nav.spec.load_nav_spec","title":"load_nav_spec","text":"load_nav_spec(path: Path) -> NavSpec\n Utility function to load a NavSpec from a file.
Parameters:
Name Type Description Defaultpath Path Path to the navigation specification file.
requiredReturns:
Type DescriptionNavSpec A loaded NavSpec instance.
"},{"location":"docforge/renderers/","title":"Renderers","text":""},{"location":"docforge/renderers/#docforge.renderers","title":"docforge.renderers","text":""},{"location":"docforge/renderers/#docforge.renderers--renderers-layer","title":"Renderers Layer","text":"The docforge.renderers package handles the transformation of the internal documentation models into physical files formatted for specific documentation engines.
mkdocstrings syntax. It automatically handles package/module hierarchy and generates index.md files for packages.To add a new renderer, implement the DocRenderer protocol defined in docforge.renderers.base.
Renderer that emits MCP-native JSON resources from docforge models.
"},{"location":"docforge/renderers/#docforge.renderers.MCPRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Generate MCP-compatible JSON resources and navigation for the project.
Parameters:
Name Type Description Defaultproject Project The project model to render.
requiredout_dir Path Target directory for the generated JSON files.
required"},{"location":"docforge/renderers/#docforge.renderers.MkDocsRenderer","title":"MkDocsRenderer","text":"Renderer that generates Markdown source files formatted for the MkDocs 'mkdocstrings' plugin.
"},{"location":"docforge/renderers/#docforge.renderers.MkDocsRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Produce a set of Markdown files in the output directory based on the provided Project models.
Parameters:
Name Type Description Defaultproject Project The project models to render.
requiredout_dir Path Target directory for documentation files.
required"},{"location":"docforge/renderers/base/","title":"Base","text":""},{"location":"docforge/renderers/base/#docforge.renderers.base","title":"docforge.renderers.base","text":"This module defines the base interfaces and configuration containers for doc-forge renderers. All renderer implementations should adhere to the DocRenderer protocol.
"},{"location":"docforge/renderers/base/#docforge.renderers.base.DocRenderer","title":"DocRenderer","text":" Bases: Protocol
Protocol defining the interface for documentation renderers.
"},{"location":"docforge/renderers/base/#docforge.renderers.base.DocRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Generate renderer-specific source files for the given project.
Parameters:
Name Type Description Defaultproject Project The project models containing modules and objects.
requiredout_dir Path Target directory for the generated files.
required"},{"location":"docforge/renderers/base/#docforge.renderers.base.RendererConfig","title":"RendererConfig","text":"RendererConfig(out_dir: Path, project: Project)\n Configuration container for documentation renderers.
Parameters:
Name Type Description Defaultout_dir Path The directory where documentation files should be written.
requiredproject Project The introspected project models to be rendered.
required"},{"location":"docforge/renderers/mcp_renderer/","title":"Mcp Renderer","text":""},{"location":"docforge/renderers/mcp_renderer/#docforge.renderers.mcp_renderer","title":"docforge.renderers.mcp_renderer","text":""},{"location":"docforge/renderers/mcp_renderer/#docforge.renderers.mcp_renderer.MCPRenderer","title":"MCPRenderer","text":"Renderer that emits MCP-native JSON resources from docforge models.
"},{"location":"docforge/renderers/mcp_renderer/#docforge.renderers.mcp_renderer.MCPRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Generate MCP-compatible JSON resources and navigation for the project.
Parameters:
Name Type Description Defaultproject Project The project model to render.
requiredout_dir Path Target directory for the generated JSON files.
required"},{"location":"docforge/renderers/mkdocs_renderer/","title":"Mkdocs Renderer","text":""},{"location":"docforge/renderers/mkdocs_renderer/#docforge.renderers.mkdocs_renderer","title":"docforge.renderers.mkdocs_renderer","text":"This module implements the MkDocsRenderer, which generates Markdown source files compatible with the MkDocs 'material' theme and 'mkdocstrings' extension.
"},{"location":"docforge/renderers/mkdocs_renderer/#docforge.renderers.mkdocs_renderer.MkDocsRenderer","title":"MkDocsRenderer","text":"Renderer that generates Markdown source files formatted for the MkDocs 'mkdocstrings' plugin.
"},{"location":"docforge/renderers/mkdocs_renderer/#docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources","title":"generate_sources","text":"generate_sources(project: Project, out_dir: Path) -> None\n Produce a set of Markdown files in the output directory based on the provided Project models.
Parameters:
Name Type Description Defaultproject Project The project models to render.
requiredout_dir Path Target directory for documentation files.
required"},{"location":"docforge/servers/","title":"Servers","text":""},{"location":"docforge/servers/#docforge.servers","title":"docforge.servers","text":""},{"location":"docforge/servers/#docforge.servers.MCPServer","title":"MCPServer","text":"MCPServer(mcp_root: Path, name: str)\n MCP server for serving a pre-built MCP documentation bundle.
Initialize the MCPServer.
Parameters:
Name Type Description Defaultmcp_root Path Path to the directory containing pre-built MCP JSON resources.
requiredname str Name of the MCP server.
required"},{"location":"docforge/servers/#docforge.servers.MCPServer.run","title":"run","text":"run(transport: Literal['stdio', 'sse', 'streamable-http'] = 'streamable-http') -> None\n Start the MCP server.
Parameters:
Name Type Description Defaulttransport Literal['stdio', 'sse', 'streamable-http'] MCP transport (default: streamable-http)
'streamable-http'"},{"location":"docforge/servers/mcp_server/","title":"Mcp Server","text":""},{"location":"docforge/servers/mcp_server/#docforge.servers.mcp_server","title":"docforge.servers.mcp_server","text":""},{"location":"docforge/servers/mcp_server/#docforge.servers.mcp_server.MCPServer","title":"MCPServer","text":"MCPServer(mcp_root: Path, name: str)\n MCP server for serving a pre-built MCP documentation bundle.
Initialize the MCPServer.
Parameters:
Name Type Description Defaultmcp_root Path Path to the directory containing pre-built MCP JSON resources.
requiredname str Name of the MCP server.
required"},{"location":"docforge/servers/mcp_server/#docforge.servers.mcp_server.MCPServer.run","title":"run","text":"run(transport: Literal['stdio', 'sse', 'streamable-http'] = 'streamable-http') -> None\n Start the MCP server.
Parameters:
Name Type Description Defaulttransport Literal['stdio', 'sse', 'streamable-http'] MCP transport (default: streamable-http)
'streamable-http'"}]}