minor updates

This commit is contained in:
Brian Madison
2025-06-10 21:07:27 -05:00
parent a18ad8bc24
commit 52b82651f7
14 changed files with 205 additions and 1058 deletions

View File

@@ -1,6 +1,5 @@
# BMAD Agent Configuration Schema
# This schema defines the structure for BMAD agent configuration files
# Agents can either reference an external persona or embed the persona directly
# This schema defines the structure for BMAD Method agent configuration files
type: object
required:
@@ -10,235 +9,165 @@ required:
properties:
agent:
type: object
description: Core agent configuration and metadata
description: Core agent configuration
required:
- name
- id
- title
- description
- customize
- persona
properties:
name:
type: string
description: Human-friendly character name of the agent
pattern: "^[A-Z][a-z]+$"
description: Human-friendly name of the agent (e.g., 'John', 'Mary')
examples:
- "John"
- "Mary"
- "Sarah"
- "James"
- "Quinn"
- "Sally"
- "Winston"
- "Bob"
- "BMad"
- John
- Mary
- Winston
- Sarah
- Bob
id:
type: string
description: Unique identifier for the agent (lowercase, hyphenated)
pattern: "^[a-z][a-z0-9-]*$"
pattern: ^[a-z][a-z0-9-]*$
description: Unique identifier for the agent, lowercase with hyphens
examples:
- "pm"
- "analyst"
- "architect"
- "po"
- "sm"
- "dev"
- "qa"
- "ux-expert"
- "bmad"
- pm
- analyst
- architect
- po
- dev
title:
type: string
description: Professional title or role
minLength: 5
maxLength: 50
description: Professional title or role of the agent
examples:
- "Product Manager"
- "Business Analyst"
- "Architect"
- "Product Owner"
- "Scrum Master"
- "Full Stack Developer"
- "QA Engineer"
- "UX Expert"
- Product Manager
- Business Analyst
- Architect
- Product Owner
description:
type: string
description: Main goal and purpose of the agent
description: Detailed description of the agent's purpose and capabilities
minLength: 20
maxLength: 300
persona:
oneOf:
- type: string
description: Reference to external persona file
pattern: "^bmad-core/personas/[a-z][a-z0-9-]*\\.md$"
- type: "null"
description: Null when using embedded persona
type: string
description: Reference to the persona file (without extension) in bmad-core/personas/
examples:
- pm
- analyst
- architect
customize:
type: string
description: Customization instructions or embedded persona definition
description: Optional customization instructions for the agent's behavior and personality
default: ""
startup:
type: array
description: Startup instructions for the agent (required when persona is null)
items:
type: string
minLength: 20
dependencies:
type: object
description: Resources required by this agent
required:
- tasks
- templates
- checklists
- data
- utils
properties:
tasks:
type: array
description: List of task files from bmad-core/tasks/
description: List of task files (without extension) from bmad-core/tasks/
items:
type: string
pattern: "^[a-z][a-z0-9-]*$"
pattern: ^[a-z][a-z0-9-]*$
uniqueItems: true
examples:
- - create-doc-from-template
- execute-checklist
- correct-course
templates:
type: array
description: List of template files from bmad-core/templates/
description: List of template files (without extension) from bmad-core/templates/
items:
type: string
pattern: "^[a-z][a-z0-9-]*-tmpl$"
pattern: ^[a-z][a-z0-9-]*(-tmpl)?$
uniqueItems: true
examples:
- - prd-tmpl
- architecture-tmpl
- story-tmpl
checklists:
type: array
description: List of checklist files from bmad-core/checklists/
description: List of checklist files (without extension) from bmad-core/checklists/
items:
type: string
pattern: "^[a-z][a-z0-9-]*-checklist$"
pattern: ^[a-z][a-z0-9-]*(-checklist)?$
uniqueItems: true
default: []
examples:
- - pm-checklist
- architect-checklist
- po-master-checklist
data:
type: array
description: List of data files from bmad-core/data/
description: List of data files (without extension) from bmad-core/data/
items:
type: string
pattern: "^[a-z][a-z0-9-]*$"
pattern: ^[a-z][a-z0-9-]*$
uniqueItems: true
default: []
examples:
- - technical-preferences
- bmad-kb
utils:
type: array
description: List of utility files from bmad-core/utils/
description: List of utility files (without extension) from bmad-core/utils/
items:
type: string
pattern: "^[a-z][a-z0-9-]*$"
pattern: ^[a-z][a-z0-9-]*$
uniqueItems: true
default: []
examples:
- - template-format
environments:
type: object
description: Optional environment-specific configurations
properties:
web:
type: object
description: Web environment configuration
properties:
available:
type: boolean
description: Whether this agent is available in web environments
default: true
description:
type: string
description: Web-specific description of the agent's capabilities
max_size:
type: integer
description: Maximum character size for web bundle
minimum: 1000
ide:
type: object
description: IDE environment configuration
properties:
available:
type: boolean
description: Whether this agent is available in IDE environments
default: true
description:
type: string
description: IDE-specific description of the agent's capabilities
max_size:
type: integer
description: Maximum character size for IDE agent
minimum: 1000
maximum: 20000
# No additional properties allowed
additionalProperties: false
# Validation rules
allOf:
# When persona is null, customize must contain embedded persona and startup must be provided
- if:
properties:
agent:
properties:
persona:
type: "null"
then:
properties:
agent:
required:
- startup
properties:
customize:
minLength: 200
description: "Must contain comprehensive persona definition when persona is null"
startup:
minItems: 1
description: "Startup instructions required for embedded personas"
# When persona is provided, startup is optional
- if:
properties:
agent:
properties:
persona:
type: string
then:
properties:
agent:
properties:
customize:
maxLength: 500
description: "Keep customizations brief when using external persona"
# Examples showing valid agent configurations
examples:
# Agent with external persona
external_persona_agent:
agent:
name: "John"
id: "pm"
title: "Product Manager"
description: "Creates Product Requirements Documents (PRDs) and conducts product research to define product strategy"
persona: "bmad-core/personas/pm.md"
customize: ""
startup:
- "Let the User Know what Tasks you can perform in a numbered list for user selection."
- "Execute the Full Tasks as Selected."
dependencies:
tasks:
- "create-doc-from-template"
- "advanced-elicitation"
- "shard-doc"
templates:
- "prd-tmpl"
- "project-brief-tmpl"
checklists:
- "pm-checklist"
data:
- "bmad-kb"
utils:
- "template-format"
# Agent with embedded persona
embedded_persona_agent:
agent:
name: "Elena"
id: "data-analyst"
title: "Data Analyst"
description: "Analyzes data patterns, creates visualizations, and provides insights for data-driven decision making"
persona: null
customize: >-
Elena is a meticulous Data Analyst with expertise in statistical analysis, data visualization,
and pattern recognition. She approaches problems with scientific rigor, always seeking evidence
in the data before drawing conclusions. Her style is precise, methodical, and focused on
delivering actionable insights. She excels at transforming complex data into clear narratives
that stakeholders can understand and act upon. Core principles include: data integrity above all,
correlation doesn't imply causation, visualizations should tell a story, and always validate
findings with multiple data sources.
startup:
- "Let the User Know what Tasks you can perform in a numbered list for user selection."
- "Focus on data-driven insights and evidence-based recommendations."
- "Always ask for data sources and context before beginning analysis."
dependencies:
tasks:
- "analyze-data"
- "create-visualization"
- "statistical-analysis"
templates:
- "data-report-tmpl"
- "dashboard-tmpl"
checklists:
- "data-quality-checklist"
data:
- "statistical-methods"
utils:
- "data-tools"