From f54df11fbc06078a70ecf9f3414428c01a2305ea Mon Sep 17 00:00:00 2001 From: Felipe Zipitria Date: Wed, 30 Sep 2026 08:07:37 -0300 Subject: [PATCH] docs: document how to regenerate README.md and registry.json CI fails a PR that edits registry.yaml but doesn't regenerate the derived files (git diff --exit-code), but neither doc told contributors to run the generator before opening a PR. Mirrors the existing "Validating a Descriptor" note in plugin-descriptor-schema.md. Co-Authored-By: Claude Sonnet 5 --- README.md | 9 ++++++++- docs/registry-schema.md | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e21bd05..6394c52 100644 --- a/README.md +++ b/README.md @@ -51,4 +51,11 @@ See [`docs/registry-schema.md`](docs/registry-schema.md) for what the registry a (and what it does not), and [`docs/plugin-descriptor-schema.md`](docs/plugin-descriptor-schema.md) for the `plugin.yaml` descriptor that each plugin repository provides. -To register a new plugin, open a PR adding it to `registry.yaml`. +To register a new plugin, open a PR adding it to `registry.yaml`. After editing it, run: + +```bash +uv run scripts/generate_registry.py +``` + +and commit the resulting changes to `README.md` and `registry.json` — CI rejects the PR if they +drift from `registry.yaml`. diff --git a/docs/registry-schema.md b/docs/registry-schema.md index a42dd79..bb62576 100644 --- a/docs/registry-schema.md +++ b/docs/registry-schema.md @@ -63,3 +63,10 @@ overlapping rule ID ranges across plugins and reserved ranges — are checked se validation does when it finds a violation. CI runs both, then regenerates `README.md` and `registry.json` and fails on any drift (`git diff --exit-code`), so the generated files can never go stale relative to `registry.yaml`. + +Contributors editing `registry.yaml` should run the same generator locally before opening a PR, +so the regenerated files are already part of the diff instead of failing CI: + +```bash +uv run scripts/generate_registry.py +```