Skip to content

Split module definition schema reference across pages - #17

Open
devin-ai-integration[bot] wants to merge 4 commits into
mainfrom
devin/1785513786-split-module-schema-pages
Open

Split module definition schema reference across pages#17
devin-ai-integration[bot] wants to merge 4 commits into
mainfrom
devin/1785513786-split-module-schema-pages

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jul 31, 2026

Copy link
Copy Markdown

Summary

/module-definitions/definition-schema rendered all 715 <ResponseField> components on one page (~3 MB of HTML, ~11x any other page), which froze mobile Safari on tap and scroll — per Mintlify support. scripts/sync-schema-reference.mjs now splits the generated module schema into pages of at most 210 fields instead of copying it into one snippet.

Pages follow the schema's own structure: one per top-level section, with prose-only sections (Readme, Template expressions) riding along with the previous page. A section over budget is divided by what its types describe, configured in sectionGroups (groups listed in page order; the group without a match is the catch-all):

Deploy: [
  {title: "Deploy"},                                              // root + AwsStatic/Ec2/Lambda
  {title: "ECS deployments",      match: /^Ecs(ModuleDeployment|Deploy|RunTaskOverrides|Canary|...)/},
  {title: "ECS task definitions", match: /^Ecs/},
]

Resulting sidebar (fields per page): Module (6), Inputs (203), Stack (63), Build (126), Deploy (82), ECS deployments (74), ECS task definitions (123), UI and template expressions (38). The sync fails loudly if a configured group exceeds the budget or an oversized section has no rules, so a growing schema can't silently regress to a giant page.

Anchors that used to be same-page are rewritten to the page that now owns them, e.g. in deploy:

-| `ecs` | [EcsModuleDeployment](#ecsmoduledeployment) |
+| `ecs` | [EcsModuleDeployment](/module-definitions/definition-schema/ecs-deployments#ecsmoduledeployment) |

Generated output (re-written on each sync, stale files removed):

  • snippets/schema-reference/module/<slug>.mdx — content parts, each prefixed with the Legend table
  • module-definitions/definition-schema/<slug>.mdx — pages importing the parts, keeping the existing agents/humans <Visibility> treatment
  • snippets/schema-reference/module-index.mdx — link list rendered by the (hand-written) definition-schema.mdx overview, which is now the group root
  • docs.json — the nav entry becomes a "Definition schema" group with the split pages

pipeline and project-config still sync as single snippets; enabling the split for pipeline (312 fields) is a config entry in splitDocs.

.vale.ini skips prose rules for the generated schema reference files — Vale only runs on files a PR touches, so re-emitting this machine-written content (templateable, awsvpc, and Vale mis-tokenizing type names) otherwise fails the spellcheck check.

The one hand-written deep link into the old page (changelog.mdx#refinputproperty) now points at definition-schema/inputs.

Companion PR: flightcontrolhq/flightcontrol#6742 updates the daily docs-schema-sync workflow, which currently only stages snippets/schema-reference and would otherwise drop the generated pages and docs.json update.

mint validate and mint broken-links pass; the largest page is now ~35 KB of Markdown vs ~150 KB rendering to ~3 MB before.

Link to Devin session: https://app.devin.ai/sessions/ef919cd3e7844c79a77f76cbfbba013a
Requested by: @flybayer

Co-Authored-By: brandon <brandon@flightcontrol.dev>
@devin-ai-integration
devin-ai-integration Bot requested a review from flybayer as a code owner July 31, 2026 16:03
@flybayer flybayer self-assigned this Jul 31, 2026
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@mintlify

mintlify Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Ravion 🟢 Ready View Preview Jul 31, 2026, 4:04 PM

Co-Authored-By: brandon <brandon@flightcontrol.dev>
Co-Authored-By: brandon <brandon@flightcontrol.dev>
Co-Authored-By: brandon <brandon@flightcontrol.dev>
@mintlify

mintlify Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Ravion 🟡 Building Jul 31, 2026, 4:03 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant