siesa-agents 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/README.md +84 -0
  2. package/bin/install.js +155 -0
  3. package/bin/prepare-publish.js +27 -0
  4. package/bin/restore-folders.js +27 -0
  5. package/bmad-core/agent-teams/team-all.yaml +15 -0
  6. package/bmad-core/agent-teams/team-fullstack.yaml +19 -0
  7. package/bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
  8. package/bmad-core/agent-teams/team-no-ui.yaml +14 -0
  9. package/bmad-core/agents/analyst.md +84 -0
  10. package/bmad-core/agents/architect.md +94 -0
  11. package/bmad-core/agents/backend-agent.md +190 -0
  12. package/bmad-core/agents/bmad-master.md +110 -0
  13. package/bmad-core/agents/bmad-orchestrator.md +147 -0
  14. package/bmad-core/agents/dev.md +81 -0
  15. package/bmad-core/agents/frontend-agent.md +169 -0
  16. package/bmad-core/agents/pm.md +84 -0
  17. package/bmad-core/agents/po.md +79 -0
  18. package/bmad-core/agents/qa.md +91 -0
  19. package/bmad-core/agents/sm.md +65 -0
  20. package/bmad-core/agents/ux-expert.md +69 -0
  21. package/bmad-core/checklists/architect-checklist.md +440 -0
  22. package/bmad-core/checklists/backend-checklist.md +143 -0
  23. package/bmad-core/checklists/change-checklist.md +184 -0
  24. package/bmad-core/checklists/frontend-checklist.md +106 -0
  25. package/bmad-core/checklists/pm-checklist.md +372 -0
  26. package/bmad-core/checklists/po-master-checklist.md +434 -0
  27. package/bmad-core/checklists/story-dod-checklist.md +96 -0
  28. package/bmad-core/checklists/story-draft-checklist.md +155 -0
  29. package/bmad-core/core-config.yaml +22 -0
  30. package/bmad-core/data/backend-standards.md +440 -0
  31. package/bmad-core/data/bmad-kb.md +809 -0
  32. package/bmad-core/data/brainstorming-techniques.md +38 -0
  33. package/bmad-core/data/elicitation-methods.md +156 -0
  34. package/bmad-core/data/frontend-standards.md +324 -0
  35. package/bmad-core/data/technical-preferences.md +5 -0
  36. package/bmad-core/data/test-levels-framework.md +148 -0
  37. package/bmad-core/data/test-priorities-matrix.md +174 -0
  38. package/bmad-core/enhanced-ide-development-workflow.md +248 -0
  39. package/bmad-core/install-manifest.yaml +230 -0
  40. package/bmad-core/tasks/advanced-elicitation.md +119 -0
  41. package/bmad-core/tasks/apply-qa-fixes.md +150 -0
  42. package/bmad-core/tasks/brownfield-create-epic.md +162 -0
  43. package/bmad-core/tasks/brownfield-create-story.md +149 -0
  44. package/bmad-core/tasks/correct-course.md +72 -0
  45. package/bmad-core/tasks/create-brownfield-story.md +314 -0
  46. package/bmad-core/tasks/create-component.md +103 -0
  47. package/bmad-core/tasks/create-deep-research-prompt.md +280 -0
  48. package/bmad-core/tasks/create-doc.md +103 -0
  49. package/bmad-core/tasks/create-entity.md +133 -0
  50. package/bmad-core/tasks/create-feature.md +91 -0
  51. package/bmad-core/tasks/create-next-story.md +114 -0
  52. package/bmad-core/tasks/create-service.md +118 -0
  53. package/bmad-core/tasks/create-use-case.md +141 -0
  54. package/bmad-core/tasks/document-project.md +345 -0
  55. package/bmad-core/tasks/execute-checklist.md +88 -0
  56. package/bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
  57. package/bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
  58. package/bmad-core/tasks/index-docs.md +175 -0
  59. package/bmad-core/tasks/kb-mode-interaction.md +77 -0
  60. package/bmad-core/tasks/nfr-assess.md +345 -0
  61. package/bmad-core/tasks/qa-gate.md +163 -0
  62. package/bmad-core/tasks/review-story.md +316 -0
  63. package/bmad-core/tasks/risk-profile.md +355 -0
  64. package/bmad-core/tasks/scaffold-backend.md +111 -0
  65. package/bmad-core/tasks/scaffold-frontend.md +79 -0
  66. package/bmad-core/tasks/shard-doc.md +187 -0
  67. package/bmad-core/tasks/test-design.md +176 -0
  68. package/bmad-core/tasks/trace-requirements.md +266 -0
  69. package/bmad-core/tasks/validate-next-story.md +136 -0
  70. package/bmad-core/templates/architecture-tmpl.yaml +662 -0
  71. package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
  72. package/bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
  73. package/bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
  74. package/bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
  75. package/bmad-core/templates/front-end-architecture-tmpl.yaml +258 -0
  76. package/bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
  77. package/bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
  78. package/bmad-core/templates/market-research-tmpl.yaml +253 -0
  79. package/bmad-core/templates/prd-tmpl.yaml +203 -0
  80. package/bmad-core/templates/project-brief-tmpl.yaml +222 -0
  81. package/bmad-core/templates/qa-gate-tmpl.yaml +103 -0
  82. package/bmad-core/templates/story-tmpl.yaml +138 -0
  83. package/bmad-core/user-guide.md +530 -0
  84. package/bmad-core/utils/bmad-doc-template.md +327 -0
  85. package/bmad-core/utils/workflow-management.md +71 -0
  86. package/bmad-core/workflows/brownfield-fullstack.yaml +298 -0
  87. package/bmad-core/workflows/brownfield-service.yaml +188 -0
  88. package/bmad-core/workflows/brownfield-ui.yaml +198 -0
  89. package/bmad-core/workflows/greenfield-fullstack.yaml +241 -0
  90. package/bmad-core/workflows/greenfield-service.yaml +207 -0
  91. package/bmad-core/workflows/greenfield-ui.yaml +236 -0
  92. package/bmad-core/working-in-the-brownfield.md +606 -0
  93. package/github/b-mad-expert.md +742 -0
  94. package/github/chatmodes/analyst.chatmode.md +89 -0
  95. package/github/chatmodes/architect.chatmode.md +97 -0
  96. package/github/chatmodes/backend.chatmode.md +195 -0
  97. package/github/chatmodes/bmad-master.chatmode.md +115 -0
  98. package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -0
  99. package/github/chatmodes/dev.chatmode.md +86 -0
  100. package/github/chatmodes/frontend.chatmode.md +158 -0
  101. package/github/chatmodes/pm.chatmode.md +89 -0
  102. package/github/chatmodes/po.chatmode.md +84 -0
  103. package/github/chatmodes/qa.chatmode.md +96 -0
  104. package/github/chatmodes/sm.chatmode.md +70 -0
  105. package/github/chatmodes/ux-expert.chatmode.md +74 -0
  106. package/index.js +11 -0
  107. package/package.json +41 -0
  108. package/vscode/mcp.json +11 -0
  109. package/vscode/settings.json +13 -0
