fix(packaging): make mcp an optional backend and install doc backends in dev
All checks were successful
continuous-integration/drone/tag Build is passing

Defer the mcp import in MCPServer.__init__ so 'import docforge' no longer requires the optional mcp dependency (matching the lazy MkDocs import). Add doc-forge[mkdocs,mcp] to the dev extra so the standard quality gate installs the backends the test suite needs.
This commit is contained in:
2026-10-17 04:53:37 +05:30
parent 85243c418d
commit c9e6945c26
3 changed files with 7 additions and 2 deletions

View File

@@ -33,11 +33,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
header, blue grey/teal palette, Roboto font, and additional material feature
flags. The lib and api templates are unchanged.
- Docstrings and wiki brought to the GSDFC (Google-style) standard.
- The `dev` extra now includes the `mkdocs` and `mcp` extras so the
quality-gate environment can install and run the full test suite.
### Fixed
- Loader-generated signatures render cleanly and unresolvable aliases are
dropped from generated models.
- Stub fixes for typed API surfaces.
- `import docforge` no longer requires the optional `mcp` dependency; the
MCP server imports `mcp` lazily, matching the MkDocs backend.
[Unreleased]: https://git.aetoskia.com/aetos/doc-forge/compare/0.0.7...HEAD
[0.0.7]: https://git.aetoskia.com/aetos/doc-forge/compare/0.0.6...0.0.7

View File

@@ -23,8 +23,6 @@ import json
from pathlib import Path
from typing import Any, Literal
from mcp.server.fastmcp import FastMCP
class MCPServer:
"""
@@ -54,6 +52,8 @@ class MCPServer:
name (str):
Identifier used for the MCP server instance.
"""
from mcp.server.fastmcp import FastMCP
self.mcp_root = mcp_root
self.app = FastMCP(name)

View File

@@ -87,6 +87,7 @@ dev = [
"build>=1.0.0",
"twine>=4.0.0",
"pre-commit>=3.4.0",
"doc-forge[mkdocs,mcp]",
]
docs = [
"doc-forge[mkdocs]",