- Renamed `02_architecture.md` to `02_components.md` to match the standard component page naming convention.
- Updated `docs/mkdocs.wiki.yml` to reflect renamed pages and fix navigation label acronym casing (GSDFC, MCP, MkDocs).
- Updated `index.md` to include the mandatory doc model blockquote, standardize section headers with emojis, and accurately map the `Documentation Structure` table to the navigation menu.
- Standardized all wiki pages (`01_overview.md`, `02_components.md`, `03_conventions.md`, `04_iterative_workflow.md`, and `05_development/*`) by:
- Adding horizontal rules (`---`) between major sections.
- Applying emoji-prefixed H2 headings for recognizable section types.
- Appending `## Related` or `## ➡️ Read Next` footers with standard relative cross-links.
- Adjusting H1 headers to match guide anatomy (e.g., `# Library Overview` on the overview page).
1.4 KiB
1.4 KiB
Components
docforge is split into four horizontal layers. Everything flows top to
bottom through the CLI.
1. Loaders & Models
The docforge/loaders package wraps griffe to extract modules, functions,
classes, and Google-style docstring sections. Loaded data is normalized into
the object model under docforge/models (Project, Module, DocObject).
2. Navigation
docforge/nav parses docforge.nav.yml specs (NavSpec, Resolver, and the
MkDocs nav emitter) and, since the wiki kind, derives wiki navigation from the
file structure via build_wiki_nav.
3. Renderers
docforge/renderers turn model data into artifacts:
MkDocsRenderer→docs/lib/**reference markdownMCPRenderer→docs/mcp/**structured documentation
4. Servers
docforge/servers serves generated artifacts over live protocols:
MCPServer→ serves a pre-generateddocs/mcp/**bundle through MCP resources (docs://index,docs://nav,docs://modules/{module})
5. CLI
docforge/cli wires it all together:
commands.py— thebuildcommand and its--mkdocs/--api/--wiki/--mcpmodesmkdocs_utils.py— per-kind config generation (docs/mkdocs.{lib,api,wiki}.yml) with navigation re-rooted to each kind'sdocs_dirapi_utils.py— OpenAPI loading and API docs generation