siesa-agents 2.1.24 → 2.1.25
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/bin/install.js +14 -13
- package/kiro/README.md +13 -0
- package/kiro/steering/agent-detection.md +46 -0
- package/package.json +2 -1
package/bin/install.js
CHANGED
|
@@ -12,6 +12,7 @@ class SiesaBmadInstaller {
|
|
|
12
12
|
{ source: 'vscode', target: '.vscode' },
|
|
13
13
|
{ source: 'github', target: '.github' },
|
|
14
14
|
{ source: 'claude', target: '.claude' },
|
|
15
|
+
{ source: 'kiro', target: '.kiro' },
|
|
15
16
|
{ source: 'resources', target: '.resources' }
|
|
16
17
|
];
|
|
17
18
|
|
|
@@ -80,7 +81,7 @@ class SiesaBmadInstaller {
|
|
|
80
81
|
try {
|
|
81
82
|
// Verificar si ya existe una instalación
|
|
82
83
|
const hasExistingInstallation = this.checkExistingInstallation();
|
|
83
|
-
|
|
84
|
+
|
|
84
85
|
if (hasExistingInstallation) {
|
|
85
86
|
console.log('🔄 Instalación existente detectada. Actualizando...');
|
|
86
87
|
await this.update();
|
|
@@ -233,11 +234,11 @@ class SiesaBmadInstaller {
|
|
|
233
234
|
|
|
234
235
|
try {
|
|
235
236
|
await fs.copy(originalPath, backupPath);
|
|
236
|
-
|
|
237
|
+
|
|
237
238
|
// Determinar tipo de backup para mostrar mensaje apropiado
|
|
238
239
|
const backupName = path.basename(backupPath);
|
|
239
240
|
const isVersionedBackup = backupName.includes('_bk_');
|
|
240
|
-
|
|
241
|
+
|
|
241
242
|
if (isVersionedBackup) {
|
|
242
243
|
console.log(`✓ Backup versionado: ${path.relative(this.targetDir, backupPath)}`);
|
|
243
244
|
} else {
|
|
@@ -256,7 +257,7 @@ class SiesaBmadInstaller {
|
|
|
256
257
|
|
|
257
258
|
// Primer intento: archivo_bk.ext
|
|
258
259
|
const basicBackupPath = path.join(dir, `${name}_bk${ext}`);
|
|
259
|
-
|
|
260
|
+
|
|
260
261
|
// Si no existe, usar el nombre básico
|
|
261
262
|
if (!fs.existsSync(basicBackupPath)) {
|
|
262
263
|
return basicBackupPath;
|
|
@@ -265,12 +266,12 @@ class SiesaBmadInstaller {
|
|
|
265
266
|
// Si ya existe _bk, crear versión con timestamp
|
|
266
267
|
const now = new Date();
|
|
267
268
|
const timestamp = now.getFullYear().toString() +
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
269
|
+
(now.getMonth() + 1).toString().padStart(2, '0') +
|
|
270
|
+
now.getDate().toString().padStart(2, '0') + '_' +
|
|
271
|
+
now.getHours().toString().padStart(2, '0') +
|
|
272
|
+
now.getMinutes().toString().padStart(2, '0') +
|
|
273
|
+
now.getSeconds().toString().padStart(2, '0');
|
|
274
|
+
|
|
274
275
|
return path.join(dir, `${name}_bk_${timestamp}${ext}`);
|
|
275
276
|
}
|
|
276
277
|
|
|
@@ -311,7 +312,7 @@ class SiesaBmadInstaller {
|
|
|
311
312
|
for (const backupFile of backupFiles) {
|
|
312
313
|
const backupSourcePath = backupFile.tempPath;
|
|
313
314
|
const backupTargetPath = backupFile.originalPath;
|
|
314
|
-
|
|
315
|
+
|
|
315
316
|
try {
|
|
316
317
|
await fs.copy(backupSourcePath, backupTargetPath);
|
|
317
318
|
// Limpiar archivo temporal
|
|
@@ -336,10 +337,10 @@ class SiesaBmadInstaller {
|
|
|
336
337
|
if (fileName.includes('_bk')) {
|
|
337
338
|
const tempPath = path.join(require('os').tmpdir(), `backup_${Date.now()}_${fileName}`);
|
|
338
339
|
const relativePath = path.relative(targetPath, filePath);
|
|
339
|
-
|
|
340
|
+
|
|
340
341
|
// Crear copia temporal del backup
|
|
341
342
|
await fs.copy(filePath, tempPath);
|
|
342
|
-
|
|
343
|
+
|
|
343
344
|
backupFiles.push({
|
|
344
345
|
originalPath: filePath,
|
|
345
346
|
tempPath: tempPath,
|
package/kiro/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Kiro Configuration
|
|
2
|
+
|
|
3
|
+
Esta carpeta contiene las configuraciones y specs para Kiro IDE.
|
|
4
|
+
|
|
5
|
+
## Estructura
|
|
6
|
+
|
|
7
|
+
- **specs/** - Especificaciones de features (requirements, design, tasks)
|
|
8
|
+
- **steering/** - Reglas y contexto adicional para el agente
|
|
9
|
+
- **settings/** - Configuraciones de Kiro (MCP, etc.)
|
|
10
|
+
|
|
11
|
+
## Uso
|
|
12
|
+
|
|
13
|
+
Las specs siguen el workflow: Requirements → Design → Tasks → Implementation
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
---
|
|
2
|
+
inclusion: always
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Agent Detection System
|
|
6
|
+
|
|
7
|
+
When the user types a short command starting with "as", detect and activate the corresponding agent from bmad-core/agents/.
|
|
8
|
+
|
|
9
|
+
## Agent Command Mapping
|
|
10
|
+
|
|
11
|
+
| Command | Agent File | Agent Name | Role |
|
|
12
|
+
|---------|-----------|------------|------|
|
|
13
|
+
| `as dev` | bmad-core/agents/dev.md | James | Full Stack Developer |
|
|
14
|
+
| `as analyst` | bmad-core/agents/analyst.md | Mary | Business Analyst |
|
|
15
|
+
| `as architect` | bmad-core/agents/architect.md | - | Software Architect |
|
|
16
|
+
| `as backend` | bmad-core/agents/backend-agent.md | - | Backend Developer |
|
|
17
|
+
| `as frontend` | bmad-core/agents/frontend-agent.md | - | Frontend Developer |
|
|
18
|
+
| `as pm` | bmad-core/agents/pm.md | - | Project Manager |
|
|
19
|
+
| `as po` | bmad-core/agents/po.md | - | Product Owner |
|
|
20
|
+
| `as qa` | bmad-core/agents/qa.md | Quinn | Test Architect |
|
|
21
|
+
| `as sm` | bmad-core/agents/sm.md | - | Scrum Master |
|
|
22
|
+
| `as ux` | bmad-core/agents/ux-expert.md | - | UX Expert |
|
|
23
|
+
| `as master` | bmad-core/agents/bmad-master.md | - | BMad Master |
|
|
24
|
+
| `as orchestrator` | bmad-core/agents/bmad-orchestrator.md | - | BMad Orchestrator |
|
|
25
|
+
|
|
26
|
+
## Detection Rules
|
|
27
|
+
|
|
28
|
+
1. When user input matches pattern `as {agent_id}`, load the corresponding agent file
|
|
29
|
+
2. Read the ENTIRE agent file to understand the complete persona
|
|
30
|
+
3. Follow the activation-instructions in the YAML block exactly
|
|
31
|
+
4. Load bmad-core/core-config.yaml as specified in activation instructions
|
|
32
|
+
5. Adopt the persona and execute the greeting + *help command
|
|
33
|
+
6. Stay in character until user types the agent's `*exit` command
|
|
34
|
+
|
|
35
|
+
## Examples
|
|
36
|
+
|
|
37
|
+
- User types: `as dev` → Load bmad-core/agents/dev.md → Become James the Developer
|
|
38
|
+
- User types: `as qa` → Load bmad-core/agents/qa.md → Become Quinn the Test Architect
|
|
39
|
+
- User types: `as analyst` → Load bmad-core/agents/analyst.md → Become Mary the Business Analyst
|
|
40
|
+
|
|
41
|
+
## Important Notes
|
|
42
|
+
|
|
43
|
+
- Each agent file is self-contained with complete configuration in YAML
|
|
44
|
+
- DO NOT load external agent files during activation
|
|
45
|
+
- ONLY load dependency files when user requests specific command execution
|
|
46
|
+
- The agent.customization field ALWAYS takes precedence over conflicting instructions
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "siesa-agents",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.25",
|
|
4
4
|
"description": "Paquete para instalar y configurar agentes SIESA en tu proyecto",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"vscode/**/*",
|
|
25
25
|
"github/**/*",
|
|
26
26
|
"claude/**/*",
|
|
27
|
+
"kiro/**/*",
|
|
27
28
|
"bin/**/*",
|
|
28
29
|
"resources/**/*",
|
|
29
30
|
"README.md"
|