Skip to content

fix(schema): publish schemas with documentation - #11596

Merged
jdx merged 2 commits into
mainfrom
agent/publish-schemas-with-docs
Aug 1, 2026
Merged

jdx merged 2 commits into
mainfrom
agent/publish-schemas-with-docs

Conversation

@jdx

@jdx jdx commented Aug 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • publish the five JSON schemas with public $id values as VitePress build assets under /schema/
  • keep the root schema/ files as the single source of truth
  • decouple schema publication from the release pipeline

Why

mise-settings.json and mise-registry-tool.json advertise public schema URLs but were never copied by the release uploader, so those URLs return 404. Emitting the schemas during the docs build makes schema availability follow documentation deployments instead of mise releases.

Validation

  • mise run docs:build
  • compared every emitted schema byte-for-byte with its source under schema/

AI-assisted — Tool: Codex; model: openai/unavailable; version: unavailable.


Note

Low Risk
Static asset emission and CI path filters only; no runtime, auth, or data-handling changes.

Overview
Fixes broken public schema URLs by shipping the five JSON schemas (mise.json, plugin, task, settings, registry-tool) as VitePress build assets at /schema/, copied byte-for-byte from the repo’s schema/ directory.

A custom Vite plugin (mise-schema-assets) runs at build start and emitFiles each schema so schema availability tracks docs deployments instead of the release uploader.

The docs GitHub workflow now includes schema/** in push/PR path filters so schema edits trigger a docs rebuild and redeploy.

Reviewed by Cursor Bugbot for commit 392b8fb. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • New Features
    • Added five public schema files to documentation builds.
    • Schemas are now available as downloadable assets under the schema/ path.
    • Documentation builds now include the latest schema updates when schema files change.
    • Schema resources are packaged consistently for access alongside the documentation.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The documentation build now publishes five selected schema files under schema/. The documentation workflow also runs when files under schema/** change.

Changes

Schema asset publishing

Layer / File(s) Summary
Configure schema asset emission
docs/.vitepress/config.ts, .github/workflows/docs.yml
The configuration lists five schema files and emits them under schema/ during buildStart. The workflow tracks schema changes for pushes and pull requests.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • jdx/mise#11300: Both changes modify the documentation VitePress configuration, but they implement separate features.

Poem

A rabbit checks each schema file,
Then hops through builds in single file.
When schema paths receive a change,
The docs workflow hops in range.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: publishing schemas with the documentation build.

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.

@greptile-apps

greptile-apps Bot commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR publishes five repository-owned JSON schemas as stable VitePress build assets and ensures schema-only changes trigger documentation builds.

  • Emits the selected schemas under /schema/ during production documentation builds.
  • Adds schema/** to push and pull-request path filters for the docs workflow.
  • Keeps root-level schema files as the publication source of truth.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
docs/.vitepress/config.ts Adds a build-only Vite plugin that reads five existing root schema files and emits them at explicit public paths.
.github/workflows/docs.yml Extends documentation workflow filters so schema-only pull requests are validated and schema-only main-branch updates are deployed.

Reviews (2): Last reviewed commit: "fix(schema): deploy schema-only changes" | Re-trigger Greptile

greptile-apps[bot]
greptile-apps Bot previously approved these changes Aug 1, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f60b074. Configure here.

Comment thread docs/.vitepress/config.ts Resolved

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/.vitepress/config.ts (1)

114-127: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Restrict this plugin to build mode.

devDependencies.vitepress is 1.6.4, and Vite 5 exposes this.emitFile() in serve mode only as a no-op with a warning. If the plugin runs during vitepress dev, it writes nothing to schema/ and logs an error.

Proposed fix
         {
           name: "mise-schema-assets",
+          apply: "build",
           buildStart() {

If local development must serve /schema/*.json, add a separate dev-server handler.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/.vitepress/config.ts` around lines 114 - 127, Restrict the
`mise-schema-assets` plugin’s `buildStart` behavior to VitePress build mode by
checking the current command before calling `this.emitFile()`. Preserve schema
asset emission during builds, and avoid running this emission logic during
`vitepress dev`; add a separate dev-server handler only if development must
serve `/schema/*.json`.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/.vitepress/config.ts`:
- Around line 114-127: Restrict the `mise-schema-assets` plugin’s `buildStart`
behavior to VitePress build mode by checking the current command before calling
`this.emitFile()`. Preserve schema asset emission during builds, and avoid
running this emission logic during `vitepress dev`; add a separate dev-server
handler only if development must serve `/schema/*.json`.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: 12a82b1d-3963-45ff-8730-660f19440ecc

📥 Commits

Reviewing files that changed from the base of the PR and between 7f614f7 and f60b074.

📒 Files selected for processing (1)
  • docs/.vitepress/config.ts

@github-actions

github-actions Bot commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Instruction counts

benchmark trend instructions Δ wall (min) Δ
env ▃▁▁▅▅▄▄▂▃▄▄▂█▇ 84,916,587 → 84,891,789 -0.03% 20.55 → 18.55ms -9.74%
hook-env ▄▃▁▅▆▅▅▂▃▃▄▅▇█ 87,229,419 → 87,252,638 +0.03% 21.01 → 19.09ms -9.13%
ls ▄▁▁▆▅▅▅▄▅▄▄▅▇█ 76,805,312 → 76,820,663 +0.02% 16.35 → 15.48ms -5.35%
registry ▁▅▄▂▂██▇████▄▅ 50,331,177 → 50,345,919 +0.03% 11.61 → 11.43ms -1.50%
startup ▁▃▁▂▁▃▂▂▂▁▂▂█▇ 16,156,389 → 16,151,585 -0.03% 8.40 → 8.06ms -4.02%

No instruction-count regression above 1%.

Only instruction counts gate. Wall clock is shown for context — on identical hardware it moves 4-20% run to run.

Measured by tak — instruction-counted CLI benchmarks, stored in this repository's git notes.

392b8fb6bab3 vs 7f614f72578c · measured on the runner, not pushed to the history.

@greptile-apps
greptile-apps Bot dismissed their stale review August 1, 2026 21:30

Dismissed because a newer commit was pushed; Greptile will re-review the current head.

@jdx
jdx enabled auto-merge (squash) August 1, 2026 21:54
@jdx
jdx merged commit 71e6b00 into main Aug 1, 2026
32 checks passed
@jdx
jdx deleted the agent/publish-schemas-with-docs branch August 1, 2026 21:59
This was referenced Aug 1, 2026
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