Squash-merge lib-standardisation: adopt repo standards across packaging, tooling, docs, and CI. - standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint) - add py.typed marker, modernize type hints and Google-style docstrings - nest generated docs under docs/lib and docs/mcp; add hand-written wiki - adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate) - promote generated CHANGELOG.md; bump version to 0.0.7
1.6 KiB
1.6 KiB
Library Overview
docforge turns GSDFC-compliant Python docstrings into maintainable reference
documentation. It never edits source docstrings; it reads them, renders them,
and assembles documentation sites from all available material.
🧭 Which Build Should You Use?
| Kind | Source | Output |
|---|---|---|
lib |
GSDFC docstrings | docs/lib/** rendered markdown |
api |
OpenAPI JSON spec | docs/api/** rendered markdown |
wiki |
Hand-written markdown | docs/wiki/** (unchanged) |
mcp |
GSDFC docstrings + renderers | docs/mcp/** structured JSON |
🏗️ Architecture
Each enabled site kind produces its own MkDocs configuration and build:
--mkdocs(lib) writesdocs/mkdocs.lib.ymland buildssite/lib/.--apiwritesdocs/mkdocs.api.ymland buildssite/api/.--wikiwritesdocs/mkdocs.wiki.ymland buildssite/wiki/.
Every site is self-contained (own theme assets and search index) with navigation derived or scoped to that kind. Hand-written wiki content is never overwritten or regenerated — only its navigation is derived automatically.
🔄 Lifecycle Rules
docs/mcp/** is a self-contained, machine-readable reference generated from
docforge's own GSDFC docstrings. doc-forge serve --mcp --module docforge
serves it over MCP. See the MCP Guide.