Register BMad Automator in official registry - #15
Conversation
|
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
WalkthroughA new module entry ChangesRegistry and Tooling Update
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
4f5e484 to
e9b5141
Compare
🤖 Augment PR SummarySummary: Adds Changes:
🤖 Was this summary useful? React with 👍 or 👎 |
1b5af3b to
e9b5141
Compare
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@registry/official.yaml`:
- Around line 153-165: Update registry-schema.yaml to declare the five new
optional fields introduced in registry/official.yaml: add properties for
default_channel (string, required: false, description), install_targets (array
of strings, required: false, description), worker_targets (array of strings,
required: false, description), requirements (array of strings, required: false,
description), and install_note (string, required: false, description); ensure
each property is added under the top-level schema properties with appropriate
types and brief descriptions so schema validation recognizes these keys and
marks them as optional.
- Line 142: The YAML entry currently uses the invalid enum value "type:
experimental"; update that value to the valid enum "bmad-org" so it passes the
registry-schema validation while keeping the existing "display_name: BMad
Automator (Experimental)" to communicate experimental status; specifically
replace the "type: experimental" token with "type: bmad-org" in the registry
entry.
- Line 137: Replace the unrecognized field source_root in the bmad-automator
entry with the schema-valid field module_definition and point it to the module
YAML file (use module_definition: payload/.claude/skills/module.yaml) so the
entry matches the other registry entries and the registry schema; update the
bmad-automator block (where source_root is set) to use module_definition
instead.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 168bb868-585d-47fa-b23e-1c85a338fd48
📒 Files selected for processing (1)
registry/official.yaml
|
Addressing the current review comments on this PR:
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.github/scripts/generate-index.py (1)
28-51: ⚡ Quick win
name: nullsilently drops all but the first unnamed module.
key = (directory, None)whennameis absent — a second nameless entry would be silently skipped. In practice schema validation should prevent this, but a guard log would surface indexing bugs faster.🛡️ Suggested defensive log
def add_module(module, directory): name = module.get("name") + if not name: + print(f"Warning: module in '{directory}' is missing a name — skipping", flush=True) + return key = (directory, name)🤖 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 @.github/scripts/generate-index.py around lines 28 - 51, The add_module logic silently drops multiple modules with name == None because key = (directory, name) collapses them; update the import loop so when load_yaml(...) returns a module with module.get("name") is None you log a warning (include the source: yaml_file.name or "official.yaml") and use a stable fallback for the key (e.g., the yaml filename or a generated unique id) so seen checks use (directory, fallback_name) instead of (directory, None); ensure the module still gets module["_directory"] and is appended to modules, and use a project logger or stderr print to surface the missing-name issue for later schema debugging.
🤖 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 @.github/scripts/generate-index.py:
- Around line 28-51: The add_module logic silently drops multiple modules with
name == None because key = (directory, name) collapses them; update the import
loop so when load_yaml(...) returns a module with module.get("name") is None you
log a warning (include the source: yaml_file.name or "official.yaml") and use a
stable fallback for the key (e.g., the yaml filename or a generated unique id)
so seen checks use (directory, fallback_name) instead of (directory, None);
ensure the module still gets module["_directory"] and is appended to modules,
and use a project logger or stderr print to surface the missing-name issue for
later schema debugging.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5d24903a-1915-4b98-ba88-dd75ba679e1f
📒 Files selected for processing (6)
.github/scripts/generate-index.pyCONTRIBUTING.mdINDEX.mdREADME.mdregistry/community-index.yamlregistry/registry-schema.yaml
✅ Files skipped from review due to trivial changes (3)
- CONTRIBUTING.md
- INDEX.md
- registry/community-index.yaml
|
Addressed the CodeRabbit nitpick in commit 00fbff7. I added the guard because |
|
Closing this older broad branch now that the actual Automator registration landed separately in #19 and the remaining marketplace alignment work has been re-opened as the tighter draft PR #22. This branch mixed registry entry, schema, docs, generator, and generated-index changes under a registration-only title, so it is clearer to retire it and review the remaining repo-alignment work on its own scope. |
What
Register BMad Automator in the marketplace official registry so it is discoverable during normal installer operation.
Why
The BMAD-METHOD fallback registry is only used when the marketplace registry is unreachable. Automator needs a marketplace entry for standard discoverability and installer presentation.
How
bmaentry toregistry/official.yamlexperimentalNotes
software-development / dev-toolsSummary by CodeRabbit
New Features
Schema/Installer
Documentation
Indexing