docs: refresh doc-forge library and MCP bundle

- collect regenerated doc-forge combined site (wiki + lib)
- drop stale lib/docforge duplicate subtree
- mcp bundle now uses docs:// module resources
This commit is contained in:
2026-09-12 13:12:55 +05:30
parent bd8ba6e67c
commit 167d44fcfe
107 changed files with 4754 additions and 40058 deletions

View File

@@ -339,6 +339,10 @@
@@ -423,6 +427,52 @@
<li class="md-nav__item">
<a href="../wiki/05_development/03_gsdfc_guide/" class="md-nav__link">
<span class="md-ellipsis">
Gsdfc Guide
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../wiki/05_development/04_mcp_guide/" class="md-nav__link">
<span class="md-ellipsis">
Mcp Guide
</span>
</a>
</li>
</ul>
</nav>
@@ -1229,6 +1279,24 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#docforge--include-a-hand-written-wiki-in-the-mkdocs-site" class="md-nav__link">
<span class="md-ellipsis">
Include a hand-written wiki in the MkDocs site:
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#docforge--build-wiki-pages-only-no-module-required" class="md-nav__link">
<span class="md-ellipsis">
Build wiki pages only (no module required):
</span>
</a>
</li>
<li class="md-nav__item">
@@ -1702,11 +1770,17 @@ outputs without executing user code.</p>
<h4 id="docforge--generate-mkdocs-site-and-mcp-json-documentation">Generate MkDocs site and MCP JSON documentation:</h4>
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-3-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-3-1"><a id="__codelineno-3-1" name="__codelineno-3-1"></a>doc-forge<span class="w"> </span>build<span class="w"> </span>--mcp<span class="w"> </span>--mkdocs<span class="w"> </span>--module<span class="w"> </span>my_package
</span></code></pre></div></td></tr></table></div>
<h4 id="docforge--include-a-hand-written-wiki-in-the-mkdocs-site">Include a hand-written wiki in the MkDocs site:</h4>
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-4-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1"></a>doc-forge<span class="w"> </span>build<span class="w"> </span>--wiki<span class="w"> </span>--mkdocs<span class="w"> </span>--module<span class="w"> </span>my_package
</span></code></pre></div></td></tr></table></div>
<h4 id="docforge--build-wiki-pages-only-no-module-required">Build wiki pages only (no module required):</h4>
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-5-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1"></a>doc-forge<span class="w"> </span>build<span class="w"> </span>--wiki<span class="w"> </span>--site-name<span class="w"> </span>my_package
</span></code></pre></div></td></tr></table></div>
<h4 id="docforge--serve-mkdocs-locally">Serve MkDocs locally:</h4>
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-4-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-4-1"><a id="__codelineno-4-1" name="__codelineno-4-1"></a>doc-forge<span class="w"> </span>serve<span class="w"> </span>--mkdocs<span class="w"> </span>--module<span class="w"> </span>my_package
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-6-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-6-1"><a id="__codelineno-6-1" name="__codelineno-6-1"></a>doc-forge<span class="w"> </span>serve<span class="w"> </span>--mkdocs<span class="w"> </span>--module<span class="w"> </span>my_package
</span></code></pre></div></td></tr></table></div>
<h4 id="docforge--serve-mcp-locally">Serve MCP locally:</h4>
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-5-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-5-1"><a id="__codelineno-5-1" name="__codelineno-5-1"></a>doc-forge<span class="w"> </span>serve<span class="w"> </span>--mcp<span class="w"> </span>--module<span class="w"> </span>my_package
<div class="language-bash highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-7-1">1</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-7-1"><a id="__codelineno-7-1" name="__codelineno-7-1"></a>doc-forge<span class="w"> </span>serve<span class="w"> </span>--mcp<span class="w"> </span>--module<span class="w"> </span>my_package
</span></code></pre></div></td></tr></table></div>
<hr />
<h3 id="docforge--core-concepts">Core concepts</h3>
@@ -1771,7 +1845,9 @@ MkDocs site or MCP JSON
<ul>
<li>Use <strong>Markdown headings</strong> at package and module level.</li>
<li>Use <strong>Google-style structured sections</strong> at class, function, and method level.</li>
<li>Use type hints in signatures instead of duplicating types in prose.</li>
<li>Use type hints in signatures.</li>
<li>Use parenthesized types in prose entries (<code>name (Type):</code>) that match the
signature types. This keeps docstrings self-contained and machine-parseable.</li>
<li>Write summaries in imperative form.</li>
<li>Sections are separated by <code>---</code></li>
</ul>
@@ -1856,7 +1932,9 @@ MkDocs site or MCP JSON
engine.run()
```
</code></pre></div></td></tr></table></div>
</details> <p>Avoid fenced code blocks inside structured sections.</p>
</details> <p>Avoid fenced code blocks inside argument descriptions and other prose lines.</p>
<p>Inside <code>Example:</code> sections, fenced <code>python</code> code blocks are allowed and must be
indented four spaces, matching the examples below.</p>
<hr />
<h3 id="docforge--separator-rules">Separator rules</h3>
<p>Use horizontal separators only at docstring root level to separate sections:</p>
@@ -2430,6 +2508,31 @@ Attributes:
code and transform the extracted information into <code>Project</code>, <code>Module</code>,
and <code>DocObject</code> instances used by doc-forge.</p>
<p><span class="doc-section-title">Attributes:</span></p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td><code><span title="docforge.GriffeLoader._loader">_loader</span></code></td>
<td>
<code><span title="griffe.GriffeLoader">GriffeLoader</span></code>
</td>
<td>
<div class="doc-md-description">
<p>Internal Griffe loader with dedicated module and line collections.</p>
</div>
</td>
</tr>
</tbody>
</table>
<p>Initialize the Griffe-backed loader.</p>
<p>Creates an internal Griffe loader instance with dedicated collections
for modules and source lines.</p>
@@ -2516,6 +2619,52 @@ a doc-forge <code>Module</code> model.</p>
</tbody>
</table>
<p><span class="doc-section-title">Raises:</span></p>
<table>
<thead>
<tr>
<th>Type</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="doc-section-item">
<td>
<code>ImportError</code>
</td>
<td>
<div class="doc-md-description">
<p>If the module cannot be loaded by Griffe.</p>
</div>
</td>
</tr>
<tr class="doc-section-item">
<td>
<code>KeyError</code>
</td>
<td>
<div class="doc-md-description">
<p>If the loaded module is missing from the module collection.</p>
</div>
</td>
</tr>
</tbody>
</table>
<details class="example" open>
<summary>Example</summary>
<p>Load a single module:</p>
<div class="language-text highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span></pre></div></td><td class="code"><div><pre><span></span><code>```python
loader = GriffeLoader()
module = loader.load_module(&quot;mypackage.submodule&quot;)
```
</code></pre></div></td></tr></table></div>
</details>
</div>
</div>
@@ -2535,7 +2684,7 @@ a doc-forge <code>Module</code> model.</p>
<span class="normal"><a href="#__codelineno-0-5">5</a></span></pre></div></td><td class="code"><div><pre><span></span><code><span id="__span-0-1"><a id="__codelineno-0-1" name="__codelineno-0-1"></a><span class="nf">load_project</span><span class="p">(</span>
</span><span id="__span-0-2"><a id="__codelineno-0-2" name="__codelineno-0-2"></a> <span class="n">module_paths</span><span class="p">:</span> <span class="nb">list</span><span class="p">[</span><span class="nb">str</span><span class="p">],</span>
</span><span id="__span-0-3"><a id="__codelineno-0-3" name="__codelineno-0-3"></a> <span class="n">project_name</span><span class="p">:</span> <span class="nb">str</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a> <span class="n">skip_import_errors</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
</span><span id="__span-0-4"><a id="__codelineno-0-4" name="__codelineno-0-4"></a> <span class="n">skip_import_errors</span><span class="p">:</span> <span class="nb">bool</span> <span class="o">|</span> <span class="kc">None</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
</span><span id="__span-0-5"><a id="__codelineno-0-5" name="__codelineno-0-5"></a><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Project</span>
</span></code></pre></div></td></tr></table></div>
@@ -2561,7 +2710,7 @@ object.</p>
<tr class="doc-section-item">
<td><code>module_paths</code></td>
<td>
<code>List[str]</code>
<code>list[str]</code>
</td>
<td>
<div class="doc-md-description">
@@ -2575,7 +2724,7 @@ object.</p>
<tr class="doc-section-item">
<td><code>project_name</code></td>
<td>
<code>str</code>
<code>str | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -2590,7 +2739,7 @@ name of the first module.</p>
<tr class="doc-section-item">
<td><code>skip_import_errors</code></td>
<td>
<code>bool</code>
<code>bool | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -2831,13 +2980,16 @@ allowing MkDocs to render API documentation dynamically.</p>
<div class="doc doc-contents ">
<p>Generate a <code>README.md</code> file from the root module docstring.</p>
<p>Behavior:</p>
<ul>
<li>If <code>module_is_source</code> is True, <code>README.md</code> is written to the project
root directory.</li>
<details class="notes" open>
<summary>Notes</summary>
<ul>
<li>If <code>module_is_source</code> is True, <code>README.md</code> is written to the
project root directory.</li>
<li>If False, README generation is currently not implemented.</li>
</ul>
</details>
<p><span class="doc-section-title">Parameters:</span></p>
<table>
@@ -2881,7 +3033,7 @@ allowing MkDocs to render API documentation dynamically.</p>
<tr class="doc-section-item">
<td><code>module_is_source</code></td>
<td>
<code>Optional[bool]</code>
<code>bool | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -2895,7 +3047,7 @@ allowing MkDocs to render API documentation dynamically.</p>
<tr class="doc-section-item">
<td><code>readme_dir</code></td>
<td>
<code>Optional[<span title="pathlib.Path">Path</span>]</code>
<code><span title="pathlib.Path">Path</span> | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -2983,7 +3135,7 @@ specified output directory.</p>
<tr class="doc-section-item">
<td><code>module_is_source</code></td>
<td>
<code>bool</code>
<code>bool | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -3067,7 +3219,7 @@ package and converts them into dotted module import paths.</p>
<tr class="doc-section-item">
<td><code>project_root</code></td>
<td>
<code><span title="pathlib.Path">Path</span></code>
<code><span title="pathlib.Path">Path</span> | None</code>
</td>
<td>
<div class="doc-md-description">
@@ -3098,7 +3250,7 @@ current working directory is used.</p>
</td>
<td>
<div class="doc-md-description">
<p>List[str]:
<p>list[str]:
A sorted list of unique dotted module import paths.</p>
</div>
</td>
@@ -3139,9 +3291,7 @@ A sorted list of unique dotted module import paths.</p>
</div>
</div><ul>
<li><a href="docforge/">Docforge</a></li>
</ul>
</div>