04db9f44d8
fixes for broken Examples and other formatting issues
2026-02-27 21:05:15 +05:30
6c8da4b43b
fixes for bland looking doc strings
2026-02-27 20:47:23 +05:30
066e710dee
doc string changes with sample to generate doc strings for packages/modules
2026-02-27 14:10:57 +05:30
ed0fac8b3d
doc string changes with sample to generate doc strings for packages/modules
2026-02-27 14:10:15 +05:30
fbe9e1f109
Flatten MkDocs output structure, enforce root index.md, and add --module-is-source to produce deployable standalone static documentation sites without nested path issues.
continuous-integration/drone/tag Build is passing
0.0.5
2026-02-21 21:47:34 +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
56fb39de08
bumped up to version 0.0.4 with cli standardisation and rich doc strings
continuous-integration/drone/tag Build is passing
0.0.4
2026-01-22 17:48:34 +05:30
8a509e590a
tree using module instead of modules
2026-01-22 17:47:59 +05:30
cb68b0b93f
passing module for mcp server name
2026-01-22 17:43:34 +05:30
2ed962d639
docs-and-mcps ( #3 )
...
Reviewed-on: #3
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
2026-01-22 11:28:14 +00:00
678f522456
(0.0.3): Refactor - Modular CLI Structure, Type Synchronization, and Documentation Audit
continuous-integration/drone/tag Build is passing
0.0.3
2026-01-21 18:59:09 +05:30
ff92906720
cli-cleanup ( #2 )
...
continuous-integration/drone/tag Build was killed
Reviewed-on: #2
Co-authored-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
Co-committed-by: Vishesh 'ironeagle' Bangotra <aetoskia@gmail.com >
2026-01-21 13:25:57 +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
15c59ab274
doc changes
2026-01-21 17:36:08 +05:30
e33133cb0e
pyi fixes
continuous-integration/drone/tag Build is failing
0.0.2
2026-01-21 17:30:43 +05:30
f76d8ccce4
added mcp_docs
2026-01-21 17:26:47 +05:30
f6a596ab62
modules instead of module
2026-01-21 17:13:30 +05:30
ef378e676b
doc:// instead of mcp://
2026-01-21 17:10:09 +05:30
751bbe8949
added mcp server code
2026-01-21 17:08:55 +05:30
5370a7faa2
feat(mcp): add MCP JSON renderer and CLI support, update tests accordingly
...
- Add MCPRenderer to generate MCP-native JSON bundles (index.json, nav.json, modules/*.json)
- Expose MCPRenderer via public API and CLI (`generate-mcp` command)
- Replace Markdown-based MCP output with structured JSON resources
- Update MCP renderer type stubs to match new JSON-based implementation
- Refactor MCP tests to validate JSON content, bundle structure, and navigation
- Fix MCP module coverage test to use explicit project_root for reliable discovery
2026-01-21 16:43:21 +05:30
ce2eafac85
fix tests
2026-01-21 16:41:48 +05:30
0d0959c95b
fix tests
2026-01-21 16:32:20 +05:30
427e407d26
added mcp_renderer
2026-01-21 16:18:25 +05:30
9a5e356039
rename mkdocs.py to mkdocs_renderer.py
2026-01-21 16:04:02 +05:30
b1544c9610
chore: bump version to 0.0.2 after renaming loader/model packages to loaders/models
continuous-integration/drone/tag Build is passing
2026-01-21 15:46:33 +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
b6e5114532
added docs strings
continuous-integration/drone/tag Build is passing
0.0.1
2026-01-21 01:00:12 +05:30
81e8a8cd49
pyi matching
2026-01-21 00:43:27 +05:30
be8f23c8ab
added docs folder
2026-01-21 00:35:56 +05:30
9392d2c999
added mkdocs.yml
2026-01-21 00:35:33 +05:30
9d0b6e78d1
fixed test cases
2026-01-21 00:34:09 +05:30
4fa3bc0533
feat(cli,mkdocs): require site_name, fix nav paths, and echo serve URL
...
- Require `--site-name` when generating mkdocs.yml to ensure valid configs
- Inject site_name explicitly into generated mkdocs.yml
- Echo MkDocs serve URL (http://127.0.0.1:8000 ) before starting server
- Fix MkDocs nav emission to correctly resolve docs-relative paths
- Align MkDocs-related optional dependencies with a compatible, pinned set
These changes make MkDocs generation valid by default, improve UX when serving,
and prevent nav path and plugin compatibility issues.
2026-01-21 00:32:29 +05:30
46b7cc52e1
added docforge nav file
2026-01-21 00:31:41 +05:30
c8ecc6a476
removed mkdocs.py as ignored file
2026-01-21 00:31:17 +05:30
5c8d9dcc9c
generate test command fixed
2026-01-20 23:59:51 +05:30
b497c5d2e9
fixed generate command, removed hardcoding
2026-01-20 23:57:57 +05:30
0061dbe2eb
fixed the skip_import_error option
2026-01-20 23:50:24 +05:30
6f9776dff2
broken griffe_loader.py if we want to skip import errors. wip flag for the same
2026-01-20 23:42:48 +05:30
6c9fb433cb
fixed Type
2026-01-20 23:35:57 +05:30
6b334fd181
removed future anotations
2026-01-20 23:35:41 +05:30
dca19caaf3
fix: make MkDocs generation filesystem-complete and package-aware
...
- Add filesystem-based module discovery via `discover_module_paths`
- Decouple documentation coverage from Python import behavior
- Ensure GriffeLoader receives a full module list instead of a single root
- Make MkDocs renderer level-agnostic using global package detection
- Emit `index.md` only for true packages, suppress `<package>.md`
- Mirror full dotted module hierarchy into nested docs directories
- Update CLI, exports, and type stubs to expose discovery helper
- Align tests with filesystem-driven module coverage
This fixes missing docs for submodules and removes invalid package `.md` files.
2026-01-20 23:25:56 +05:30
2e5d330fca
missing internal modules test case
2026-01-20 21:52:44 +05:30
5073f9d73f
updated .gitignore
2026-01-20 21:43:24 +05:30
94b90f2ccf
added .drone.yml
2026-01-20 21:41:37 +05:30
a8ba02c57b
mkdocs cli
2026-01-20 21:40:18 +05:30
726e7ca6d2
nav submodule
2026-01-20 21:22:28 +05:30
869b1730c4
version fix
2026-01-20 20:54:49 +05:30
09aca78ba1
standardize toml as per existing libs
2026-01-20 20:54:10 +05:30
778a986262
.pyi fixes
2026-01-20 20:50:59 +05:30
8b2d6a5046
added cli
2026-01-20 20:47:28 +05:30