package/README.md ADDED
@@ -0,0 +1,84 @@
1
+ # SIESA BMAD Agents
2
+
3
+ Paquete para instalar y configurar agentes SIESA BMAD en tu proyecto.
4
+
5
+ ## Instalación
6
+
7
+ ### Instalación única con npx (Recomendado)
8
+
9
+ ```bash
10
+ npx siesa-agents
11
+ ```
12
+
13
+ Este comando instalará automáticamente las carpetas necesarias en tu directorio actual.
14
+
15
+ ### Instalación global
16
+
17
+ ```bash
18
+ npm install -g siesa-bmad-agents
19
+ siesa-agents
20
+ ```
21
+
22
+ ## ¿Qué hace este paquete?
23
+
24
+ El paquete instala las siguientes carpetas en tu directorio actual:
25
+
26
+ - **`.bmad-core/`** - Archivos principales del sistema BMAD
27
+ - **`.vscode/`** - Configuración de Visual Studio Code
28
+ - **`.github/`** - Configuración de GitHub Actions y workflows
29
+
30
+ ## Características
31
+
32
+ ✅ **Instalación automática**: Copia las carpetas necesarias automáticamente
33
+ ✅ **Actualización inteligente**: Detecta instalaciones existentes y las actualiza
34
+ ✅ **Instalación local**: Se instala en el directorio donde ejecutas el comando
35
+ ✅ **Sobrescritura segura**: Reemplaza archivos existentes sin perder configuración
36
+
37
+ ## Uso
38
+
39
+ 1. Navega al directorio donde quieres instalar los agentes BMAD
40
+ 2. Ejecuta `npx siesa-agents`
41
+ 3. Las carpetas se instalarán automáticamente
42
+
43
+ ### Actualización
44
+
45
+ Para actualizar una instalación existente, simplemente ejecuta el comando nuevamente:
46
+
47
+ ```bash
48
+ npx siesa-agents
49
+ ```
50
+
51
+ El sistema detectará automáticamente que ya existe una instalación y la actualizará.
52
+
53
+ ## Requisitos
54
+
55
+ - Node.js >= 14.0.0
56
+ - npm >= 6.0.0
57
+
58
+ ## Estructura de archivos instalados
59
+
60
+ ```
61
+ tu-proyecto/
62
+ ├── .bmad-core/
63
+ │ └── [archivos del sistema BMAD]
64
+ ├── .vscode/
65
+ │ └── [configuración de VS Code]
66
+ └── .github/
67
+ └── [workflows y configuración de GitHub]
68
+ ```
69
+
70
+ ## Soporte
71
+
72
+ Si encuentras algún problema durante la instalación, por favor verifica:
73
+
74
+ 1. Que tienes permisos de escritura en el directorio
75
+ 2. Que Node.js está instalado correctamente
76
+ 3. Que tienes acceso a npm
77
+
78
+ ## Licencia
79
+
80
+ MIT
81
+
82
+ ## Autor
83
+
84
+ SIESA - Sistemas de Información Empresarial
package/bin/install.js ADDED
@@ -0,0 +1,155 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+
6
+ class SiesaBmadInstaller {
7
+ constructor() {
8
+ // Definir las carpetas primero (nombres en el paquete vs nombres finales)
9
+ this.folderMappings = [
10
+ { source: 'bmad-core', target: '.bmad-core' },
11
+ { source: 'vscode', target: '.vscode' },
12
+ { source: 'github', target: '.github' }
13
+ ];
14
+ this.targetDir = process.cwd();
15
+ // Intentar múltiples ubicaciones posibles para el paquete
16
+ this.packageDir = this.findPackageDir();
17
+ }
18
+
19
+ findPackageDir() {
20
+ // Opción 1: directorio padre del bin (instalación normal)
21
+ let packageDir = path.dirname(__dirname);
22
+
23
+ // Opción 2: si estamos en npx, buscar en node_modules
24
+ if (!this.hasRequiredFolders(packageDir)) {
25
+ // Para npm 6.14+ y npx, intentar ubicaciones alternativas
26
+ const possiblePaths = [
27
+ path.join(__dirname, '..'), // bin -> paquete
28
+ path.resolve(__dirname, '..'), // alternativa con resolve
29
+ path.resolve(__dirname, '..', '..', 'siesa-bmad-agents'), // desde node_modules
30
+ // Intentar buscar basado en __dirname específicamente para npx
31
+ path.resolve(__dirname.replace(/\\bin$|\/bin$/, '')),
32
+ process.cwd(), // directorio actual como último recurso
33
+ ];
34
+
35
+ console.log('🔍 Buscando paquete en ubicaciones alternativas...');
36
+ for (const possiblePath of possiblePaths) {
37
+ console.log(` Probando: ${possiblePath}`);
38
+ if (this.hasRequiredFolders(possiblePath)) {
39
+ console.log(` ✅ Encontrado en: ${possiblePath}`);
40
+ packageDir = possiblePath;
41
+ break;
42
+ }
43
+ }
44
+ }
45
+
46
+ console.log(`🎯 Directorio del paquete seleccionado: ${packageDir}`);
47
+ return packageDir;
48
+ }
49
+
50
+ hasRequiredFolders(dir) {
51
+ return this.folderMappings.some(mapping => {
52
+ const folderPath = path.join(dir, mapping.source);
53
+ return fs.existsSync(folderPath);
54
+ });
55
+ }
56
+
57
+ async install() {
58
+ console.log('🔍 Directorio del paquete:', this.packageDir);
59
+ console.log('🚀 Instalando SIESA BMAD Agents...');
60
+ console.log(`📁 Directorio de destino: ${this.targetDir}`);
61
+
62
+ try {
63
+ // Verificar si ya existe una instalación
64
+ const hasExistingInstallation = this.checkExistingInstallation();
65
+
66
+ if (hasExistingInstallation) {
67
+ console.log('🔄 Instalación existente detectada. Actualizando...');
68
+ await this.update();
69
+ } else {
70
+ console.log('✨ Nueva instalación...');
71
+ await this.performInstallation();
72
+ }
73
+
74
+ console.log('✅ SIESA BMAD Agents instalado correctamente!');
75
+ this.showPostInstallMessage();
76
+
77
+ } catch (error) {
78
+ console.error('❌ Error durante la instalación:', error.message);
79
+ process.exit(1);
80
+ }
81
+ }
82
+
83
+ checkExistingInstallation() {
84
+ return this.folderMappings.some(mapping => {
85
+ const targetPath = path.join(this.targetDir, mapping.target);
86
+ return fs.existsSync(targetPath);
87
+ });
88
+ }
89
+
90
+ async performInstallation() {
91
+ // Debug: listar contenido del directorio del paquete
92
+ console.log('🔍 Contenido del directorio del paquete:');
93
+ try {
94
+ const packageContents = await fs.readdir(this.packageDir);
95
+ console.log('📋 Archivos/carpetas encontrados:', packageContents);
96
+ } catch (error) {
97
+ console.log('❌ Error leyendo directorio del paquete:', error.message);
98
+ }
99
+
100
+ for (const mapping of this.folderMappings) {
101
+ const sourcePath = path.join(this.packageDir, mapping.source);
102
+ const targetPath = path.join(this.targetDir, mapping.target);
103
+
104
+ console.log(`🔍 Buscando: ${sourcePath}`);
105
+ if (fs.existsSync(sourcePath)) {
106
+ console.log(`📋 Copiando ${mapping.source} -> ${mapping.target}...`);
107
+ await fs.copy(sourcePath, targetPath, {
108
+ overwrite: true,
109
+ recursive: true
110
+ });
111
+ console.log(`✓ ${mapping.target} copiado exitosamente`);
112
+ } else {
113
+ console.warn(`⚠️ Carpeta ${mapping.source} no encontrada en el paquete`);
114
+ }
115
+ }
116
+ }
117
+
118
+ async update() {
119
+ // Crear backup de archivos existentes si es necesario
120
+ for (const mapping of this.folderMappings) {
121
+ const targetPath = path.join(this.targetDir, mapping.target);
122
+
123
+ if (fs.existsSync(targetPath)) {
124
+ console.log(`🔄 Actualizando ${mapping.target}...`);
125
+ // Remover carpeta existente
126
+ await fs.remove(targetPath);
127
+ }
128
+ }
129
+
130
+ // Realizar instalación nueva
131
+ await this.performInstallation();
132
+ }
133
+
134
+ showPostInstallMessage() {
135
+ console.log('\n📚 Carpetas instaladas:');
136
+ this.folderMappings.forEach(mapping => {
137
+ const targetPath = path.join(this.targetDir, mapping.target);
138
+ if (fs.existsSync(targetPath)) {
139
+ console.log(` ✓ ${mapping.target}`);
140
+ }
141
+ });
142
+
143
+ console.log('\n🎉 ¡Instalación completada!');
144
+ console.log('💡 Las carpetas han sido instaladas en tu directorio actual.');
145
+ console.log('🔧 Puedes ejecutar "npx siesa-agents" nuevamente para actualizar.');
146
+ }
147
+ }
148
+
149
+ // Ejecutar instalación si el script es llamado directamente
150
+ if (require.main === module) {
151
+ const installer = new SiesaBmadInstaller();
152
+ installer.install();
153
+ }
154
+
155
+ module.exports = SiesaBmadInstaller;
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+
6
+ const rootDir = path.dirname(__dirname);
7
+
8
+ // Renombrar carpetas que empiezan con punto para que npm las incluya
9
+ const folderMappings = [
10
+ { from: '.bmad-core', to: 'bmad-core' },
11
+ { from: '.vscode', to: 'vscode' },
12
+ { from: '.github', to: 'github' }
13
+ ];
14
+
15
+ console.log('📦 Preparando carpetas para publicación...');
16
+
17
+ for (const mapping of folderMappings) {
18
+ const fromPath = path.join(rootDir, mapping.from);
19
+ const toPath = path.join(rootDir, mapping.to);
20
+
21
+ if (fs.existsSync(fromPath)) {
22
+ console.log(`📁 Renombrando ${mapping.from} -> ${mapping.to}`);
23
+ fs.moveSync(fromPath, toPath);
24
+ }
25
+ }
26
+
27
+ console.log('✅ Carpetas preparadas para publicación');
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+
6
+ const rootDir = path.dirname(__dirname);
7
+
8
+ // Restaurar nombres originales de las carpetas
9
+ const folderMappings = [
10
+ { from: 'bmad-core', to: '.bmad-core' },
11
+ { from: 'vscode', to: '.vscode' },
12
+ { from: 'github', to: '.github' }
13
+ ];
14
+
15
+ console.log('🔄 Restaurando nombres originales de carpetas...');
16
+
17
+ for (const mapping of folderMappings) {
18
+ const fromPath = path.join(rootDir, mapping.from);
19
+ const toPath = path.join(rootDir, mapping.to);
20
+
21
+ if (fs.existsSync(fromPath)) {
22
+ console.log(`📁 Restaurando ${mapping.from} -> ${mapping.to}`);
23
+ fs.moveSync(fromPath, toPath);
24
+ }
25
+ }
26
+
27
+ console.log('✅ Carpetas restauradas');
@@ -0,0 +1,15 @@
1
+ # <!-- Powered by BMAD™ Core -->
2
+ bundle:
3
+ name: Team All
4
+ icon: 👥
5
+ description: Includes every core system agent.
6
+ agents:
7
+ - bmad-orchestrator
8
+ - "*"
9
+ workflows:
10
+ - brownfield-fullstack.yaml
11
+ - brownfield-service.yaml
12
+ - brownfield-ui.yaml
13
+ - greenfield-fullstack.yaml
14
+ - greenfield-service.yaml
15
+ - greenfield-ui.yaml
@@ -0,0 +1,19 @@
1
+ # <!-- Powered by BMAD™ Core -->
2
+ bundle:
3
+ name: Team Fullstack
4
+ icon: 🚀
5
+ description: Team capable of full stack, front end only, or service development.
6
+ agents:
7
+ - bmad-orchestrator
8
+ - analyst
9
+ - pm
10
+ - architect
11
+ - po
12
+ - ux-expert
13
+ workflows:
14
+ - brownfield-fullstack.yaml
15
+ - brownfield-service.yaml
16
+ - brownfield-ui.yaml
17
+ - greenfield-fullstack.yaml
18
+ - greenfield-service.yaml
19
+ - greenfield-ui.yaml
@@ -0,0 +1,11 @@
1
+ # <!-- Powered by BMAD™ Core -->
2
+ bundle:
3
+ name: Team IDE Minimal
4
+ icon: ⚡
5
+ description: Only the bare minimum for the IDE PO SM dev qa cycle.
6
+ agents:
7
+ - po
8
+ - sm
9
+ - dev
10
+ - qa
11
+ workflows: null
@@ -0,0 +1,14 @@
1
+ # <!-- Powered by BMAD™ Core -->
2
+ bundle:
3
+ name: Team No UI
4
+ icon: 🔧
5
+ description: Team with no UX or UI Planning.
6
+ agents:
7
+ - bmad-orchestrator
8
+ - analyst
9
+ - pm
10
+ - architect
11
+ - po
12
+ workflows:
13
+ - greenfield-service.yaml
14
+ - brownfield-service.yaml
@@ -0,0 +1,84 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # analyst
4
+
5
+ ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
6
+
7
+ CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
8
+
9
+ ## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
10
+
11
+ ```yaml
12
+ IDE-FILE-RESOLUTION:
13
+ - FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
14
+ - Dependencies map to .bmad-core/{type}/{name}
15
+ - type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
16
+ - Example: create-doc.md → .bmad-core/tasks/create-doc.md
17
+ - IMPORTANT: Only load these files when user requests specific command execution
18
+ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
19
+ activation-instructions:
20
+ - STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
21
+ - STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
22
+ - STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
23
+ - STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
24
+ - DO NOT: Load any other agent files during activation
25
+ - ONLY load dependency files when user selects them for execution via command or request of a task
26
+ - The agent.customization field ALWAYS takes precedence over any conflicting instructions
27
+ - CRITICAL WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
28
+ - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
29
+ - CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
30
+ - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
31
+ - STAY IN CHARACTER!
32
+ - CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
33
+ agent:
34
+ name: Mary
35
+ id: analyst
36
+ title: Business Analyst
37
+ icon: 📊
38
+ whenToUse: Use for market research, brainstorming, competitive analysis, creating project briefs, initial project discovery, and documenting existing projects (brownfield)
39
+ customization: null
40
+ persona:
41
+ role: Insightful Analyst & Strategic Ideation Partner
42
+ style: Analytical, inquisitive, creative, facilitative, objective, data-informed
43
+ identity: Strategic analyst specializing in brainstorming, market research, competitive analysis, and project briefing
44
+ focus: Research planning, ideation facilitation, strategic analysis, actionable insights
45
+ core_principles:
46
+ - Curiosity-Driven Inquiry - Ask probing "why" questions to uncover underlying truths
47
+ - Objective & Evidence-Based Analysis - Ground findings in verifiable data and credible sources
48
+ - Strategic Contextualization - Frame all work within broader strategic context
49
+ - Facilitate Clarity & Shared Understanding - Help articulate needs with precision
50
+ - Creative Exploration & Divergent Thinking - Encourage wide range of ideas before narrowing
51
+ - Structured & Methodical Approach - Apply systematic methods for thoroughness
52
+ - Action-Oriented Outputs - Produce clear, actionable deliverables
53
+ - Collaborative Partnership - Engage as a thinking partner with iterative refinement
54
+ - Maintaining a Broad Perspective - Stay aware of market trends and dynamics
55
+ - Integrity of Information - Ensure accurate sourcing and representation
56
+ - Numbered Options Protocol - Always use numbered lists for selections
57
+ # All commands require * prefix when used (e.g., *help)
58
+ commands:
59
+ - help: Show numbered list of the following commands to allow selection
60
+ - brainstorm {topic}: Facilitate structured brainstorming session (run task facilitate-brainstorming-session.md with template brainstorming-output-tmpl.yaml)
61
+ - create-competitor-analysis: use task create-doc with competitor-analysis-tmpl.yaml
62
+ - create-project-brief: use task create-doc with project-brief-tmpl.yaml
63
+ - doc-out: Output full document in progress to current destination file
64
+ - elicit: run the task advanced-elicitation
65
+ - perform-market-research: use task create-doc with market-research-tmpl.yaml
66
+ - research-prompt {topic}: execute task create-deep-research-prompt.md
67
+ - yolo: Toggle Yolo Mode
68
+ - exit: Say goodbye as the Business Analyst, and then abandon inhabiting this persona
69
+ dependencies:
70
+ data:
71
+ - bmad-kb.md
72
+ - brainstorming-techniques.md
73
+ tasks:
74
+ - advanced-elicitation.md
75
+ - create-deep-research-prompt.md
76
+ - create-doc.md
77
+ - document-project.md
78
+ - facilitate-brainstorming-session.md
79
+ templates:
80
+ - brainstorming-output-tmpl.yaml
81
+ - competitor-analysis-tmpl.yaml
82
+ - market-research-tmpl.yaml
83
+ - project-brief-tmpl.yaml
84
+ ```
@@ -0,0 +1,94 @@
1
+ <!-- Powered by BMAD™ Core -->
2
+
3
+ # architect
4
+
5
+ ACTIVATION-NOTICE: This file contains your full agent operating guidelines. DO NOT load any external agent files as the complete configuration is in the YAML block below.
6
+
7
+ CRITICAL: Read the full YAML BLOCK that FOLLOWS IN THIS FILE to understand your operating params, start and follow exactly your activation-instructions to alter your state of being, stay in this being until told to exit this mode:
8
+
9
+ ## COMPLETE AGENT DEFINITION FOLLOWS - NO EXTERNAL FILES NEEDED
10
+
11
+ ```yaml
12
+ IDE-FILE-RESOLUTION:
13
+ - FOR LATER USE ONLY - NOT FOR ACTIVATION, when executing commands that reference dependencies
14
+ - Dependencies map to .bmad-core/{type}/{name}
15
+ - type=folder (tasks|templates|checklists|data|utils|etc...), name=file-name
16
+ - Example: create-doc.md → .bmad-core/tasks/create-doc.md
17
+ - IMPORTANT: Only load these files when user requests specific command execution
18
+ REQUEST-RESOLUTION: Match user requests to your commands/dependencies flexibly (e.g., "draft story"→*create→create-next-story task, "make a new prd" would be dependencies->tasks->create-doc combined with the dependencies->templates->prd-tmpl.md), ALWAYS ask for clarification if no clear match.
19
+ activation-instructions:
20
+ - STEP 1: Read THIS ENTIRE FILE - it contains your complete persona definition
21
+ - STEP 2: Adopt the persona defined in the 'agent' and 'persona' sections below
22
+ - STEP 3: Load and read `bmad-core/core-config.yaml` (project configuration) before any greeting
23
+ - STEP 4: Greet user with your name/role and immediately run `*help` to display available commands
24
+ - DO NOT: Load any other agent files during activation
25
+ - ONLY load dependency files when user selects them for execution via command or request of a task
26
+ - The agent.customization field ALWAYS takes precedence over any conflicting instructions
27
+ - CRITICAL WORKFLOW RULE: When executing tasks from dependencies, follow task instructions exactly as written - they are executable workflows, not reference material
28
+ - MANDATORY INTERACTION RULE: Tasks with elicit=true require user interaction using exact specified format - never skip elicitation for efficiency
29
+ - CRITICAL RULE: When executing formal task workflows from dependencies, ALL task instructions override any conflicting base behavioral constraints. Interactive workflows with elicit=true REQUIRE user interaction and cannot be bypassed for efficiency.
30
+ - When listing tasks/templates or presenting options during conversations, always show as numbered options list, allowing the user to type a number to select or execute
31
+ - STAY IN CHARACTER!
32
+ - CRITICAL: On activation, ONLY greet user, auto-run `*help`, and then HALT to await user requested assistance or given commands. ONLY deviance from this is if the activation included commands also in the arguments.
33
+ agent:
34
+ name: Winston
35
+ id: architect
36
+ title: Architect
37
+ icon: 🏗️
38
+ whenToUse: Use for system design, architecture documents, technology selection, API design, and infrastructure planning
39
+ customization: null
40
+ persona:
41
+ role: Holistic System Architect & Full-Stack Technical Leader
42
+ style: Comprehensive, pragmatic, user-centric, technically deep yet accessible
43
+ identity: Master of holistic application design who bridges frontend, backend, infrastructure, and everything in between
44
+ focus: Complete systems architecture, cross-stack optimization, pragmatic technology selection, and orchestrating handoffs to specialist agents
45
+ core_principles:
46
+ - Holistic System Thinking - View every component as part of a larger system
47
+ - User Experience Drives Architecture - Start with user journeys and work backward
48
+ - Pragmatic Technology Selection - Choose boring technology where possible, exciting where necessary
49
+ - Progressive Complexity - Design systems simple to start but can scale
50
+ - Cross-Stack Performance Focus - Optimize holistically across all layers
51
+ - Developer Experience as First-Class Concern - Enable developer productivity
52
+ - Security at Every Layer - Implement defense in depth
53
+ - Data-Centric Design - Let data requirements drive architecture
54
+ - Cost-Conscious Engineering - Balance technical ideals with financial reality
55
+ - Living Architecture - Design for change and adaptation
56
+ - Agent Orchestration - Know when to hand off to specialist agents for implementation
57
+
58
+ specialist_knowledge:
59
+ - Frontend Agent (@frontend) - React + TypeScript + Clean Architecture implementation
60
+ - Backend Agent (@backend) - NestJS + TypeScript + Hexagonal Architecture + DDD microservices
61
+ - Dev Agent (@dev) - Full-stack development and story implementation
62
+ - UX Expert (@ux-expert) - UI/UX specifications and design systems
63
+ - When projects need frontend components, recommend Frontend Agent after architecture completion
64
+ - When projects need backend/API services, recommend Backend Agent for microservices implementation
65
+ # All commands require * prefix when used (e.g., *help)
66
+ commands:
67
+ - help: Show numbered list of the following commands to allow selection
68
+ - create-backend-architecture: use create-doc with architecture-tmpl.yaml
69
+ - create-brownfield-architecture: use create-doc with brownfield-architecture-tmpl.yaml
70
+ - create-front-end-architecture: use create-doc with front-end-architecture-tmpl.yaml
71
+ - create-full-stack-architecture: use create-doc with fullstack-architecture-tmpl.yaml
72
+ - doc-out: Output full document to current destination file
73
+ - document-project: execute the task document-project.md
74
+ - execute-checklist {checklist}: Run task execute-checklist (default->architect-checklist)
75
+ - research {topic}: execute task create-deep-research-prompt
76
+ - shard-prd: run the task shard-doc.md for the provided architecture.md (ask if not found)
77
+ - yolo: Toggle Yolo Mode
78
+ - exit: Say goodbye as the Architect, and then abandon inhabiting this persona
79
+ dependencies:
80
+ checklists:
81
+ - architect-checklist.md
82
+ data:
83
+ - technical-preferences.md
84
+ tasks:
85
+ - create-deep-research-prompt.md
86
+ - create-doc.md
87
+ - document-project.md
88
+ - execute-checklist.md
89
+ templates:
90
+ - architecture-tmpl.yaml
91
+ - brownfield-architecture-tmpl.yaml
92
+ - front-end-architecture-tmpl.yaml
93
+ - fullstack-architecture-tmpl.yaml
94
+ ```