Introduce automated validation for agent YAML files using Zod to ensure
schema compliance across all agent definitions. This feature validates
17 agent files across core and module directories, catching structural
errors and maintaining consistency.
Schema Validation (tools/schema/agent.js):
- Zod-based schema validating metadata, persona, menu, prompts, and critical actions
- Module-aware validation: module field required for src/modules/**/agents/,
optional for src/core/agents/
- Enforces kebab-case unique triggers and at least one command target per menu item
- Validates persona.principles as array (not string)
- Comprehensive refinements for data integrity
CLI Validator (tools/validate-agent-schema.js):
- Scans src/{core,modules/*}/agents/*.agent.yaml
- Parses with js-yaml and validates using Zod schema
- Reports detailed errors with file paths and field paths
- Exits 1 on failures, 0 on success
- Accepts optional project_root parameter for testing
Testing (679 lines across 3 test files):
- test/test-cli-integration.sh: CLI behavior and error handling tests
- test/unit-test-schema.js: Direct schema validation unit tests
- test/test-agent-schema.js: Comprehensive fixture-based tests
- 50 test fixtures covering valid and invalid scenarios
- ESLint configured to support CommonJS test files
- Prettier configured to ignore intentionally broken fixtures
CI Integration (.github/workflows/lint.yaml):
- Renamed from format-check.yaml to lint.yaml
- Added schema-validation job running npm run validate:schemas
- Runs in parallel with prettier and eslint jobs
- Validates on all pull requests
Data Cleanup:
- Fixed src/core/agents/bmad-master.agent.yaml: converted persona.principles
from string to array format
Documentation:
- Updated schema-classification.md with validation section
- Documents validator usage, enforcement rules, and CI integration
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: add iflow cli support
* chore: update project dependencies and development tooling (#508)
- Update various direct and transitive project dependencies.
- Remove the circular `bmad-method` self-dependency.
- Upgrade ESLint, Prettier, Jest, and other dev tools.
- Update semantic-release and related GitHub packages.
Co-authored-by: Kayvan Sylvan <kayvan@meanwhile.bm>
* refactor: refactor by format
---------
Co-authored-by: Kayvan Sylvan <kayvan@sylvan.com>
Co-authored-by: Kayvan Sylvan <kayvan@meanwhile.bm>
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
Co-authored-by: Brian <bmadcode@gmail.com>
This change modifies the .gitignore file to ensure the cursor file is properly ignored by removing the incorrect entry and adding the correct one. This helps maintain a cleaner repository by preventing unnecessary files from being tracked.
Co-authored-by: Brian <bmadcode@gmail.com>
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* fix: correct typos in documentation and agent files
Fix multiple instances of "assest" typo to "assets" in documentation
Correct "quetsions" typo to "questions" in repository structure sections
Add new words to cSpell dictionary in VS Code settings
* feat(trae): add support for trae ide integration
- Add trae guide documentation
- Update installer to support trae configuration
- Include trae in ide options and documentation references
- Fix typo in architect agent documentation
* chore: ignore windsurf and trae directories in git
* docs: add npm install step to README
The npm install step was missing from the setup instructions, which is required before running build commands.
---------
Co-authored-by: Devin Stagner <devin@blackstag.family>
* docs: add headers and improve formatting for BMAD orchestrator agent documentation
## CHANGES
- Add configuration header to cfg file
- Improve numbered list formatting consistency
- Add proper heading punctuation throughout
- Enhance readability with cleaner structure
- Standardize markdown formatting conventions
* gitignore update
* Plaform Engineer role for a robust infrastructure (#135)
* Add Platform Engineer role to support a robust and validated infrastructure
* Platform Engineer and Architect boundaries, confidence levels, domain expertise
* remove duplicate task, leftover artifact
* Consistency, workflow, feedback loops between architect and PE
* PE customization generalized, updated Architect, consistency check
* style: add VSCode integration and standardize document formatting
CHANGES
- Introduce VSCode recommended extensions and project-specific settings.
- Update `.gitignore` to track the `.vscode` directory.
- Apply consistent markdown formatting to all checklist documents.
- Standardize spacing, list styles, and headers in personas.
- Refine formatting and sectioning in task definition files.
- Ensure newline termination for all modified text files.
- Correct code block specifiers and minor textual content.
* docs: remove exclamation from header
* fix: spacing at end of line
---------
Co-authored-by: Brian Madison <brianmadison@Brians-MacBook-Pro.local>
Co-authored-by: Sebastian Ickler <icklers@users.noreply.github.com>