4ec67c86c6
fix(loaders): render clean signatures, drop unresolvable aliases from models
...
- Stringify Object.signature() instead of str()-ing the bound method,
which produced "<bound method Class.signature of ...>" reprs
- Skip alias members that cannot resolve (stdlib/third-party imports)
while preserving resolvable package re-exports; return None for empty
signatures (classes without __init__ args)
- Add MCP renderer regression tests for signature cleanliness, alias
filtering, and package re-export preservation
2026-09-15 16:53:08 +05:30
cd031ed5de
docs(wiki): added more rules and explanation on how to use the prompt in docforge wiki
2026-09-15 14:02:04 +05:30
4b0fdfaf85
docs(wiki): align wiki structure with Aetoskia AGENTS.md guidelines
...
- 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).
2026-09-14 23:30:45 +05:30
c0d8a252ff
docs(wiki): added copyable prompt to generate wiki in doc-forge wiki
2026-09-14 23:09:58 +05:30
358510ebf0
(refactor): moved WIKI.md to wiki for doc-forge
2026-09-14 22:57:52 +05:30
de427dd350
feat: use file-wins mkdocs configs with --refresh; wiki template in mongo-ops style
2026-09-13 18:11:42 +05:30
b86b5b0e85
fix: resolve mkdocstrings search path against repo root in lib builds
2026-09-12 14:57:34 +05:30
2ae96f58de
feat: build each doc kind with its own MkDocs config and site
2026-09-12 14:23:22 +05:30
582b6809a0
docs: bring docforge docstrings and wiki to GSDFC standard
...
- fix GSDFC spec contradictions in __init__ docstring (parenthesized types, fenced-block rule) and sync generated README
- rewrite docstrings across loaders, models, nav, servers, renderers, cli; sync .pyi stubs
- add pydoclint (google style) gate to dev extras and pyproject config
- fix mcp nav resources doc:// -> docs://
- refresh docs/lib and docs/mcp, drop stale docforge/ duplicate group
- update wiki pages and add GSDFC + MCP guides under 05_development
2026-09-12 13:12:51 +05:30
8c6c46caf2
feat: add wiki build kind with file-structure-derived navigation
...
- add build_wiki_nav deriving MkDocs nav from docs/wiki file structure
(index.md -> Home, numeric prefixes stripped and title-cased, nested
dirs become groups, natural ordering)
- add --wiki / --wiki-dir to build; wiki-only builds need no --module
- merge wiki nav before generated lib/api nav; wiki Home replaces the
nav spec Home entry
- add mkdocs.wiki.yml template fragment and nav/cli tests
- dogfood doc-forge's own docs/wiki and regenerate site output
2026-09-11 23:38:23 +05:30
bacf17b930
feat: add --api OpenAPI build mode with docs/api scheme and lib-prefixed nav
2026-09-11 05:37:56 +05:30
17e8628197
docs: nest generated docs under docs/lib and docs/mcp
2026-09-10 21:15:11 +05:30
22fceef020
Flatten MkDocs Structure + --module-is-source Support ( #4 )
...
# Merge Request: Flatten MkDocs Structure + `--module-is-source` Support
## Summary
This MR introduces structural improvements to the MkDocs generation pipeline to:
1. Ensure a root `docs/index.md` always exists
2. Flatten documentation structure (remove `docs/<module>/` nesting by default)
3. Add support for `--module-is-source` to treat the module as the documentation root
4. Align navigation (`docforge.nav.yml`) with the new flat layout
5. Regenerate MCP artifacts to reflect updated signatures and docstrings
This resolves static hosting issues (e.g., Nginx 403 due to missing `site/index.html`) and makes each generated MkDocs site deployable as a standalone static website.
---
## Motivation
Previously, documentation was generated under:
```
docs/<module>/...
```
Which resulted in:
```
site/<module>/index.html
```
When deployed at `/libs/<project>/`, this caused:
* Missing `site/index.html`
* Nginx returning 403 for root access
* Inconsistent static hosting behavior
This MR corrects the architecture so each MkDocs build is a valid static site with a root entry point.
---
## Key Changes
### 1️⃣ Flattened Docs Structure
**Before**
```
docs/docforge/index.md
```
**After**
```
docs/index.md
```
All documentation paths were updated accordingly:
* `docs/docforge/cli/...` → `docs/cli/...`
* `docs/docforge/models/...` → `docs/models/...`
* `docs/docforge/renderers/...` → `docs/renderers/...`
Navigation updated to match the flat layout.
---
### 2️⃣ Root Index Enforcement
`MkDocsRenderer` now guarantees:
* `docs/index.md` is always created
* Parent `index.md` files are auto-generated if missing
* Parent indexes link to child modules (idempotent behavior)
This ensures:
```
site/index.html
```
Always exists after `mkdocs build`.
---
### 3️⃣ New CLI Flag: `--module-is-source`
Added option:
```
--module-is-source
```
Behavior:
* Treats the provided module as the documentation root
* Removes the top-level module folder from generated paths
* Prevents redundant nesting when the module corresponds to the source root
Updated components:
* `cli.commands.build`
* `mkdocs_utils.generate_sources`
* `MkDocsRenderer.generate_sources`
* Stub files (`.pyi`)
* MCP JSON artifacts
---
### 4️⃣ Navigation Spec Update
`docforge.nav.yml` updated:
**Before**
```yaml
home: docforge/index.md
```
**After**
```yaml
home: index.md
```
All group paths adjusted to remove `docforge/` prefix.
---
### 5️⃣ MkDocs Config Update
`mkdocs.yml` updated to:
* Move `site_name` below theme/plugins
* Use flat navigation paths
* Point Home to `index.md`
---
### 6️⃣ MCP Artifact Regeneration
Updated:
* Function signatures (new parameter)
* Docstrings (reflect `module_is_source`)
* Renderer metadata
* Line numbers
Ensures MCP output matches updated API.
---
## Architectural Outcome
Each project now produces a **valid standalone static site**:
```
site/
index.html
assets/
search/
```
Safe for deployment under:
```
/libs/<project>/
```
No Nginx rewrites required.
No directory-index issues.
No nested-site ambiguity.
---
## Backward Compatibility
* Existing CLI usage remains valid
* `--module-is-source` is optional
* Navigation spec format unchanged (only paths adjusted)
---
## Deployment Impact
After merge:
* Each library can be deployed independently
* Sites can be merged under a shared root without internal conflicts
* Static hosting is predictable and production-safe
---
## Testing
* Verified MkDocs build produces `site/index.html`
* Verified navigation renders correctly
* Verified parent index generation is idempotent
* Regenerated MCP docs and validated schema consistency
---
## Result
The documentation compiler now:
* Produces structurally correct static sites
* Supports flat and source-root modes
* Eliminates 403 root issues
* Scales cleanly across multiple repositories
This aligns doc-forge with proper static-site architectural invariants.
Reviewed-on: #4
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
2026-02-21 16:16:36 +00:00
94c1818103
cli-cleanup ( #1 )
...
Reviewed-on: #1
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
2026-01-21 13:23:32 +00:00
427e407d26
added mcp_renderer
2026-01-21 16:18:25 +05:30
4a876abc62
refactor: rename loader/model packages to loaders/models
...
- Rename docforge.loader → docforge.loaders and docforge.model → docforge.models
- Update all imports, type stubs, CLI, tests, and documentation references
- Align MkDocs navigation and docforge.nav.yml with new package structure
- Adjust module docstrings and comments for consistency with pluralized naming
2026-01-21 15:45:48 +05:30
be8f23c8ab
added docs folder
2026-01-21 00:35:56 +05:30