docs: bring docforge docstrings and wiki to GSDFC standard
- fix GSDFC spec contradictions in __init__ docstring (parenthesized types, fenced-block rule) and sync generated README - rewrite docstrings across loaders, models, nav, servers, renderers, cli; sync .pyi stubs - add pydoclint (google style) gate to dev extras and pyproject config - fix mcp nav resources doc:// -> docs:// - refresh docs/lib and docs/mcp, drop stale docforge/ duplicate group - update wiki pages and add GSDFC + MCP guides under 05_development
This commit is contained in:
@@ -4,6 +4,15 @@
|
||||
Command definitions for the doc-forge CLI.
|
||||
|
||||
Provides the CLI structure using Click, including build, serve, and tree commands.
|
||||
|
||||
---
|
||||
|
||||
Notes:
|
||||
- The `build` command validates requested modes before generating anything.
|
||||
- `--mkdocs`, `--api`, and `--wiki` share a single MkDocs build; `--mcp`
|
||||
generates a machine-readable bundle independently.
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
@@ -12,6 +21,7 @@ import click
|
||||
|
||||
from docforge.cli import api_utils, mcp_utils, mkdocs_utils
|
||||
from docforge.loaders import GriffeLoader
|
||||
from docforge.models import DocObject
|
||||
|
||||
|
||||
@click.group()
|
||||
@@ -99,9 +109,9 @@ def build(
|
||||
"""
|
||||
Build documentation artifacts.
|
||||
|
||||
This command performs the full documentation build pipeline:
|
||||
style of the selected platform, generates renderer-specific
|
||||
documentation sources, and optionally builds the final output.
|
||||
This command runs the full documentation pipeline: it loads Python
|
||||
modules, generates renderer-specific documentation sources, and
|
||||
optionally builds or serves the final output.
|
||||
|
||||
Depending on the selected options, the build can target:
|
||||
|
||||
@@ -110,6 +120,12 @@ def build(
|
||||
- Hand-written wiki pages included in the MkDocs site
|
||||
- MCP structured documentation resources
|
||||
|
||||
Notes:
|
||||
- At least one of `--mcp`, `--mkdocs`, `--wiki`, or `--api` must be
|
||||
provided.
|
||||
- `--mkdocs`, `--api`, and `--wiki` are combined into a single MkDocs
|
||||
build, while `--mcp` emits a machine-readable bundle.
|
||||
|
||||
Args:
|
||||
mcp (bool):
|
||||
Enable MCP documentation generation.
|
||||
@@ -126,16 +142,16 @@ def build(
|
||||
module_is_source (bool):
|
||||
Treat the specified module directory as the project root.
|
||||
|
||||
module (Optional[str]):
|
||||
module (str | None):
|
||||
Python module import path to document.
|
||||
|
||||
openapi_spec (Optional[Path]):
|
||||
openapi_spec (Path | None):
|
||||
Path to the OpenAPI JSON specification used for API docs.
|
||||
|
||||
project_name (Optional[str]):
|
||||
project_name (str | None):
|
||||
Optional override for the project name.
|
||||
|
||||
site_name (Optional[str]):
|
||||
site_name (str | None):
|
||||
Display name for the MkDocs site.
|
||||
|
||||
docs_dir (Path):
|
||||
@@ -147,7 +163,7 @@ def build(
|
||||
nav_file (Path):
|
||||
Path to the navigation specification file.
|
||||
|
||||
template (Optional[Path]):
|
||||
template (Path | None):
|
||||
Optional custom MkDocs configuration template.
|
||||
|
||||
mkdocs_yml (Path):
|
||||
@@ -282,7 +298,7 @@ def serve(
|
||||
mkdocs (bool):
|
||||
Serve the MkDocs development site.
|
||||
|
||||
module (Optional[str]):
|
||||
module (str | None):
|
||||
Python module import path to serve via MCP.
|
||||
|
||||
mkdocs_yml (Path):
|
||||
@@ -333,7 +349,7 @@ def tree(
|
||||
module (str):
|
||||
Python module import path to introspect.
|
||||
|
||||
project_name (Optional[str]):
|
||||
project_name (str | None):
|
||||
Optional name to display as the project root.
|
||||
"""
|
||||
loader = GriffeLoader()
|
||||
@@ -347,7 +363,7 @@ def tree(
|
||||
_print_object(obj, indent="│ ")
|
||||
|
||||
|
||||
def _print_object(obj, indent: str) -> None:
|
||||
def _print_object(obj: DocObject, indent: str) -> None:
|
||||
"""
|
||||
Recursively print a documentation object and its members.
|
||||
|
||||
@@ -355,7 +371,7 @@ def _print_object(obj, indent: str) -> None:
|
||||
and prints each object with indentation to represent hierarchy.
|
||||
|
||||
Args:
|
||||
obj:
|
||||
obj (DocObject):
|
||||
Documentation object to print.
|
||||
|
||||
indent (str):
|
||||
|
||||
Reference in New Issue
Block a user