From 5dde12a7d3bfb6f464f6bb3b6c12799dbb9d27d9 Mon Sep 17 00:00:00 2001 From: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com> Date: Sun, 14 Jun 2026 13:47:13 -0400 Subject: [PATCH] fix(registry): remove unmaintainable per-tool version field registry.json hardcoded a patch-level `version` per tool (Blender showed 0.2.3, live was 0.2.4). Tool repos auto-bump patch on every content merge, so the catalog re-staled on each tool's next content PR. Bumping a single entry by hand just resets a clock that keeps running. The field had zero consumers: it is not read by scripts/sync_from_registry.py, not displayed by docs/script.js, and not used by the drift checker (which reads agent-file standards-version markers and the meta VERSION, not the registry entry version). It only rode along passively inside the embedded registry blob in docs/index.html. Remove it everywhere so a tool's patch bump can never again create catalog drift: - drop `version` from all 12 registry.json entries - drop `version` from the validate.yml registry schema - regenerate docs/index.html (embedded blob no longer carries version) - update the schema docs (.cursorrules, AGENTS.md, CLAUDE.md) with a one-line note on why the field is gone, so it is not reintroduced Do not reintroduce patch precision. The catalog tracks tools by repo and homepage, not by version. Signed-off-by: fOuttaMyPaint <154358121+TMHSDigital@users.noreply.github.com> Co-authored-by: Cursor --- .cursorrules | 3 ++- .github/workflows/validate.yml | 1 - AGENTS.md | 3 ++- CLAUDE.md | 4 +++- VERSION | 2 +- docs/index.html | 2 +- registry.json | 12 ------------ 7 files changed, 9 insertions(+), 18 deletions(-) diff --git a/.cursorrules b/.cursorrules index 4ac8166..ff1eff3 100644 --- a/.cursorrules +++ b/.cursorrules @@ -33,7 +33,8 @@ Use conventional commits. Prefix determines changelog category: ## When editing registry.json -- Every entry needs all required fields: name, repo, slug, description, type, homepage, skills, rules, mcpTools, extras, topics, status, version, language, license, pagesType, hasCI. +- Every entry needs all required fields: name, repo, slug, description, type, homepage, skills, rules, mcpTools, extras, topics, status, language, license, pagesType, hasCI. +- Do not add a per-tool `version` field. It was removed because tool repos auto-bump patch on every content merge, so a catalog-pinned version re-stales on each tool's next content PR. The catalog tracks tools by repo and homepage, not by patch version. - `type` must be `cursor-plugin` or `mcp-server`. - `skills`, `rules`, `mcpTools` must be integers. - After editing registry.json, also update: diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index c17b0e1..0c83388 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -39,7 +39,6 @@ jobs: "extras": dict, "topics": list, "status": str, - "version": str, "language": str, "license": str, "pagesType": str, diff --git a/AGENTS.md b/AGENTS.md index 349ab86..86807c9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -124,12 +124,13 @@ Array of tool objects. Required fields per entry: | `npm` | string | npm package name (empty string or omit if none) | | `topics` | string[] | Discovery tags | | `status` | string | `experimental`, `beta`, `active`, `maintenance`, `deprecated`, or `archived` (see [`standards/lifecycle.md`](standards/lifecycle.md)) | -| `version` | string | Current semver version | | `language` | string | Primary language | | `license` | string | SPDX identifier | | `pagesType` | string | `static`, `mkdocs`, or `none` | | `hasCI` | bool | Whether the repo has CI workflows | +There is intentionally no per-tool `version` field. Tool repos auto-bump patch on every content merge, so a catalog-pinned patch version re-stales on each tool's next content PR (and is never rendered anywhere - the sync generator and docs site ignore it). The catalog tracks tools by repo and homepage. Do not reintroduce it. + ### `docs/index.html` The catalog site. It embeds a copy of the registry data in a `