cli-cleanup (#1)

Reviewed-on: #1
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com>
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com>
This commit is contained in:
2026-01-21 13:23:32 +00:00
committed by aetos
parent 15c59ab274
commit 94c1818103
38 changed files with 2206 additions and 1524 deletions

View File

@@ -1,109 +1 @@
from typing import Sequence
from pathlib import Path
import click
@click.group()
def cli() -> None:
"""doc-forge command-line interface."""
@cli.command()
@click.option(
"--modules",
multiple=True,
help="Python module import paths to introspect",
)
@click.option(
"--project-name",
help="Project name (defaults to first module)",
)
def tree(
modules: Sequence[str],
project_name: str | None,
) -> None:
"""Show introspection tree."""
@cli.command()
@click.option(
"--module",
help="Python module import paths to document",
)
@click.option(
"--project-name",
help="Project name (defaults to first module)",
)
@click.option(
"--docs-dir",
type=click.Path(path_type=Path),
default=Path("docs"),
)
def generate(
module: str,
project_name: str | None,
docs_dir: Path,
) -> None:
"""Generate documentation source files using MkDocs renderer."""
@cli.command(name="generate-mcp")
@click.option(
"--module",
required=True,
help="Python module import path to document",
)
@click.option(
"--project-name",
help="Project name (defaults to first module)",
)
@click.option(
"--out-dir",
type=click.Path(path_type=Path),
default=Path("mcp_docs"),
)
def generate_mcp(
module: str,
project_name: str | None,
out_dir: Path,
) -> None:
"""
Generate MCP-compatible documentation resources for the specified module.
Args:
module: The primary module path to document.
project_name: Optional project name override.
out_dir: Directory where MCP resources will be written.
"""
@cli.command()
@click.option(
"--mkdocs-yml",
type=click.Path(path_type=Path),
default=Path("mkdocs.yml"),
)
def build(
mkdocs_yml: Path,
) -> None:
"""Build documentation using MkDocs."""
@cli.command()
@click.option(
"--mkdocs-yml",
type=click.Path(path_type=Path),
default=Path("mkdocs.yml"),
)
def serve(
mkdocs_yml: Path,
) -> None:
"""Serve documentation using MkDocs."""
@cli.command(name="serve-mcp")
def serve_mcp() -> None:
"""Serve MCP documentation."""
def main() -> None:
"""CLI entry point."""
def main() -> None: ...