{"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.

"},{"location":"docforge/#docforge--available-commands","title":"Available Commands","text":""},{"location":"docforge/#docforge--installation","title":"Installation","text":"

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":"
  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\"

  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

"},{"location":"docforge/#docforge--build-mcp-resources","title":"Build MCP resources","text":"

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":""},{"location":"docforge/#docforge.GriffeLoader","title":"GriffeLoader","text":"
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 Default path str

The dotted path of the module to load.

required

Returns:

Type Description Module

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 Default module_paths List[str]

A list of dotted paths to the modules to load.

required project_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 Description Project

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 Default project Project

The project model to render.

required out_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 Default project Project

The project models to render.

required out_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 Default module_name str

The name of the package to discover.

required project_root Path | None

The root directory of the project. Defaults to current working directory.

None

Returns:

Type Description List[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.

"},{"location":"docforge/cli/#docforge.cli--available-commands","title":"Available Commands","text":""},{"location":"docforge/cli/commands/","title":"Commands","text":""},{"location":"docforge/cli/commands/#docforge.cli.commands","title":"docforge.cli.commands","text":""},{"location":"docforge/cli/commands/#docforge.cli.commands.build","title":"build","text":"
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 Default mcp bool

Use the MCP documentation builder.

required mkdocs bool

Use the MkDocs documentation builder.

required module Optional[str]

The dotted path of the module to document.

required project_name Optional[str]

Optional override for the project name.

required site_name Optional[str]

(MkDocs) The site display name. Defaults to module name.

required docs_dir Path

(MkDocs) Target directory for Markdown sources.

required nav_file Path

(MkDocs) Path to the docforge.nav.yml specification.

required template Optional[Path]

(MkDocs) Optional custom mkdocs.yml template.

required mkdocs_yml Path

(MkDocs) Target path for the generated mkdocs.yml.

required out_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 Default mcp bool

Serve MCP resources via an MCP server.

required mkdocs bool

Serve the MkDocs site using the built-in development server.

required mkdocs_yml Path

(MkDocs) Path to the mkdocs.yml configuration.

required out_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 Default modules Sequence[str]

List of module import paths to recursively introspect.

required project_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 Default module str

The dotted path of the primary module to document.

required project_name str | None

Optional override for the project name.

required out_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 Default mcp_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 Default mkdocs_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 Default docs_dir Path

Path to the directory containing documentation Markdown files.

required nav_file Path

Path to the docforge.nav.yml specification.

required template Path | None

Optional path to an mkdocs.yml template (overrides built-in).

required out Path

Path where the final mkdocs.yml will be written.

required site_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 Default module str

The dotted path of the primary module to document.

required project_name str | None

Optional override for the project name.

required docs_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 Default mkdocs_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.

"},{"location":"docforge/loaders/#docforge.loaders--core-features","title":"Core Features","text":""},{"location":"docforge/loaders/#docforge.loaders.GriffeLoader","title":"GriffeLoader","text":"
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 Default path str

The dotted path of the module to load.

required

Returns:

Type Description Module

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 Default module_paths List[str]

A list of dotted paths to the modules to load.

required project_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 Description Project

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 Default module_name str

The name of the package to discover.

required project_root Path | None

The root directory of the project. Defaults to current working directory.

None

Returns:

Type Description List[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 Default path str

The dotted path of the module to load.

required

Returns:

Type Description Module

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 Default module_paths List[str]

A list of dotted paths to the modules to load.

required project_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 Description Project

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 Default module_name str

The name of the package to discover.

required project_root Path | None

The root directory of the project. Defaults to current working directory.

None

Returns:

Type Description List[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.

"},{"location":"docforge/models/#docforge.models--key-components","title":"Key Components","text":"

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 Description name 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 Default name str

The local name of the object.

required kind str

The kind of object (e.g., 'class', 'function').

required path str

The full dotted path to the object.

required signature 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 Default obj 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 Description Iterable[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 Default name str

The name of the member.

required

Returns:

Type Description DocObject

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 Description path 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 Default path str

The dotted path of the module.

required docstring 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 Default obj 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 Description Iterable[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 Default name str

The name of the object.

required

Returns:

Type Description DocObject

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 Description name str

Name of the project.

modules Dict[str, Module]

Dictionary mapping module paths to Module instances.

Initialize a new Project.

Parameters:

Name Type Description Default name 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 Default module 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 Description Iterable[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 Default path str

The dotted path of the module (e.g., 'pkg.mod').

required

Returns:

Type Description Module

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 Description list[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 Description path 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 Default path str

The dotted path of the module.

required docstring 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 Default obj 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 Description Iterable[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 Default name str

The name of the object.

required

Returns:

Type Description DocObject

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 Description name 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 Default name str

The local name of the object.

required kind str

The kind of object (e.g., 'class', 'function').

required path str

The full dotted path to the object.

required signature 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 Default obj 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 Description Iterable[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 Default name str

The name of the member.

required

Returns:

Type Description DocObject

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 Description name str

Name of the project.

modules Dict[str, Module]

Dictionary mapping module paths to Module instances.

Initialize a new Project.

Parameters:

Name Type Description Default name 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 Default module 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 Description Iterable[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 Default path str

The dotted path of the module (e.g., 'pkg.mod').

required

Returns:

Type Description Module

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 Description list[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.

"},{"location":"docforge/nav/#docforge.nav--workflow","title":"Workflow","text":"
  1. Spec Definition: Users define navigation intent in docforge.nav.yml.
  2. Resolution: resolve_nav matches patterns in the spec to generated .md files.
  3. Emission: 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 Default nav ResolvedNav

The resolved navigation data.

required

Returns:

Type Description List[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 Description home 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 Default home Optional[str]

The path to the home document.

required groups 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 Description List[str]

A list of all patterns (home plus all groups).

"},{"location":"docforge/nav/#docforge.nav.NavSpec.load","title":"load classmethod","text":"
load(path: Path) -> NavSpec\n

Load a NavSpec from a YAML file.

Parameters:

Name Type Description Default path Path

The filesystem path to the YAML file.

required

Returns:

Type Description NavSpec

A NavSpec instance.

Raises:

Type Description FileNotFoundError

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 Description home 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 Default home str | None

The relative path to the project home page.

required groups Dict[str, List[Path]]

A mapping of group names to their resolved filesystem paths.

required docs_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 Description Iterable[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 Default path Path

Path to the navigation specification file.

required

Returns:

Type Description NavSpec

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 Default spec NavSpec

The navigation specification to resolve.

required docs_root Path

The root directory for documentation files.

required

Returns:

Type Description ResolvedNav

A ResolvedNav instance.

Raises:

Type Description FileNotFoundError

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 Default nav ResolvedNav

The resolved navigation data.

required

Returns:

Type Description List[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 Description home 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 Default home str | None

The relative path to the project home page.

required groups Dict[str, List[Path]]

A mapping of group names to their resolved filesystem paths.

required docs_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 Description Iterable[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 Default spec NavSpec

The navigation specification to resolve.

required docs_root Path

The root directory for documentation files.

required

Returns:

Type Description ResolvedNav

A ResolvedNav instance.

Raises:

Type Description FileNotFoundError

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 Description home 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 Default home Optional[str]

The path to the home document.

required groups 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 Description List[str]

A list of all patterns (home plus all groups).

"},{"location":"docforge/nav/spec/#docforge.nav.spec.NavSpec.load","title":"load classmethod","text":"
load(path: Path) -> NavSpec\n

Load a NavSpec from a YAML file.

Parameters:

Name Type Description Default path Path

The filesystem path to the YAML file.

required

Returns:

Type Description NavSpec

A NavSpec instance.

Raises:

Type Description FileNotFoundError

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 Default path Path

Path to the navigation specification file.

required

Returns:

Type Description NavSpec

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.

"},{"location":"docforge/renderers/#docforge.renderers--current-implementations","title":"Current Implementations","text":""},{"location":"docforge/renderers/#docforge.renderers--extending","title":"Extending","text":"

To add a new renderer, implement the DocRenderer protocol defined in docforge.renderers.base.

"},{"location":"docforge/renderers/#docforge.renderers.MCPRenderer","title":"MCPRenderer","text":"

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 Default project Project

The project model to render.

required out_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 Default project Project

The project models to render.

required out_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 Default project Project

The project models containing modules and objects.

required out_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 Default out_dir Path

The directory where documentation files should be written.

required project 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 Default project Project

The project model to render.

required out_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 Default project Project

The project models to render.

required out_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 Default mcp_root Path

Path to the directory containing pre-built MCP JSON resources.

required name 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 Default transport 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 Default mcp_root Path

Path to the directory containing pre-built MCP JSON resources.

required name 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 Default transport Literal['stdio', 'sse', 'streamable-http']

MCP transport (default: streamable-http)

'streamable-http'"}]}