Skip to content

fix(nav): include docs.json in auto-PR add-paths#38

Merged
WomB0ComB0 merged 1 commit into
mainfrom
fix/python-nav-splice-add-paths
May 9, 2026
Merged

fix(nav): include docs.json in auto-PR add-paths#38
WomB0ComB0 merged 1 commit into
mainfrom
fix/python-nav-splice-add-paths

Conversation

@WomB0ComB0
Copy link
Copy Markdown
Member

Summary

The Python per-submodule split (PR #34) generates separate .md files for each submodule (e.g. bloom.md, count_min.md, graph.md) alongside the package-level overview.md. The splice step in each SDK auto-PR template rewrites docs.json's nav to register them all.

But every auto-PR since #34 dropped the docs.json edits, because peter-evans/create-pull-request only stages files matching add-paths, and that was scoped to sdks/<lang>/api/**. The splice ran, but its docs.json output was stashed away by the action.

Symptom: resq-dsa > Overview showed an empty page with class headings (BloomFilter, CountMinSketch, Graph...) but no content — because the bodies live on bloom.md, count_min.md, etc., and those pages weren't reachable from the sidebar.

Changes

  • automation/source-repo-templates/api-docs.{python,typescript,dotnet}.yml: add docs.json to add-paths so the splice step's edits ride along in the auto-PR.
  • docs.json: regenerated by running python3 scripts/splice-sdk-nav.py locally — restores all submodule pages to the Python nav (resq-dsa: 6 pages, resq-mcp: 12 top-level + 5 nested groups).

Test plan

  • bunx mint dev shows all submodule pages under Python > resq-dsa and Python > resq-mcp
  • Clicking resq-dsa > bloom renders BloomFilter class with full method docs
  • After this lands, sync templates to all 3 source repos via automation/sync-templates.sh (or equivalent)

The Python per-submodule split landed in PR #34, but every auto-PR
since then has dropped the splice step's docs.json edits because
peter-evans/create-pull-request only stages files matching add-paths,
which was scoped to sdks/<lang>/api/**. Result: docs.json's nav was
frozen at the pre-split state (one 'overview' leaf per package),
hiding all the new submodule pages from the sidebar.

Add docs.json to add-paths for all three SDK templates, and re-run
splice-sdk-nav.py locally to fix the current docs.json state.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 9, 2026

Warning

Rate limit exceeded

@WomB0ComB0 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 33 minutes and 27 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d033a694-3789-4d90-8deb-e054f7c11953

📥 Commits

Reviewing files that changed from the base of the PR and between 0951af3 and 2507c0d.

📒 Files selected for processing (4)
  • automation/source-repo-templates/api-docs.dotnet.yml
  • automation/source-repo-templates/api-docs.python.yml
  • automation/source-repo-templates/api-docs.typescript.yml
  • docs.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/python-nav-splice-add-paths

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions Bot added area:content MDX/MD documentation content area:meta Repo meta — docs.json, README, etc. labels May 9, 2026
@WomB0ComB0 WomB0ComB0 merged commit 912c824 into main May 9, 2026
13 checks passed
@WomB0ComB0 WomB0ComB0 deleted the fix/python-nav-splice-add-paths branch May 9, 2026 18:21
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the documentation build workflows for .NET, Python, and TypeScript to include the docs.json file in automated pull requests. It also expands the navigation tree in docs.json for the resq-dsa and resq-mcp Python SDKs. Feedback focuses on improving the automated generation logic to avoid duplicate sidebar entries for submodules, ensuring overview pages are prioritized, and maintaining the Mintlify schema requirements through nested group objects rather than manual file edits.

Comment on lines +478 to +480
add-paths: |
sdks/python/api/**
docs.json
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The navigation splicing logic (lines 393-456) currently produces duplicated entries in docs.json for modules that contain submodules (e.g., core appearing both as a page and a group). Consider updating the to_mintlify function to detect these collisions and place the module-level page as the first item inside its corresponding group using the nested group object structure required by the Mintlify schema.

References
  1. In Mintlify docs.json navigation configuration, use a nested group object to define custom sidebar labels for pages, as the schema does not support a label property within the pages array.

Comment on lines +358 to +360
add-paths: |
sdks/typescript/api/**
docs.json
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The navigation splicing logic (lines 260-332) results in duplicated sidebar entries for components that have nested groups. It is recommended to refine the tree construction logic to merge component-level pages into their respective groups using nested group objects to avoid a cluttered navigation menu and adhere to the Mintlify schema.

References
  1. In Mintlify docs.json navigation configuration, use a nested group object to define custom sidebar labels for pages, as the schema does not support a label property within the pages array.

Comment thread docs.json
Comment on lines +5217 to +5222
"sdks/python/api/resq-dsa/bloom",
"sdks/python/api/resq-dsa/count_min",
"sdks/python/api/resq-dsa/graph",
"sdks/python/api/resq-dsa/heap",
"sdks/python/api/resq-dsa/overview",
"sdks/python/api/resq-dsa/trie"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The overview page should be the first item in the navigation group for better discoverability. Since docs.json is auto-generated by the build workflow, this ordering should be enforced in the generator logic rather than manually edited here to prevent the changes from being overwritten.

References
  1. Do not manually add entries to documentation configuration files if they are automatically populated by a build workflow, as manual entries can cause errors and will be overwritten.

Comment thread docs.json
Comment on lines +5228 to 5281
"sdks/python/api/resq-mcp/core",
"sdks/python/api/resq-mcp/drone",
"sdks/python/api/resq-mcp/dtsop",
"sdks/python/api/resq-mcp/hce",
"sdks/python/api/resq-mcp/models",
"sdks/python/api/resq-mcp/overview",
"sdks/python/api/resq-mcp/pdie",
"sdks/python/api/resq-mcp/prompts",
"sdks/python/api/resq-mcp/resources",
"sdks/python/api/resq-mcp/server",
"sdks/python/api/resq-mcp/telemetry",
"sdks/python/api/resq-mcp/tools",
{
"group": "core",
"pages": [
"sdks/python/api/resq-mcp/core/config",
"sdks/python/api/resq-mcp/core/errors",
"sdks/python/api/resq-mcp/core/models",
"sdks/python/api/resq-mcp/core/security",
"sdks/python/api/resq-mcp/core/telemetry",
"sdks/python/api/resq-mcp/core/timeout"
]
},
{
"group": "drone",
"pages": [
"sdks/python/api/resq-mcp/drone/models",
"sdks/python/api/resq-mcp/drone/service"
]
},
{
"group": "dtsop",
"pages": [
"sdks/python/api/resq-mcp/dtsop/models",
"sdks/python/api/resq-mcp/dtsop/service",
"sdks/python/api/resq-mcp/dtsop/tools"
]
},
{
"group": "hce",
"pages": [
"sdks/python/api/resq-mcp/hce/models",
"sdks/python/api/resq-mcp/hce/service",
"sdks/python/api/resq-mcp/hce/tools"
]
},
{
"group": "pdie",
"pages": [
"sdks/python/api/resq-mcp/pdie/models",
"sdks/python/api/resq-mcp/pdie/service"
]
}
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The resq-mcp navigation contains redundant entries where submodules (like core, drone, dtsop, hce, and pdie) are listed both as top-level pages and as group titles. Use a nested group object (e.g., group: Label, pages: [path]) to define these in the navigation configuration. This structure avoids duplication and adheres to the Mintlify schema. Ensure this logic is updated in the generator templates to prevent manual changes from being overwritten.

References
  1. In Mintlify docs.json navigation configuration, use a nested group object to define custom sidebar labels for pages, as the schema does not support a label property within the pages array.
  2. Do not manually add entries to documentation configuration files if they are automatically populated by a build workflow, as manual entries can cause errors and will be overwritten.

WomB0ComB0 added a commit to resq-software/pypi that referenced this pull request May 9, 2026
Sync from resq-software/docs#38. Without this, the splice step's
docs.json edits get stashed and dropped, so the per-submodule pages
generated since the split landed have been invisible in the sidebar.
WomB0ComB0 added a commit to resq-software/npm that referenced this pull request May 9, 2026
Sync from resq-software/docs#38. Without this, the splice step's
docs.json edits get stashed and dropped, so new pages never appear
in the docs sidebar.
WomB0ComB0 added a commit to resq-software/dotnet-sdk that referenced this pull request May 9, 2026
Sync from resq-software/docs#38. Without this, the splice step's
docs.json edits get stashed and dropped, so new pages never appear
in the docs sidebar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:content MDX/MD documentation content area:meta Repo meta — docs.json, README, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants