fix: restore agent files accidentally modified in Docusaurus merge (#1191)

* fix: restore agent files accidentally modified in Docusaurus merge

Restores 25 agent files to their pre-merge state:
- Trigger format with shortcuts (WS, CH, BP, etc.) restored
- Fuzzy matching syntax restored
- BMB module: restores separate agent-builder, module-builder,
  workflow-builder agents; removes consolidated bmad-builder

Also updates test to match restored trigger format.

Note: Schema validation needs update in follow-up commit.

* fix: normalize trigger fuzzy match format for schema validation

- Add dashes to fuzzy match text to match kebab-case triggers
- Add missing 'chat' kebab in CH triggers (CH or chat or fuzzy match on chat)
- Relax schema to allow 1-3 char shortcuts and skip shortcut derivation check
- Remove compound-wrong-shortcut test fixture (no longer validated)

All 24 agent files now pass schema validation.
This commit is contained in:
Alex Verkhovsky
2025-12-25 14:59:39 -08:00
committed by GitHub
parent 47a0ebda4f
commit b1d1242fcf
29 changed files with 462 additions and 472 deletions

View File

@@ -1,24 +0,0 @@
# Test: Compound trigger with wrong shortcut
# Expected: FAIL
# Error code: custom
# Error path: agent.menu[0].trigger
# Error message: agent.menu[].trigger compound format error: shortcut "XX" does not match expected "TS" for "tech-spec"
agent:
metadata:
id: compound-wrong-shortcut
name: Wrong Shortcut
title: Wrong Shortcut Test
icon: 🧪
persona:
role: Test agent
identity: Test identity
communication_style: Test style
principles:
- Test principle
menu:
- trigger: XX or tech-spec or fuzzy match on tech-spec
description: Shortcut does not match kebab trigger
action: test

View File

@@ -175,7 +175,7 @@ async function runTests() {
assert(compiled.includes('testarch/knowledge'), 'TEA agent compilation includes knowledge base path');
assert(compiled.includes('*test-design'), 'TEA agent menu includes test-design workflow');
assert(compiled.includes('test-design'), 'TEA agent menu includes test-design workflow');
// Cleanup
await fs.remove(tempOutput);