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.
- package/README.md +84 -0
- package/bin/install.js +155 -0
- package/bin/prepare-publish.js +27 -0
- package/bin/restore-folders.js +27 -0
- package/bmad-core/agent-teams/team-all.yaml +15 -0
- package/bmad-core/agent-teams/team-fullstack.yaml +19 -0
- package/bmad-core/agent-teams/team-ide-minimal.yaml +11 -0
- package/bmad-core/agent-teams/team-no-ui.yaml +14 -0
- package/bmad-core/agents/analyst.md +84 -0
- package/bmad-core/agents/architect.md +94 -0
- package/bmad-core/agents/backend-agent.md +190 -0
- package/bmad-core/agents/bmad-master.md +110 -0
- package/bmad-core/agents/bmad-orchestrator.md +147 -0
- package/bmad-core/agents/dev.md +81 -0
- package/bmad-core/agents/frontend-agent.md +169 -0
- package/bmad-core/agents/pm.md +84 -0
- package/bmad-core/agents/po.md +79 -0
- package/bmad-core/agents/qa.md +91 -0
- package/bmad-core/agents/sm.md +65 -0
- package/bmad-core/agents/ux-expert.md +69 -0
- package/bmad-core/checklists/architect-checklist.md +440 -0
- package/bmad-core/checklists/backend-checklist.md +143 -0
- package/bmad-core/checklists/change-checklist.md +184 -0
- package/bmad-core/checklists/frontend-checklist.md +106 -0
- package/bmad-core/checklists/pm-checklist.md +372 -0
- package/bmad-core/checklists/po-master-checklist.md +434 -0
- package/bmad-core/checklists/story-dod-checklist.md +96 -0
- package/bmad-core/checklists/story-draft-checklist.md +155 -0
- package/bmad-core/core-config.yaml +22 -0
- package/bmad-core/data/backend-standards.md +440 -0
- package/bmad-core/data/bmad-kb.md +809 -0
- package/bmad-core/data/brainstorming-techniques.md +38 -0
- package/bmad-core/data/elicitation-methods.md +156 -0
- package/bmad-core/data/frontend-standards.md +324 -0
- package/bmad-core/data/technical-preferences.md +5 -0
- package/bmad-core/data/test-levels-framework.md +148 -0
- package/bmad-core/data/test-priorities-matrix.md +174 -0
- package/bmad-core/enhanced-ide-development-workflow.md +248 -0
- package/bmad-core/install-manifest.yaml +230 -0
- package/bmad-core/tasks/advanced-elicitation.md +119 -0
- package/bmad-core/tasks/apply-qa-fixes.md +150 -0
- package/bmad-core/tasks/brownfield-create-epic.md +162 -0
- package/bmad-core/tasks/brownfield-create-story.md +149 -0
- package/bmad-core/tasks/correct-course.md +72 -0
- package/bmad-core/tasks/create-brownfield-story.md +314 -0
- package/bmad-core/tasks/create-component.md +103 -0
- package/bmad-core/tasks/create-deep-research-prompt.md +280 -0
- package/bmad-core/tasks/create-doc.md +103 -0
- package/bmad-core/tasks/create-entity.md +133 -0
- package/bmad-core/tasks/create-feature.md +91 -0
- package/bmad-core/tasks/create-next-story.md +114 -0
- package/bmad-core/tasks/create-service.md +118 -0
- package/bmad-core/tasks/create-use-case.md +141 -0
- package/bmad-core/tasks/document-project.md +345 -0
- package/bmad-core/tasks/execute-checklist.md +88 -0
- package/bmad-core/tasks/facilitate-brainstorming-session.md +138 -0
- package/bmad-core/tasks/generate-ai-frontend-prompt.md +53 -0
- package/bmad-core/tasks/index-docs.md +175 -0
- package/bmad-core/tasks/kb-mode-interaction.md +77 -0
- package/bmad-core/tasks/nfr-assess.md +345 -0
- package/bmad-core/tasks/qa-gate.md +163 -0
- package/bmad-core/tasks/review-story.md +316 -0
- package/bmad-core/tasks/risk-profile.md +355 -0
- package/bmad-core/tasks/scaffold-backend.md +111 -0
- package/bmad-core/tasks/scaffold-frontend.md +79 -0
- package/bmad-core/tasks/shard-doc.md +187 -0
- package/bmad-core/tasks/test-design.md +176 -0
- package/bmad-core/tasks/trace-requirements.md +266 -0
- package/bmad-core/tasks/validate-next-story.md +136 -0
- package/bmad-core/templates/architecture-tmpl.yaml +662 -0
- package/bmad-core/templates/brainstorming-output-tmpl.yaml +156 -0
- package/bmad-core/templates/brownfield-architecture-tmpl.yaml +477 -0
- package/bmad-core/templates/brownfield-prd-tmpl.yaml +281 -0
- package/bmad-core/templates/competitor-analysis-tmpl.yaml +307 -0
- package/bmad-core/templates/front-end-architecture-tmpl.yaml +258 -0
- package/bmad-core/templates/front-end-spec-tmpl.yaml +350 -0
- package/bmad-core/templates/fullstack-architecture-tmpl.yaml +824 -0
- package/bmad-core/templates/market-research-tmpl.yaml +253 -0
- package/bmad-core/templates/prd-tmpl.yaml +203 -0
- package/bmad-core/templates/project-brief-tmpl.yaml +222 -0
- package/bmad-core/templates/qa-gate-tmpl.yaml +103 -0
- package/bmad-core/templates/story-tmpl.yaml +138 -0
- package/bmad-core/user-guide.md +530 -0
- package/bmad-core/utils/bmad-doc-template.md +327 -0
- package/bmad-core/utils/workflow-management.md +71 -0
- package/bmad-core/workflows/brownfield-fullstack.yaml +298 -0
- package/bmad-core/workflows/brownfield-service.yaml +188 -0
- package/bmad-core/workflows/brownfield-ui.yaml +198 -0
- package/bmad-core/workflows/greenfield-fullstack.yaml +241 -0
- package/bmad-core/workflows/greenfield-service.yaml +207 -0
- package/bmad-core/workflows/greenfield-ui.yaml +236 -0
- package/bmad-core/working-in-the-brownfield.md +606 -0
- package/github/b-mad-expert.md +742 -0
- package/github/chatmodes/analyst.chatmode.md +89 -0
- package/github/chatmodes/architect.chatmode.md +97 -0
- package/github/chatmodes/backend.chatmode.md +195 -0
- package/github/chatmodes/bmad-master.chatmode.md +115 -0
- package/github/chatmodes/bmad-orchestrator.chatmode.md +152 -0
- package/github/chatmodes/dev.chatmode.md +86 -0
- package/github/chatmodes/frontend.chatmode.md +158 -0
- package/github/chatmodes/pm.chatmode.md +89 -0
- package/github/chatmodes/po.chatmode.md +84 -0
- package/github/chatmodes/qa.chatmode.md +96 -0
- package/github/chatmodes/sm.chatmode.md +70 -0
- package/github/chatmodes/ux-expert.chatmode.md +74 -0
- package/index.js +11 -0
- package/package.json +41 -0
- package/vscode/mcp.json +11 -0
- 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,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
|
+
```
|