Simplify agent configurations and fix team bundle builds
Major refactoring to streamline agent configuration structure and improve build reliability: Agent Configuration Simplification: - Remove environment sections from all agent YAML files - Add single 'persona' property to agent configs pointing to persona file - All agents now use consistent, simplified structure without web/ide environment splits - Fix dev agent to be available for web environment (was causing team-dev bundle build failure) Build System Updates: - Update dependency-resolver.js to use new persona property instead of environments.web.persona_file - Update bundle-optimizer.js to load personas using agent's persona property - Remove environment availability checks since all agents are now web-compatible - Change output directory from dist/web/bundles/ to dist/web/teams/ for clarity File Organization: - Move IDE-specific personas (dev.ide.md, devops-pe.ide.md, sm.ide.md) to bmad-core/ide-agents/ - Rename team bundles for clarity: - team-full.yml → team-full-app.yml (web application teams) - team-planning.yml → team-small-service.yml (backend service teams) - Remove team-full-ide.yml (IDE teams will be handled separately) This change ensures all 3 web team bundles build successfully and simplifies future agent maintenance. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -118,14 +118,14 @@ class WebBuilder {
|
||||
}
|
||||
|
||||
// Write output files
|
||||
const outputDir = path.join(this.outputPath, 'bundles');
|
||||
const outputDir = path.join(this.outputPath, 'teams');
|
||||
this.ensureDirectory(outputDir);
|
||||
|
||||
const outputs = [];
|
||||
|
||||
// Default to single_file format if not specified
|
||||
const outputFormat = bundleConfig.output?.format || 'single_file';
|
||||
const outputFilename = bundleConfig.output?.filename || bundleConfig.filename || `${bundleConfig.name.toLowerCase().replace(/\s+/g, '-')}-bundle.txt`;
|
||||
const outputFilename = bundleConfig.output?.filename || bundleConfig.filename || `${bundleConfig.name.toLowerCase().replace(/\s+/g, '-')}.txt`;
|
||||
|
||||
if (outputFormat === 'single_file') {
|
||||
// Create single bundle file
|
||||
@@ -160,7 +160,7 @@ class WebBuilder {
|
||||
const outputDir = path.join(this.outputPath, 'agents');
|
||||
this.ensureDirectory(outputDir);
|
||||
|
||||
const agentFile = path.join(outputDir, `${agentId}-agent-bundle.txt`);
|
||||
const agentFile = path.join(outputDir, `${agentId}.txt`);
|
||||
fs.writeFileSync(agentFile, optimizedBundle.standaloneContent);
|
||||
|
||||
return {
|
||||
@@ -208,7 +208,7 @@ class WebBuilder {
|
||||
*/
|
||||
createOrchestratorFiles(bundle, config) {
|
||||
const files = [];
|
||||
const outputDir = path.join(this.outputPath, 'bundles');
|
||||
const outputDir = path.join(this.outputPath, 'teams');
|
||||
|
||||
// Create agent-config.txt
|
||||
const agentConfigContent = yaml.dump({
|
||||
@@ -368,7 +368,7 @@ class WebBuilder {
|
||||
*/
|
||||
ensureOutputDirectory() {
|
||||
this.ensureDirectory(this.outputPath);
|
||||
this.ensureDirectory(path.join(this.outputPath, 'bundles'));
|
||||
this.ensureDirectory(path.join(this.outputPath, 'teams'));
|
||||
this.ensureDirectory(path.join(this.outputPath, 'agents'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user