{
" $schema " : " http://json-schema.org/draft-07/schema# " ,
" $id " : " bmad-config-schema " ,
" title " : " BMAD Configuration Schema " ,
" description " : " BMAD framework configuration schema " ,
" type " : " object " ,
" properties " : {
" version " : {
" type " : " string " ,
" description " : " Configuration file version "
},
" description " : {
" type " : " string " ,
" description " : " Configuration file description "
},
" enabled " : {
" type " : " boolean " ,
" description " : " Whether BMAD is enabled " ,
" default " : true
},
" defaultMode " : {
" type " : " string " ,
" enum " : [ " optional " , " mandatory " , " disabled " ],
" description " : " Default BMAD mode " ,
" default " : " optional "
},
" gates " : {
" type " : " object " ,
" description " : " Phase gate configuration " ,
" properties " : {
" analysis " : { " $ref " : " #/definitions/gateConfig " },
" planning " : { " $ref " : " #/definitions/gateConfig " },
" solutioning " : { " $ref " : " #/definitions/solutioningGateConfig " },
" implementation " : { " $ref " : " #/definitions/implementationGateConfig " }
}
},
" personas " : {
" type " : " object " ,
" description " : " Persona configuration " ,
" additionalProperties " : { " $ref " : " #/definitions/personaConfig " }
},
" emergency " : {
" type " : " object " ,
" description " : " Emergency mode configuration " ,
" properties " : {
" allowBypass " : { " type " : " boolean " , " default " : true },
" requireApproval " : { " type " : " boolean " , " default " : true },
" bypassableGates " : {
" type " : " array " ,
" items " : { " type " : " string " },
" default " : [ " analysis " , " planning " ]
},
" mandatoryGates " : {
" type " : " array " ,
" items " : { " type " : " string " },
" default " : [ " implementation " ]
},
" postReviewHours " : { " type " : " integer " , " default " : 48, " description " : " Required post-review hours after emergency mode " }
}
},
" parallelExecution " : {
" type " : " object " ,
" description " : " Parallel execution configuration " ,
" properties " : {
" enabled " : { " type " : " boolean " , " default " : true },
" maxConcurrency " : { " type " : " integer " , " minimum " : 1, " default " : 2 },
" defaultPattern " : { " type " : " string " , " enum " : [ " fan-out " , " sequential " ], " default " : " fan-out " }
}
},
" feedback " : {
" type " : " object " ,
" description " : " Feedback configuration " ,
" properties " : {
" maxRetries " : { " type " : " integer " , " minimum " : 1, " default " : 3, " description " : " Maximum retry count (prevents infinite loops) " },
" autoFix " : {
" type " : " object " ,
" properties " : {
" enabled " : { " type " : " boolean " , " default " : true },
" categories " : {
" type " : " array " ,
" items " : { " type " : " string " },
" default " : [ " type_safety " , " code_style " , " lint_rules " ]
}
}
}
}
}
},
" definitions " : {
" gateConfig " : {
" type " : " object " ,
" properties " : {
" enabled " : { " type " : " boolean " , " default " : true },
" mandatory " : { " type " : " boolean " , " default " : true },
" persona " : { " type " : " string " },
" checks " : { " type " : " array " , " items " : { " type " : " string " } }
}
},
" solutioningGateConfig " : {
" type " : " object " ,
" properties " : {
" enabled " : { " type " : " boolean " },
" mandatory " : { " type " : " boolean " },
" parallelPersonas " : { " type " : " array " , " items " : { " type " : " string " } },
" checks " : { " type " : " object " }
}
},
" implementationGateConfig " : {
" type " : " object " ,
" properties " : {
" enabled " : { " type " : " boolean " },
" mandatory " : { " type " : " boolean " },
" personas " : { " type " : " array " , " items " : { " type " : " string " } },
" subGates " : { " type " : " object " }
}
},
" personaConfig " : {
" type " : " object " ,
" properties " : {
" enabled " : { " type " : " boolean " , " default " : true },
" phase " : { " type " : " string " },
" linkedAgents " : {
" type " : " array " ,
" items " : { " type " : " string " },
" description " : " Linked agent or skill paths (agents/, commands/agents/, skills/ directories) "
},
" mcpTools " : {
" type " : " array " ,
" items " : { " type " : " string " },
" description " : " Linked MCP tool names (mcp__servername__toolname format) "
}
}
}
}
}
BMAD Configuration Schema
{