gemstack-ai 1.0.1

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 (137) hide show
  1. package/.agents/rules/01-gemstack-core.md +51 -0
  2. package/.agents/rules/02-gemstack-constitution.md +44 -0
  3. package/.agents/rules/03-gemstack-security.md +49 -0
  4. package/.agents/rules/04-gemstack-infrastructure.md +28 -0
  5. package/.agents/skills/gemstack-cso/SKILL.md +50 -0
  6. package/.agents/skills/gemstack-dashboard/SKILL.md +31 -0
  7. package/.agents/skills/gemstack-guard/SKILL.md +19 -0
  8. package/.agents/skills/gemstack-handoff/SKILL.md +21 -0
  9. package/.agents/skills/gemstack-heal/SKILL.md +19 -0
  10. package/.agents/skills/gemstack-investigate/SKILL.md +25 -0
  11. package/.agents/skills/gemstack-learn/SKILL.md +18 -0
  12. package/.agents/skills/gemstack-office-hours/SKILL.md +18 -0
  13. package/.agents/skills/gemstack-plan/SKILL.md +20 -0
  14. package/.agents/skills/gemstack-qa/SKILL.md +17 -0
  15. package/.agents/skills/gemstack-qa-visual/SKILL.md +17 -0
  16. package/.agents/skills/gemstack-resume/SKILL.md +18 -0
  17. package/.agents/skills/gemstack-review/SKILL.md +18 -0
  18. package/.agents/skills/gemstack-sandbox/SKILL.md +19 -0
  19. package/.agents/skills/gemstack-ship/SKILL.md +19 -0
  20. package/.agents/skills/gemstack-spec/SKILL.md +24 -0
  21. package/.agents/skills/gemstack-swarm/SKILL.md +18 -0
  22. package/.agents/skills/gemstack-tasks/SKILL.md +18 -0
  23. package/.gemstack/learnings.md +8 -0
  24. package/.gemstack/state.json +11 -0
  25. package/.gitattributes +19 -0
  26. package/.github/workflows/main-ci.yml +32 -0
  27. package/.github/workflows/pr-ci.yml +31 -0
  28. package/.github/workflows/publish.yml +52 -0
  29. package/.github/workflows/release-readiness.yml +43 -0
  30. package/CHANGELOG.md +35 -0
  31. package/CODE_OF_CONDUCT.md +49 -0
  32. package/CONTRIBUTING.md +62 -0
  33. package/LICENSE +21 -0
  34. package/MANUAL.md +99 -0
  35. package/README.md +130 -0
  36. package/RELEASE_NOTES.md +149 -0
  37. package/bin/gemstack +31 -0
  38. package/bin/gemstack-doctor +16 -0
  39. package/bin/gemstack-doctor.ps1 +38 -0
  40. package/bin/gemstack.ps1 +49 -0
  41. package/docs/antigravity.md +6 -0
  42. package/docs/handoff.md +9 -0
  43. package/docs/qa/latest-qa.md +25 -0
  44. package/docs/qa-browser.md +7 -0
  45. package/docs/quickstart.md +21 -0
  46. package/docs/release.md +29 -0
  47. package/docs/reviews/latest-review.md +24 -0
  48. package/docs/security/latest-security-audit.md +35 -0
  49. package/docs/security.md +17 -0
  50. package/docs/skills.md +17 -0
  51. package/docs/spec-driven-development.md +10 -0
  52. package/gemstack-ai-1.0.1.tgz +0 -0
  53. package/handoff.md +45 -0
  54. package/handoff_archive.md +61 -0
  55. package/package.json +25 -0
  56. package/scripts/ci/check-frontmatter.js +54 -0
  57. package/scripts/ci/check-mojibake.js +44 -0
  58. package/scripts/ci/check-package-contents.js +32 -0
  59. package/scripts/ci/check-template-clean.js +46 -0
  60. package/scripts/ci/smoke-cli.js +30 -0
  61. package/specs/004-release-automation/plan.md +52 -0
  62. package/specs/004-release-automation/spec.md +49 -0
  63. package/specs/004-release-automation/tasks.md +25 -0
  64. package/specs/005-the-wow-update/plan.md +29 -0
  65. package/specs/005-the-wow-update/spec.md +32 -0
  66. package/specs/005-the-wow-update/tasks.md +16 -0
  67. package/specs/README.md +12 -0
  68. package/specs/current/plan.md +83 -0
  69. package/specs/current/spec.md +57 -0
  70. package/specs/current/tasks.md +98 -0
  71. package/specs/templates/plan.md +38 -0
  72. package/specs/templates/spec.md +35 -0
  73. package/specs/templates/tasks.md +21 -0
  74. package/specs/v0.2-cli-distribution/plan.md +112 -0
  75. package/specs/v0.2-cli-distribution/spec.md +27 -0
  76. package/specs/v0.2-cli-distribution/tasks.md +115 -0
  77. package/specs/v0.3-ci-cd/plan.md +83 -0
  78. package/specs/v0.3-ci-cd/spec.md +57 -0
  79. package/specs/v0.3-ci-cd/tasks.md +98 -0
  80. package/src/cli.js +64 -0
  81. package/src/commands/doctor.js +50 -0
  82. package/src/commands/hooks.js +67 -0
  83. package/src/commands/init.js +90 -0
  84. package/src/commands/install.js +72 -0
  85. package/src/commands/list.js +20 -0
  86. package/src/commands/show.js +18 -0
  87. package/src/commands/update.js +88 -0
  88. package/src/lib/backup.js +29 -0
  89. package/src/lib/filesystem-safe.js +22 -0
  90. package/src/lib/gitignore.js +19 -0
  91. package/src/lib/logger.js +6 -0
  92. package/src/lib/manifest.js +25 -0
  93. package/src/lib/parser.js +27 -0
  94. package/src/mcp-server.js +101 -0
  95. package/template/.agents/rules/01-gemstack-core.md +51 -0
  96. package/template/.agents/rules/02-gemstack-constitution.md +44 -0
  97. package/template/.agents/rules/03-gemstack-security.md +49 -0
  98. package/template/.agents/rules/04-gemstack-infrastructure.md +28 -0
  99. package/template/.agents/skills/gemstack-cso/SKILL.md +50 -0
  100. package/template/.agents/skills/gemstack-dashboard/SKILL.md +31 -0
  101. package/template/.agents/skills/gemstack-guard/SKILL.md +19 -0
  102. package/template/.agents/skills/gemstack-handoff/SKILL.md +21 -0
  103. package/template/.agents/skills/gemstack-heal/SKILL.md +19 -0
  104. package/template/.agents/skills/gemstack-investigate/SKILL.md +25 -0
  105. package/template/.agents/skills/gemstack-learn/SKILL.md +18 -0
  106. package/template/.agents/skills/gemstack-office-hours/SKILL.md +18 -0
  107. package/template/.agents/skills/gemstack-plan/SKILL.md +20 -0
  108. package/template/.agents/skills/gemstack-qa/SKILL.md +17 -0
  109. package/template/.agents/skills/gemstack-qa-visual/SKILL.md +17 -0
  110. package/template/.agents/skills/gemstack-resume/SKILL.md +18 -0
  111. package/template/.agents/skills/gemstack-review/SKILL.md +18 -0
  112. package/template/.agents/skills/gemstack-sandbox/SKILL.md +19 -0
  113. package/template/.agents/skills/gemstack-ship/SKILL.md +19 -0
  114. package/template/.agents/skills/gemstack-spec/SKILL.md +24 -0
  115. package/template/.agents/skills/gemstack-swarm/SKILL.md +18 -0
  116. package/template/.agents/skills/gemstack-tasks/SKILL.md +18 -0
  117. package/template/.gemstack/learnings.md +3 -0
  118. package/template/.gemstack/state.json +4 -0
  119. package/template/docs/antigravity.md +6 -0
  120. package/template/docs/handoff.md +9 -0
  121. package/template/docs/qa/latest-qa.md +25 -0
  122. package/template/docs/qa-browser.md +7 -0
  123. package/template/docs/quickstart.md +21 -0
  124. package/template/docs/release.md +10 -0
  125. package/template/docs/reviews/latest-review.md +19 -0
  126. package/template/docs/security/latest-security-audit.md +37 -0
  127. package/template/docs/security.md +17 -0
  128. package/template/docs/skills.md +17 -0
  129. package/template/docs/spec-driven-development.md +10 -0
  130. package/template/handoff.md +11 -0
  131. package/template/handoff_archive.md +3 -0
  132. package/template/specs/current/plan.md +5 -0
  133. package/template/specs/current/spec.md +7 -0
  134. package/template/specs/current/tasks.md +3 -0
  135. package/template/specs/templates/plan.md +38 -0
  136. package/template/specs/templates/spec.md +35 -0
  137. package/template/specs/templates/tasks.md +21 -0
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: gemstack-sandbox
3
+ description: Ejecución segura de código dentro de contenedores efímeros Docker.
4
+ triggers:
5
+ - model_decision
6
+ ---
7
+
8
+ # Gemstack Sandbox Skill
9
+
10
+ Invocado mediante `/sandbox`.
11
+
12
+ ## Proceso:
13
+ 1. Asegúrate de que `docker` esté disponible en el entorno del usuario (`docker --version`).
14
+ 2. Recibe el comando o script que el usuario (o tú mismo) desea probar (por ejemplo, una instalación de dependencias no confiables, o una validación CSO).
15
+ 3. Construye el comando de ejecución envuelto en docker: `docker run --rm -v $(pwd):/app -w /app node:20 <comando>`.
16
+ *(Nota: en entornos Windows PowerShell ajusta la ruta del volumen a `${PWD}`)*
17
+ 4. Ejecuta el contenedor, captura los logs de stdout y stderr.
18
+ 5. Limpia los contenedores residuales si el script falla críticamente.
19
+ 6. Presenta los resultados de la ejecución segura al usuario sin haber alterado el entorno nativo.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: gemstack-ship
3
+ description: Procedimiento de cierre, limpieza y despliegue opcional de la funcionalidad.
4
+ triggers:
5
+ - model_decision
6
+ ---
7
+
8
+ # Gemstack Ship Skill
9
+
10
+ Invocado mediante `/ship`.
11
+
12
+ ## Proceso:
13
+ 1. Verifica revisión (`/review`) y validación (`/qa`).
14
+ 2. Confirma validación de seguridad (`/cso`).
15
+ 3. Comprueba si los specs se cumplieron.
16
+ 4. Genera un PR summary si se pide.
17
+ 5. NO hagas push, merge o deploy sin aprobación explícita.
18
+ 6. Sugiere ejecutar `/handoff` para documentar la entrega en la memoria del proyecto.
19
+
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: gemstack-spec
3
+ description: Product Manager que implementa el primer paso de Spec-Driven Development. Genera spec.md.
4
+ triggers:
5
+ - model_decision
6
+ ---
7
+
8
+ # Gemstack Specify Skill
9
+
10
+ Invocado mediante `/specify`.
11
+
12
+ ## Rol
13
+ Eres un Product Manager técnico. Tu objetivo es convertir ideas vagas en requisitos claros y funcionales.
14
+
15
+ ## Proceso:
16
+ 1. Pregunta al usuario cuál es la nueva funcionalidad si no la ha descrito.
17
+ 2. Identifica un nombre de rama o carpeta para la feature (ej. `specs/004-nueva-feature/`).
18
+ 3. Genera el archivo `specs/[nombre-feature]/spec.md` usando la plantilla `specs/templates/spec.md`.
19
+ 4. El documento DEBE incluir: Historias de usuario priorizadas (P1, P2) que sean independientemente testeables, Criterios de Éxito medibles, y Casos Extremos.
20
+ 5. **CERO SUPOSICIONES**: Si el usuario omitió detalles, NO adivines. Usa el marcador `[NEEDS CLARIFICATION: tu duda]` en el documento.
21
+ 6. No describas implementación técnica (nada de stacks, bases de datos o APIs). Concéntrate estrictamente en el "Qué" y "Por qué".
22
+ 7. Actualiza el archivo `.gemstack/state.json` para reflejar la rama activa: `{"active_spec": "specs/[nombre-feature]/"}` y el timestamp.
23
+ 8. Una vez finalizado, indica al usuario que puede revisar la especificación y, tras resolver las dudas, ejecutar `/plan`.
24
+
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: gemstack-swarm
3
+ description: Orquestador de enjambre de subagentes para tareas paralelas.
4
+ triggers:
5
+ - model_decision
6
+ ---
7
+
8
+ # Gemstack Swarm Skill
9
+
10
+ Invocado mediante `/swarm` o cuando el plan contenga tareas `[P]`.
11
+
12
+ ## Proceso:
13
+ 1. Lee `tasks.md` y recolecta todas las tareas etiquetadas con `[P]`.
14
+ 2. Utiliza tu capacidad de `invoke_subagent` (si está disponible en tu runtime) para lanzar un subagente paralelo por cada tarea `[P]`.
15
+ 3. Asigna a cada subagente un contexto claro (el `spec.md`, el `plan.md` y la tarea específica).
16
+ 4. Usa `send_message` para coordinar el trabajo si los subagentes necesitan unirse o dependen de una interfaz común.
17
+ 5. Espera a que todos los subagentes terminen, evalúa sus respuestas y haz merge de los resultados.
18
+ 6. Actualiza `tasks.md` marcando las tareas `[x]` a medida que los subagentes las completen.
@@ -0,0 +1,18 @@
1
+ ---
2
+ name: gemstack-tasks
3
+ description: Convierte un plan.md en tareas ejecutables.
4
+ triggers:
5
+ - model_decision
6
+ ---
7
+
8
+ # Gemstack Tasks Skill
9
+
10
+ Invocado mediante `/tasks`.
11
+
12
+ ## Proceso:
13
+ 1. Lee `specs/[nombre-feature]/plan.md` y, si existen, `data-model.md` y la carpeta `contracts/`.
14
+ 2. Convierte los contratos, entidades y el plan en una lista estricta de ejecución en `specs/[nombre-feature]/tasks.md` usando la plantilla `specs/templates/tasks.md`.
15
+ 3. Aplica Test-First: Las tareas de escribir pruebas (y validarlas) deben ir ANTES que la implementación de código.
16
+ 4. Usa el marcador `[P]` para tareas independientes que se puedan paralelizar.
17
+ 5. Ofrece al usuario comenzar automáticamente con la primera tarea o delegar a subagentes paralelos si hay múltiples `[P]`.
18
+
@@ -0,0 +1,3 @@
1
+ # Gemstack Learnings
2
+
3
+ Empty state.
@@ -0,0 +1,4 @@
1
+ {
2
+ "version": "0.2.0",
3
+ "initialized": true
4
+ }
@@ -0,0 +1,6 @@
1
+ # Integración con Google Antigravity
2
+
3
+ Gemstack aprovecha el ecosistema nativo de Antigravity:
4
+ - **Rules (`.agents/rules/`)**: Mapea pseudo-comandos (ej. `/handoff`) para guiar a Gemini.
5
+ - **Skills (`.agents/skills/`)**: Utiliza *Progressive Disclosure* mediante validaciones de frontmatter `triggers`.
6
+ - **Compatibilidad Dual**: Scripts integrados garantizan que puedes testear el contexto y estado tanto desde Unix (`./bin/gemstack`) como de Windows de forma nativa (`.\bin\gemstack.ps1`).
@@ -0,0 +1,9 @@
1
+ # El Sistema Handoff
2
+
3
+ El archivo `handoff.md` es la memoria de tu proyecto.
4
+
5
+ ## Reglas
6
+ 1. Siempre se genera o actualiza al final de la sesión.
7
+ 2. Contiene 5 partes: Objetivo, Estado actual, Archivos tocados, Intentos fallidos y Próximos pasos.
8
+ 3. **Intentos Fallidos NUNCA se borran**: Previenen que Gemini cometa el mismo error (loops de debugging).
9
+ 4. **Archive**: Para evitar que consuma toda la ventana de contexto, el agente mueve las entradas antiguas a `handoff_archive.md` cuando la lista crece demasiado, pero mantiene siempre viva la referencia.
@@ -0,0 +1,25 @@
1
+ # Latest QA Report
2
+ **Date:** 2026-08-19
3
+
4
+ ## QA Flow: SecureDocs
5
+
6
+ ### Entorno de Prueba
7
+ - Node.js (v18+)
8
+ - Automatizado vía `npm run smoke`
9
+
10
+ ### Resultados de Smoke Tests
11
+ Los smoke tests ejecutaron exitosamente los siguientes escenarios:
12
+ - `[OK]` Users fetched correctly
13
+ - `[OK]` Alice created document
14
+ - `[OK]` Bob blocked from reading Alice's doc (Status 404)
15
+ - `[OK]` Bob blocked from deleting Alice's doc (Status 404)
16
+ - `[OK]` Bob created doc with malicious payload
17
+ - `[OK]` Malicious payload ignored: Doc does not belong to Alice
18
+ - `[OK]` Malicious payload ignored: Doc belongs to Bob safely
19
+
20
+ ### Casos de Prueba Ejecutados Manualmente / API
21
+ 1. **[PASS] Selección de Usuario:** Cambiar en el `<select>` entre Alice y Bob recarga exitosamente la lista de documentos (`loadDocs`).
22
+ 2. **[PASS] Testing XSS Básico:** Se inyectó `<script>alert("Hacked")</script>` en el título. El documento se listó en la UI de Alice como un string literal gracias a la codificación DOM generada por `textContent`.
23
+
24
+ ### Conclusión
25
+ - Todos los smoke tests pasan con exit code `0`. Sin bugs bloqueantes detectados. El QA confirma la mitigación de IDOR.
@@ -0,0 +1,7 @@
1
+ # QA & Browser Testing
2
+
3
+ Usa `/qa` o `/qa-only` para validar tu código contra el `spec.md`.
4
+
5
+ ## Herramientas Visuales
6
+ Si desarrollas frontend, puedes pedirle a Antigravity que abra el navegador usando su comando nativo `/browser` para navegar por el sitio local y validar el UI manualmente.
7
+ Alternativamente, si tienes pruebas e2e automatizadas con **Playwright** o **Cypress**, Gemstack puede ejecutarlas y parsear sus resultados durante la fase de QA.
@@ -0,0 +1,21 @@
1
+ # Gemstack Quickstart
2
+
3
+ 1. **Inicializa el entorno**:
4
+ - *Unix:* `./bin/gemstack init`
5
+ - *Windows:* `.\bin\gemstack.ps1 init`
6
+ 2. **Valida la instalación**:
7
+ - *Unix:* `./bin/gemstack doctor`
8
+ - *Windows:* `.\bin\gemstack-doctor.ps1`
9
+ 3. **Tu primera sesión**:
10
+ - Inicia con `/office-hours` para discutir la arquitectura.
11
+ - Escribe `/specify quiero añadir autenticación con JWT`.
12
+ - Revisa `specs/current/spec.md`.
13
+ - Escribe `/plan` para generar la estrategia técnica.
14
+ - Escribe `/tasks` para desglosar la implementación.
15
+ - Escribe `/review` para chequear tu código.
16
+ 4. **Validación y Cierre**:
17
+ - Corre `/cso` y `/qa`.
18
+ - Escribe `/ship` para preparar los commits.
19
+ 5. **Pausa**: Escribe `/handoff` al final de la sesión.
20
+ 6. **Retorno**: Abre chat limpio y escribe:
21
+ > "Lee handoff.md y continúa desde los próximos pasos"
@@ -0,0 +1,10 @@
1
+ # Release Flow (Ship)
2
+
3
+ El flujo de liberación `/ship` se asegura de que todo esté en orden:
4
+
5
+ 1. **Tests**: El agente valida que se pasen las pruebas.
6
+ 2. **Review**: Ejecución de linting, typechecking y revisión humana de las especificaciones de `specs/current/`.
7
+ 3. **Doctor Check**: Antes de preparar un release local, se debe validar el entorno con al menos uno de estos caminos:
8
+ - **Unix/Git Bash:** `./bin/gemstack-doctor`
9
+ - **PowerShell:** `.\bin\gemstack-doctor.ps1`
10
+ 4. **Deploy**: **Regla estricta:** el agente JAMÁS hará un `git push`, merge o lanzará un script de deploy sin explícita aprobación humana.
@@ -0,0 +1,19 @@
1
+ # Latest Review
2
+ **Date:** 2026-08-19
3
+
4
+ ## Overview
5
+ Revisión de la implementación de `demo-app/` (SecureDocs) incluyendo los nuevos Smoke Tests.
6
+
7
+ ## Archivos Revisados
8
+ - `smoke-test.js`: Script Node nativo impecable. Utiliza `child_process.spawn` para ciclo de vida de servidor y `http.request` emulando fetch para evitar dependencias.
9
+ - `server.js`: Se añadió `/api/health`. Mantiene la robustez en validación de `user_id`.
10
+ - `database.js`: Estable.
11
+ - `package.json`: Actualizado correctamente con script `smoke`.
12
+ - `.gitignore`: Confirmado. Ignora `node_modules/` y `*.sqlite`.
13
+
14
+ ## Hallazgos
15
+ - **Fixed:** El script `smoke-test.js` no usa dependencias de terceros ni emojis, previniendo mojibakes en consola.
16
+ - **Not blocking:** No se añadió librería externa de testeo como Jest/Mocha. Aceptable dado el requerimiento de zero-deps y ser una demo simple.
17
+ - **Follow-up for v0.2:** Desacoplar la DB y el Server en la inicialización para permitir testeo en memoria sin levantar un puerto real (Supertest-like nativo).
18
+
19
+ **Decisión**: APPROVED para v0.1 release.
@@ -0,0 +1,37 @@
1
+ # Latest Security Audit
2
+ **Date:** 2026-08-19
3
+
4
+ ## CSO Report: SecureDocs Demo
5
+
6
+ ### 1. IDOR (Insecure Direct Object Reference)
7
+ - **Status:** [Fixed]
8
+ - **Severity:** Critical
9
+ - **Detail:** Verificado por test automatizado `smoke-test.js`. Endpoint `/api/docs/:id` devuelve 404 al intentar cruzar scopes. Además, se validó que inyectar explícitamente `{"user_id": 1}` en el body de POST `/api/docs` es ignorado a favor del user extraído del header mock.
10
+
11
+ ### 2. SQL Injection
12
+ - **Status:** [Fixed]
13
+ - **Severity:** High
14
+ - **Detail:** Se utilizan sentencias preparadas de `sqlite3` (`db.run(..., [params])`).
15
+
16
+ ### 3. Headers & XSS
17
+ - **Status:** [Fixed]
18
+ - **Severity:** Medium
19
+ - **Detail:** Middleware in-line aplica `X-Content-Type-Options`, `X-Frame-Options`, `Referrer-Policy`, y `Content-Security-Policy`. Uso de `textContent` en Vanilla JS neutraliza XSS reflejado/almacenado probado.
20
+
21
+ ### 4. Database File Handling
22
+ - **Status:** [Fixed]
23
+ - **Severity:** High
24
+ - **Detail:** `securedocs.sqlite` explícitamente añadido a `.gitignore`. Previene fuga de datos en Git.
25
+
26
+ ### 5. Authentication Mock
27
+ - **Status:** [Manual review required]
28
+ - **Severity:** Informational
29
+ - **Detail:** Se usa un header `X-Mock-User-Id` en texto plano.
30
+ - **Decisión:** Riesgo documentado y aceptado (by design) en el alcance de la demo.
31
+
32
+ ### 6. CORS / Rate Limiting
33
+ - **Status:** [Not applicable]
34
+ - **Severity:** Low
35
+ - **Detail:** No hay librerías de CORS habilitadas lo cual restringe el dominio cruzado por defecto a *same-origin*. No hay Rate Limiting pero siendo una demo local no presenta superficie de ataque expuesta a internet.
36
+
37
+ **Decisión General**: APPROVED. Smoke tests automatizados garantizan mitigación de los riesgos top reportados.
@@ -0,0 +1,17 @@
1
+ # Seguridad Práctica en Gemstack (CSO)
2
+
3
+ Gemstack incluye el skill `gemstack-cso`, que actúa como tu Chief Security Officer virtual.
4
+
5
+ Invócalo mediante `/cso` (para una revisión general) o mediante sus sub-comandos para revisiones específicas.
6
+
7
+ ## Módulos de Revisión:
8
+ 1. `/security-idor`: Control de acceso y pertenencia de recursos.
9
+ 2. `/security-api`: CORS, Rate Limiting, y autenticación.
10
+ 3. `/security-deps`: Análisis de `package.json` o `requirements.txt`.
11
+ 4. `/security-uploads`: Validación rigurosa de magic bytes en subidas.
12
+ 5. `/security-sql`: Prevención de Inyección SQL.
13
+ 6. `/security-sessions`: Revisión de estrategias de tokens y cookies.
14
+ 7. `/security-webhooks`: Verificación de firmas de Stripe/PayPal.
15
+ 8. `/security-headers`: CSP y protección XSS.
16
+
17
+ **Guardrail:** El CSO puede corregir código trivial de seguridad, pero cambios mayores (migraciones, auth) requieren un Plan de Seguridad y tu aprobación explícita.
@@ -0,0 +1,17 @@
1
+ # Skills & Pseudo-comandos
2
+
3
+ Gemstack vincula pseudo-comandos a Skills específicos:
4
+
5
+ - `/handoff` -> `gemstack-handoff`
6
+ - `/resume` -> `gemstack-resume`
7
+ - `/office-hours` -> `gemstack-office-hours`
8
+ - `/specify` -> `gemstack-spec`
9
+ - `/plan` -> `gemstack-plan`
10
+ - `/tasks` -> `gemstack-tasks`
11
+ - `/review` -> `gemstack-review`
12
+ - `/investigate` -> `gemstack-investigate`
13
+ - `/cso`, `/security-*` -> `gemstack-cso`
14
+ - `/qa`, `/qa-only` -> `gemstack-qa`
15
+ - `/ship` -> `gemstack-ship`
16
+ - `/learn` -> `gemstack-learn`
17
+ - `/careful`, `/freeze`, `/guard`, `/unfreeze` -> `gemstack-guard`
@@ -0,0 +1,10 @@
1
+ # Spec-Driven Development (SDD) en Gemstack
2
+
3
+ Inspirado en Spec Kit, Gemstack obliga a pensar antes de teclear.
4
+
5
+ 1. **El Qué (`spec.md`)**: Requisitos funcionales, criterios de aceptación (checkboxes) y casos límite. No tiene detalles de implementación.
6
+ 2. **El Cómo (`plan.md`)**: Arquitectura, esquema de base de datos, rutas, y dependencias necesarias.
7
+ 3. **El Cuándo (`tasks.md`)**: Pasos lógicos a seguir para construirlo.
8
+
9
+ Usa `/specify` para comenzar este ciclo.
10
+ Una vez que el spec esté aprobado por el usuario, usa `/plan` y luego `/tasks`.
@@ -0,0 +1,11 @@
1
+ # Handoff
2
+
3
+ ## 1. Objetivo
4
+
5
+ ## 2. Estado actual
6
+
7
+ ## 3. Archivos y cambios
8
+
9
+ ## 4. Intentos fallidos
10
+
11
+ ## 5. Próximos pasos
@@ -0,0 +1,3 @@
1
+ # Handoff Archive
2
+
3
+ Archived entries will be moved here.
@@ -0,0 +1,5 @@
1
+ # Plan Template
2
+
3
+ ## Architecture
4
+
5
+ ## Files
@@ -0,0 +1,7 @@
1
+ # Spec Template
2
+
3
+ ## Goal
4
+
5
+ ## Acceptance Criteria
6
+
7
+ ## Edge Cases
@@ -0,0 +1,3 @@
1
+ # Tasks Template
2
+
3
+ - [ ] Task 1
@@ -0,0 +1,38 @@
1
+ # Plan de Implementación: [FEATURE]
2
+
3
+ **Feature Branch**: `[###-feature-name]` | **Spec**: [ruta al spec.md]
4
+
5
+ ## 1. Summary & Technical Context
6
+ - **Lenguaje/Versión**: [Ej. Node 18+ o NEEDS CLARIFICATION]
7
+ - **Dependencias core**: [Ej. Express o NEEDS CLARIFICATION]
8
+ - **Restricciones**: [Ej. Zero-deps en runtime]
9
+
10
+ ## 2. Constitution Check (Phase -1 Gates)
11
+ <!-- VERIFICACIÓN DE REGLAS INMUTABLES -->
12
+ ### Simplicity Gate (Article VII)
13
+ - [ ] ¿Se usan el mínimo número de carpetas/archivos posibles?
14
+ - [ ] ¿No hay abstracciones prematuras (future-proofing)?
15
+
16
+ ### Anti-Abstraction Gate (Article VIII)
17
+ - [ ] ¿Se usan las APIs nativas del framework sin wrappers innecesarios?
18
+
19
+ ### Test-First Imperative (Article III)
20
+ - [ ] ¿El plan incluye la creación de tests antes que el código fuente?
21
+
22
+ ## 3. Entregables Satélites a Generar
23
+ <!-- Además de este plan y las tareas, se deben documentar los siguientes si aplica: -->
24
+ - `research.md`: [Opcional - Análisis de herramientas]
25
+ - `data-model.md`: [Esquemas de datos y entidades]
26
+ - `contracts/`: [Documentación de APIs y contratos (REST/Interfaces)]
27
+ - `quickstart.md`: [Guía rápida de validación manual]
28
+
29
+ ## 4. Estructura de Archivos a Modificar / Crear
30
+ ```text
31
+ ruta/archivo: [Razón]
32
+ ```
33
+
34
+ ## 5. Complexity Tracking
35
+ <!-- Llenar SÓLO si las Gates de la Constitución fallan y se requiere justificar complejidad -->
36
+ | Violación de Regla | Por qué es necesario | Alternativa simple rechazada por |
37
+ |--------------------|----------------------|-----------------------------------|
38
+ | [Ej. Wrapper] | [Razón] | [Razón] |
@@ -0,0 +1,35 @@
1
+ # Especificación de Funcionalidad: [NOMBRE_FEATURE]
2
+
3
+ **Feature Branch**: `[###-feature-name]`
4
+
5
+ ## 1. User Scenarios & Testing (MVP)
6
+ <!--
7
+ IMPORTANTE: Las historias de usuario deben estar PRIORIZADAS (P1, P2...).
8
+ Cada historia debe ser INDEPENDIENTEMENTE TESTEABLE, aportando un fragmento de valor MVP.
9
+ -->
10
+ ### User Story 1 - [Título breve] (Prioridad: P1)
11
+ [Describe el viaje del usuario en lenguaje claro]
12
+ **Por qué esta prioridad:** [Valor que aporta]
13
+ **Test Independiente:** [Cómo se prueba de forma autónoma]
14
+
15
+ **Escenarios de Aceptación:**
16
+ 1. **Dado** [estado], **Cuando** [acción], **Entonces** [resultado]
17
+
18
+ ## 2. Requerimientos Funcionales
19
+ <!--
20
+ Anota requerimientos explícitos.
21
+ SI HAY AMBIGÜEDAD, NO ADIVINES. Usa: [NEEDS CLARIFICATION: tu pregunta]
22
+ -->
23
+ - **FR-001**: El sistema DEBE [capacidad]
24
+ - **FR-002**: [NEEDS CLARIFICATION: método de implementación no definido]
25
+
26
+ ## 3. Criterios de Éxito (Measurable Outcomes)
27
+ <!-- Definir métricas que no dependan de la tecnología -->
28
+ - **SC-001**: [Métrica medible, ej. El proceso termina en < 2 seg]
29
+
30
+ ## 4. Casos Extremos (Edge Cases)
31
+ - ¿Qué pasa cuando [condición de borde]?
32
+
33
+ ## 5. Entidades Clave (Data / Models)
34
+ - **[Entidad 1]**: [Representación abstracta]
35
+ - **[Entidad 2]**: [Relación]
@@ -0,0 +1,21 @@
1
+ # Tareas de Implementación
2
+
3
+ <!--
4
+ Instrucciones:
5
+ - Marca con `[P]` las tareas que sean seguras de paralelizar (por ej. si usas múltiples subagentes).
6
+ - Incluye la redacción y validación de TESTS ANTES de la implementación real.
7
+ -->
8
+
9
+ ## Fase 1: Tests (Test-First Imperative)
10
+ - [ ] 1.1 Redactar Unit Tests para [Módulo A].
11
+ - [ ] 1.2 [P] Redactar Tests de Contrato/API para [Contrato B].
12
+ - [ ] 1.3 Comprobar que los tests fallen (Fase Roja).
13
+
14
+ ## Fase 2: Implementación
15
+ - [ ] 2.1 Implementar [Módulo A] para hacer pasar 1.1.
16
+ - [ ] 2.2 [P] Implementar [Controlador B] para hacer pasar 1.2.
17
+
18
+ ## Fase 3: Integración y Validación
19
+ - [ ] 3.1 Integrar módulos.
20
+ - [ ] 3.2 Ejecutar suite de validación completa.
21
+ - [ ] 3.3 Revisión de seguridad y dependencias.