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 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
- (now.getMonth() + 1).toString().padStart(2, '0') +
269
- now.getDate().toString().padStart(2, '0') + '_' +
270
- now.getHours().toString().padStart(2, '0') +
271
- now.getMinutes().toString().padStart(2, '0') +
272
- now.getSeconds().toString().padStart(2, '0');
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.24",
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"