Align official registry docs and index generation - #20
Conversation
|
Warning Rate limit exceeded
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 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 configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
🤖 Augment PR SummarySummary: Aligns the marketplace repo with the flat
🤖 Was this summary useful? React with 👍 or 👎 |
|
|
||
| official_file = REGISTRY_DIR / "official.yaml" | ||
| if official_file.exists(): | ||
| data = load_yaml(official_file) |
There was a problem hiding this comment.
(.github/scripts/generate-index.py:44) If registry/official.yaml exists but is empty/invalid, load_yaml() can return None and data.get("modules", []) will raise, breaking the index generation workflow.
Severity: medium
⏳ Generating Fix in Augment link...
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| print(f"Warning: module in {source} is missing a name; skipping", file=sys.stderr) | ||
| return | ||
| key = (directory, name) | ||
| if key in seen: |
There was a problem hiding this comment.
(.github/scripts/generate-index.py:36) Duplicate modules (same (directory, name)) are currently dropped silently, which can make it hard to notice conflicting registry sources or unintended duplicates.
Severity: low
⏳ Generating Fix in Augment link...
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| module["_directory"] = directory | ||
| modules.append(module) | ||
|
|
||
| official_file = REGISTRY_DIR / "official.yaml" |
There was a problem hiding this comment.
(.github/scripts/generate-index.py:42) With registry/official.yaml now loaded as the official source, load_modules() will still also read registry/official/*.yaml if that directory exists; ensure that’s intended since it can reintroduce the mixed-model state the docs are moving away from.
Severity: low
⏳ Generating Fix in Augment link...
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
| | ------ | ---- | ----------- | ----- | ----------- | | ||
| | [bmad-creative-intelligence-suite](https://github.com/bmad-code-org/bmad-module-creative-intelligence-suite) | official | Strategy & Planning | BMad Certified | Creative tools for writing, brainstorming, and more | | ||
|
|
||
| ## core |
There was a problem hiding this comment.
(INDEX.md:13) The generated ## core heading indicates the core category isn’t present in categories.yaml (so the generator falls back to the slug), which conflicts with the docs that categories/subcategories come from categories.yaml.
Severity: medium
⏳ Generating Fix in Augment link...
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
Problem
The marketplace repo is internally inconsistent about how official modules are represented. The source of truth is a flat
registry/official.yaml, but parts of the repo still assume official modules live as one file per module underregistry/official/.That creates three concrete problems:
README.mdandCONTRIBUTING.mddocument the wrong official registry layout.github/scripts/generate-index.pydoes not fully model the flatregistry/official.yamlsource of truthregistry/registry-schema.yamldoes not document several fields already relevant to official and pure-skill module entriesThe result is drift between the registry data model, the generated catalog output, and the contributor-facing docs.
Suggested Solution
This PR proposes aligning the repo around the flat
registry/official.yamlmodel that is already in use.How
README.mdandCONTRIBUTING.mdto referenceregistry/official.yaml.github/scripts/generate-index.pyto load the flat official registry, dedupe entries, and warn on nameless modulesINDEX.mdandregistry/community-index.yamlregistry/registry-schema.yamlto document official and pure-skill metadata fieldsScope
This PR does not register any new module. It only updates repo support, docs, schema, and generated catalog output so the existing official registry model is handled consistently.