from pathlib import Path from docforge.loaders import GriffeLoader, discover_module_paths from docforge import MCPRenderer def test_mcp_emits_all_modules(tmp_path: Path) -> None: loader = GriffeLoader() discovered_paths = discover_module_paths( "docforge", Path(r"C:\Users\vishe\WorkSpace\code\aetos\doc-forge"), ) project = loader.load_project(discovered_paths) renderer = MCPRenderer() renderer.generate_sources(project, tmp_path) emitted = { p.relative_to(tmp_path).as_posix() for p in tmp_path.rglob("*.md") } expected = { m.path.replace(".", "/") + ".md" for m in project.get_all_modules() } missing = expected - emitted assert not missing, f"Missing MCP resources for modules: {missing}"