product-playbook 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/LICENSE +21 -0
- package/README.es.md +518 -0
- package/README.ja.md +519 -0
- package/README.ko.md +518 -0
- package/README.md +520 -0
- package/README.zh-CN.md +518 -0
- package/README.zh-TW.md +518 -0
- package/SKILL.md +244 -0
- package/commands/product-build.md +13 -0
- package/commands/product-dev.md +21 -0
- package/commands/product-full.md +13 -0
- package/commands/product-prd.md +14 -0
- package/commands/product-quick.md +13 -0
- package/commands/product-report.md +12 -0
- package/commands/product-revision.md +13 -0
- package/i18n/en/SKILL.md +245 -0
- package/i18n/en/commands/product-build.md +13 -0
- package/i18n/en/commands/product-dev.md +21 -0
- package/i18n/en/commands/product-full.md +13 -0
- package/i18n/en/commands/product-prd.md +14 -0
- package/i18n/en/commands/product-quick.md +13 -0
- package/i18n/en/commands/product-report.md +12 -0
- package/i18n/en/commands/product-revision.md +13 -0
- package/i18n/en/references/00-opportunity-check.md +44 -0
- package/i18n/en/references/01-strategy.md +90 -0
- package/i18n/en/references/02a-persona.md +57 -0
- package/i18n/en/references/02b-jtbd.md +125 -0
- package/i18n/en/references/02c-ost-journey.md +65 -0
- package/i18n/en/references/03-define.md +118 -0
- package/i18n/en/references/04a-prfaq.md +112 -0
- package/i18n/en/references/04b-solutions.md +269 -0
- package/i18n/en/references/04c-mvp.md +21 -0
- package/i18n/en/references/05a-northstar-aha.md +93 -0
- package/i18n/en/references/05b-pmf-gtm.md +102 -0
- package/i18n/en/references/05c-validation-spec.md +117 -0
- package/i18n/en/references/06-html-report.md +128 -0
- package/i18n/en/references/07a-handoff-core.md +152 -0
- package/i18n/en/references/07b-tasks-tickets.md +215 -0
- package/i18n/en/references/07c-architecture-setup.md +197 -0
- package/i18n/en/references/08-security-checklist.md +221 -0
- package/i18n/en/references/rules-build.md +152 -0
- package/i18n/en/references/rules-change-propagation.md +74 -0
- package/i18n/en/references/rules-commands.md +98 -0
- package/i18n/en/references/rules-context.md +291 -0
- package/i18n/en/references/rules-custom.md +63 -0
- package/i18n/en/references/rules-document-tools.md +126 -0
- package/i18n/en/references/rules-end-of-flow.md +150 -0
- package/i18n/en/references/rules-export-document.md +346 -0
- package/i18n/en/references/rules-file-integration.md +65 -0
- package/i18n/en/references/rules-full.md +66 -0
- package/i18n/en/references/rules-import-document.md +261 -0
- package/i18n/en/references/rules-product-type.md +14 -0
- package/i18n/en/references/rules-progress.md +60 -0
- package/i18n/en/references/rules-quick.md +29 -0
- package/i18n/en/references/rules-revision.md +64 -0
- package/i18n/es/SKILL.md +245 -0
- package/i18n/es/commands/product-build.md +13 -0
- package/i18n/es/commands/product-dev.md +21 -0
- package/i18n/es/commands/product-full.md +13 -0
- package/i18n/es/commands/product-prd.md +14 -0
- package/i18n/es/commands/product-quick.md +13 -0
- package/i18n/es/commands/product-report.md +12 -0
- package/i18n/es/commands/product-revision.md +13 -0
- package/i18n/es/references/00-opportunity-check.md +44 -0
- package/i18n/es/references/01-strategy.md +90 -0
- package/i18n/es/references/02a-persona.md +57 -0
- package/i18n/es/references/02b-jtbd.md +125 -0
- package/i18n/es/references/02c-ost-journey.md +65 -0
- package/i18n/es/references/03-define.md +118 -0
- package/i18n/es/references/04a-prfaq.md +114 -0
- package/i18n/es/references/04b-solutions.md +269 -0
- package/i18n/es/references/04c-mvp.md +21 -0
- package/i18n/es/references/05a-northstar-aha.md +93 -0
- package/i18n/es/references/05b-pmf-gtm.md +102 -0
- package/i18n/es/references/05c-validation-spec.md +117 -0
- package/i18n/es/references/06-html-report.md +138 -0
- package/i18n/es/references/07a-handoff-core.md +152 -0
- package/i18n/es/references/07b-tasks-tickets.md +215 -0
- package/i18n/es/references/07c-architecture-setup.md +197 -0
- package/i18n/es/references/08-security-checklist.md +221 -0
- package/i18n/es/references/rules-build.md +152 -0
- package/i18n/es/references/rules-change-propagation.md +74 -0
- package/i18n/es/references/rules-commands.md +98 -0
- package/i18n/es/references/rules-context.md +291 -0
- package/i18n/es/references/rules-custom.md +63 -0
- package/i18n/es/references/rules-document-tools.md +126 -0
- package/i18n/es/references/rules-end-of-flow.md +150 -0
- package/i18n/es/references/rules-export-document.md +346 -0
- package/i18n/es/references/rules-file-integration.md +65 -0
- package/i18n/es/references/rules-full.md +66 -0
- package/i18n/es/references/rules-import-document.md +261 -0
- package/i18n/es/references/rules-product-type.md +14 -0
- package/i18n/es/references/rules-progress.md +60 -0
- package/i18n/es/references/rules-quick.md +29 -0
- package/i18n/es/references/rules-revision.md +64 -0
- package/i18n/ja/SKILL.md +245 -0
- package/i18n/ja/commands/product-build.md +13 -0
- package/i18n/ja/commands/product-dev.md +21 -0
- package/i18n/ja/commands/product-full.md +13 -0
- package/i18n/ja/commands/product-prd.md +14 -0
- package/i18n/ja/commands/product-quick.md +13 -0
- package/i18n/ja/commands/product-report.md +12 -0
- package/i18n/ja/commands/product-revision.md +13 -0
- package/i18n/ja/references/00-opportunity-check.md +44 -0
- package/i18n/ja/references/01-strategy.md +90 -0
- package/i18n/ja/references/02a-persona.md +57 -0
- package/i18n/ja/references/02b-jtbd.md +125 -0
- package/i18n/ja/references/02c-ost-journey.md +65 -0
- package/i18n/ja/references/03-define.md +118 -0
- package/i18n/ja/references/04a-prfaq.md +111 -0
- package/i18n/ja/references/04b-solutions.md +269 -0
- package/i18n/ja/references/04c-mvp.md +21 -0
- package/i18n/ja/references/05a-northstar-aha.md +93 -0
- package/i18n/ja/references/05b-pmf-gtm.md +102 -0
- package/i18n/ja/references/05c-validation-spec.md +117 -0
- package/i18n/ja/references/06-html-report.md +126 -0
- package/i18n/ja/references/07a-handoff-core.md +152 -0
- package/i18n/ja/references/07b-tasks-tickets.md +215 -0
- package/i18n/ja/references/07c-architecture-setup.md +197 -0
- package/i18n/ja/references/08-security-checklist.md +221 -0
- package/i18n/ja/references/rules-build.md +152 -0
- package/i18n/ja/references/rules-change-propagation.md +74 -0
- package/i18n/ja/references/rules-commands.md +98 -0
- package/i18n/ja/references/rules-context.md +291 -0
- package/i18n/ja/references/rules-custom.md +63 -0
- package/i18n/ja/references/rules-document-tools.md +126 -0
- package/i18n/ja/references/rules-end-of-flow.md +150 -0
- package/i18n/ja/references/rules-export-document.md +346 -0
- package/i18n/ja/references/rules-file-integration.md +65 -0
- package/i18n/ja/references/rules-full.md +66 -0
- package/i18n/ja/references/rules-import-document.md +261 -0
- package/i18n/ja/references/rules-product-type.md +14 -0
- package/i18n/ja/references/rules-progress.md +60 -0
- package/i18n/ja/references/rules-quick.md +29 -0
- package/i18n/ja/references/rules-revision.md +64 -0
- package/i18n/ko/SKILL.md +245 -0
- package/i18n/ko/commands/product-build.md +13 -0
- package/i18n/ko/commands/product-dev.md +21 -0
- package/i18n/ko/commands/product-full.md +13 -0
- package/i18n/ko/commands/product-prd.md +14 -0
- package/i18n/ko/commands/product-quick.md +13 -0
- package/i18n/ko/commands/product-report.md +12 -0
- package/i18n/ko/commands/product-revision.md +13 -0
- package/i18n/ko/references/00-opportunity-check.md +44 -0
- package/i18n/ko/references/01-strategy.md +90 -0
- package/i18n/ko/references/02a-persona.md +57 -0
- package/i18n/ko/references/02b-jtbd.md +125 -0
- package/i18n/ko/references/02c-ost-journey.md +65 -0
- package/i18n/ko/references/03-define.md +118 -0
- package/i18n/ko/references/04a-prfaq.md +112 -0
- package/i18n/ko/references/04b-solutions.md +269 -0
- package/i18n/ko/references/04c-mvp.md +21 -0
- package/i18n/ko/references/05a-northstar-aha.md +93 -0
- package/i18n/ko/references/05b-pmf-gtm.md +102 -0
- package/i18n/ko/references/05c-validation-spec.md +117 -0
- package/i18n/ko/references/06-html-report.md +126 -0
- package/i18n/ko/references/07a-handoff-core.md +152 -0
- package/i18n/ko/references/07b-tasks-tickets.md +215 -0
- package/i18n/ko/references/07c-architecture-setup.md +197 -0
- package/i18n/ko/references/08-security-checklist.md +221 -0
- package/i18n/ko/references/rules-build.md +152 -0
- package/i18n/ko/references/rules-change-propagation.md +74 -0
- package/i18n/ko/references/rules-commands.md +98 -0
- package/i18n/ko/references/rules-context.md +291 -0
- package/i18n/ko/references/rules-custom.md +63 -0
- package/i18n/ko/references/rules-document-tools.md +126 -0
- package/i18n/ko/references/rules-end-of-flow.md +150 -0
- package/i18n/ko/references/rules-export-document.md +346 -0
- package/i18n/ko/references/rules-file-integration.md +65 -0
- package/i18n/ko/references/rules-full.md +66 -0
- package/i18n/ko/references/rules-import-document.md +261 -0
- package/i18n/ko/references/rules-product-type.md +14 -0
- package/i18n/ko/references/rules-progress.md +60 -0
- package/i18n/ko/references/rules-quick.md +29 -0
- package/i18n/ko/references/rules-revision.md +64 -0
- package/i18n/zh-CN/SKILL.md +245 -0
- package/i18n/zh-CN/commands/product-build.md +13 -0
- package/i18n/zh-CN/commands/product-dev.md +21 -0
- package/i18n/zh-CN/commands/product-full.md +13 -0
- package/i18n/zh-CN/commands/product-prd.md +14 -0
- package/i18n/zh-CN/commands/product-quick.md +13 -0
- package/i18n/zh-CN/commands/product-report.md +12 -0
- package/i18n/zh-CN/commands/product-revision.md +13 -0
- package/i18n/zh-CN/references/00-opportunity-check.md +44 -0
- package/i18n/zh-CN/references/01-strategy.md +90 -0
- package/i18n/zh-CN/references/02a-persona.md +57 -0
- package/i18n/zh-CN/references/02b-jtbd.md +125 -0
- package/i18n/zh-CN/references/02c-ost-journey.md +65 -0
- package/i18n/zh-CN/references/03-define.md +118 -0
- package/i18n/zh-CN/references/04a-prfaq.md +106 -0
- package/i18n/zh-CN/references/04b-solutions.md +269 -0
- package/i18n/zh-CN/references/04c-mvp.md +21 -0
- package/i18n/zh-CN/references/05a-northstar-aha.md +93 -0
- package/i18n/zh-CN/references/05b-pmf-gtm.md +102 -0
- package/i18n/zh-CN/references/05c-validation-spec.md +117 -0
- package/i18n/zh-CN/references/06-html-report.md +123 -0
- package/i18n/zh-CN/references/07a-handoff-core.md +152 -0
- package/i18n/zh-CN/references/07b-tasks-tickets.md +215 -0
- package/i18n/zh-CN/references/07c-architecture-setup.md +197 -0
- package/i18n/zh-CN/references/08-security-checklist.md +221 -0
- package/i18n/zh-CN/references/rules-build.md +152 -0
- package/i18n/zh-CN/references/rules-change-propagation.md +74 -0
- package/i18n/zh-CN/references/rules-commands.md +98 -0
- package/i18n/zh-CN/references/rules-context.md +291 -0
- package/i18n/zh-CN/references/rules-custom.md +63 -0
- package/i18n/zh-CN/references/rules-document-tools.md +126 -0
- package/i18n/zh-CN/references/rules-end-of-flow.md +150 -0
- package/i18n/zh-CN/references/rules-export-document.md +346 -0
- package/i18n/zh-CN/references/rules-file-integration.md +65 -0
- package/i18n/zh-CN/references/rules-full.md +66 -0
- package/i18n/zh-CN/references/rules-import-document.md +261 -0
- package/i18n/zh-CN/references/rules-product-type.md +14 -0
- package/i18n/zh-CN/references/rules-progress.md +60 -0
- package/i18n/zh-CN/references/rules-quick.md +29 -0
- package/i18n/zh-CN/references/rules-revision.md +64 -0
- package/i18n/zh-TW/SKILL.md +244 -0
- package/i18n/zh-TW/commands/product-build.md +13 -0
- package/i18n/zh-TW/commands/product-dev.md +21 -0
- package/i18n/zh-TW/commands/product-full.md +13 -0
- package/i18n/zh-TW/commands/product-prd.md +14 -0
- package/i18n/zh-TW/commands/product-quick.md +13 -0
- package/i18n/zh-TW/commands/product-report.md +12 -0
- package/i18n/zh-TW/commands/product-revision.md +13 -0
- package/i18n/zh-TW/references/00-opportunity-check.md +44 -0
- package/i18n/zh-TW/references/01-strategy.md +90 -0
- package/i18n/zh-TW/references/02a-persona.md +57 -0
- package/i18n/zh-TW/references/02b-jtbd.md +125 -0
- package/i18n/zh-TW/references/02c-ost-journey.md +65 -0
- package/i18n/zh-TW/references/03-define.md +118 -0
- package/i18n/zh-TW/references/04a-prfaq.md +106 -0
- package/i18n/zh-TW/references/04b-solutions.md +269 -0
- package/i18n/zh-TW/references/04c-mvp.md +21 -0
- package/i18n/zh-TW/references/05a-northstar-aha.md +93 -0
- package/i18n/zh-TW/references/05b-pmf-gtm.md +102 -0
- package/i18n/zh-TW/references/05c-validation-spec.md +117 -0
- package/i18n/zh-TW/references/06-html-report.md +123 -0
- package/i18n/zh-TW/references/07a-handoff-core.md +152 -0
- package/i18n/zh-TW/references/07b-tasks-tickets.md +215 -0
- package/i18n/zh-TW/references/07c-architecture-setup.md +197 -0
- package/i18n/zh-TW/references/08-security-checklist.md +221 -0
- package/i18n/zh-TW/references/rules-build.md +152 -0
- package/i18n/zh-TW/references/rules-change-propagation.md +74 -0
- package/i18n/zh-TW/references/rules-commands.md +98 -0
- package/i18n/zh-TW/references/rules-context.md +291 -0
- package/i18n/zh-TW/references/rules-custom.md +63 -0
- package/i18n/zh-TW/references/rules-document-tools.md +126 -0
- package/i18n/zh-TW/references/rules-end-of-flow.md +150 -0
- package/i18n/zh-TW/references/rules-export-document.md +346 -0
- package/i18n/zh-TW/references/rules-file-integration.md +65 -0
- package/i18n/zh-TW/references/rules-full.md +66 -0
- package/i18n/zh-TW/references/rules-import-document.md +261 -0
- package/i18n/zh-TW/references/rules-product-type.md +14 -0
- package/i18n/zh-TW/references/rules-progress.md +60 -0
- package/i18n/zh-TW/references/rules-quick.md +29 -0
- package/i18n/zh-TW/references/rules-revision.md +64 -0
- package/install.sh +418 -0
- package/package.json +41 -0
- package/references/00-opportunity-check.md +44 -0
- package/references/01-strategy.md +90 -0
- package/references/02a-persona.md +57 -0
- package/references/02b-jtbd.md +125 -0
- package/references/02c-ost-journey.md +65 -0
- package/references/03-define.md +118 -0
- package/references/04a-prfaq.md +106 -0
- package/references/04b-solutions.md +269 -0
- package/references/04c-mvp.md +21 -0
- package/references/05a-northstar-aha.md +93 -0
- package/references/05b-pmf-gtm.md +102 -0
- package/references/05c-validation-spec.md +117 -0
- package/references/06-html-report.md +123 -0
- package/references/07a-handoff-core.md +152 -0
- package/references/07b-tasks-tickets.md +215 -0
- package/references/07c-architecture-setup.md +197 -0
- package/references/08-security-checklist.md +221 -0
- package/references/rules-build.md +152 -0
- package/references/rules-change-propagation.md +74 -0
- package/references/rules-commands.md +98 -0
- package/references/rules-context.md +291 -0
- package/references/rules-custom.md +63 -0
- package/references/rules-document-tools.md +126 -0
- package/references/rules-end-of-flow.md +150 -0
- package/references/rules-export-document.md +346 -0
- package/references/rules-file-integration.md +65 -0
- package/references/rules-full.md +66 -0
- package/references/rules-import-document.md +261 -0
- package/references/rules-product-type.md +14 -0
- package/references/rules-progress.md +60 -0
- package/references/rules-quick.md +29 -0
- package/references/rules-revision.md +64 -0
- package/references/templates/prd-style.css +464 -0
- package/references/templates/report-style.css +114 -0
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
# Handoff de Desarrollo — ARCHITECTURE.md + setup.sh
|
|
2
|
+
|
|
3
|
+
## 📄 Plantilla ARCHITECTURE.md
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
# [Nombre del Producto] — Arquitectura Técnica
|
|
7
|
+
|
|
8
|
+
## Estructura de Directorios
|
|
9
|
+
|
|
10
|
+
[Generar la estructura de directorios correspondiente basada en el stack tecnológico]
|
|
11
|
+
|
|
12
|
+
## Diseño de Base de Datos
|
|
13
|
+
|
|
14
|
+
[Consolidar del DB Schema del PRD — convertir a SQL CREATE TABLE o definiciones de modelos ORM]
|
|
15
|
+
|
|
16
|
+
### Diagrama ER
|
|
17
|
+
|
|
18
|
+
[Mermaid erDiagram]
|
|
19
|
+
|
|
20
|
+
### Descripciones de Tablas Clave
|
|
21
|
+
|
|
22
|
+
| Tabla | Descripción | Campos Clave | Recomendaciones de Índices |
|
|
23
|
+
|-------|------------|-------------|--------------------------|
|
|
24
|
+
| | | | |
|
|
25
|
+
|
|
26
|
+
## Diseño de API
|
|
27
|
+
|
|
28
|
+
[Definir endpoints de API RESTful o schema GraphQL basado en User Stories y especificaciones de funcionalidades]
|
|
29
|
+
|
|
30
|
+
### Lista de Endpoints
|
|
31
|
+
|
|
32
|
+
| Método | Ruta | Descripción | Tarea Correspondiente |
|
|
33
|
+
|--------|------|------------|----------------------|
|
|
34
|
+
| GET | /api/v1/[recurso] | [Descripción] | T1.1 |
|
|
35
|
+
| POST | /api/v1/[recurso] | [Descripción] | T1.2 |
|
|
36
|
+
|
|
37
|
+
### Autenticación
|
|
38
|
+
|
|
39
|
+
[JWT / Session / OAuth, etc.]
|
|
40
|
+
|
|
41
|
+
## Servicios de Terceros
|
|
42
|
+
|
|
43
|
+
| Servicio | Propósito | Funcionalidad Correspondiente |
|
|
44
|
+
|----------|----------|-------------------------------|
|
|
45
|
+
| | | |
|
|
46
|
+
|
|
47
|
+
## Arquitectura de Seguridad
|
|
48
|
+
|
|
49
|
+
### Configuración CORS
|
|
50
|
+
|
|
51
|
+
| Configuración | Valor | Notas |
|
|
52
|
+
|--------------|-------|-------|
|
|
53
|
+
| Orígenes Permitidos | [Dominio de producción, localhost:puerto] | No usar wildcard * |
|
|
54
|
+
| Métodos Permitidos | GET, POST, PUT, DELETE | Basado en necesidades reales de API |
|
|
55
|
+
| Cabeceras Permitidas | Content-Type, Authorization | |
|
|
56
|
+
| Credentials | true/false | Depende del método de autenticación |
|
|
57
|
+
|
|
58
|
+
### Cabeceras de Seguridad
|
|
59
|
+
|
|
60
|
+
[Seleccionar cabeceras aplicables de references/08-security-checklist.md §5 basado en requisitos del producto]
|
|
61
|
+
|
|
62
|
+
### Estrategia de Rate Limiting
|
|
63
|
+
|
|
64
|
+
| Tipo de Endpoint | Límite | Método de Identificación |
|
|
65
|
+
|-----------------|-------|-------------------------|
|
|
66
|
+
| API General | [X] req/min | IP + User ID |
|
|
67
|
+
| Login/Registro | [X] req/min | IP |
|
|
68
|
+
| Subida de Archivos | [X] req/min | User ID |
|
|
69
|
+
|
|
70
|
+
### Manejo de Datos Sensibles
|
|
71
|
+
|
|
72
|
+
- Gestión de secretos: [.env + variables de entorno de plataforma / Secrets Manager]
|
|
73
|
+
- Reglas de logging: Nunca registrar contraseñas, tokens o datos personales
|
|
74
|
+
- Encriptación de datos: [TLS en tránsito / requisitos de encriptación en reposo]
|
|
75
|
+
|
|
76
|
+
> Lista completa de seguridad en `references/08-security-checklist.md`
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## 📄 Plantilla .gitignore
|
|
82
|
+
|
|
83
|
+
```gitignore
|
|
84
|
+
# Variables de entorno y secretos
|
|
85
|
+
.env
|
|
86
|
+
.env.local
|
|
87
|
+
.env.*.local
|
|
88
|
+
*.pem
|
|
89
|
+
*.key
|
|
90
|
+
|
|
91
|
+
# Progreso de planificación de producto (puede contener información de negocio sensible)
|
|
92
|
+
.product-playbook-progress.md
|
|
93
|
+
|
|
94
|
+
# IDE y OS
|
|
95
|
+
.idea/
|
|
96
|
+
.vscode/
|
|
97
|
+
*.swp
|
|
98
|
+
.DS_Store
|
|
99
|
+
Thumbs.db
|
|
100
|
+
|
|
101
|
+
# Dependencias
|
|
102
|
+
node_modules/
|
|
103
|
+
__pycache__/
|
|
104
|
+
*.pyc
|
|
105
|
+
venv/
|
|
106
|
+
|
|
107
|
+
# Output de build
|
|
108
|
+
dist/
|
|
109
|
+
build/
|
|
110
|
+
.next/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 📄 Plantilla setup.sh
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
#!/bin/bash
|
|
119
|
+
# [Nombre del Producto] — Script de Inicialización del Proyecto
|
|
120
|
+
# Uso: chmod +x scripts/setup.sh && ./scripts/setup.sh
|
|
121
|
+
|
|
122
|
+
set -e
|
|
123
|
+
|
|
124
|
+
echo "🚀 Inicializando [Nombre del Producto]..."
|
|
125
|
+
|
|
126
|
+
# ===== Verificar prerequisitos =====
|
|
127
|
+
command -v [node/python/etc] >/dev/null 2>&1 || { echo "❌ [runtime] es requerido"; exit 1; }
|
|
128
|
+
|
|
129
|
+
# ===== Instalar dependencias =====
|
|
130
|
+
echo "📦 Instalando dependencias..."
|
|
131
|
+
[npm install / pip install -r requirements.txt / etc]
|
|
132
|
+
|
|
133
|
+
# ===== Configuración del entorno =====
|
|
134
|
+
if [ ! -f .env ]; then
|
|
135
|
+
echo "📝 Creando archivo .env..."
|
|
136
|
+
cp .env.example .env
|
|
137
|
+
echo "⚠️ Por favor edita .env y completa las variables de entorno requeridas"
|
|
138
|
+
fi
|
|
139
|
+
|
|
140
|
+
# ===== Inicialización de base de datos =====
|
|
141
|
+
echo "🗄️ Inicializando base de datos..."
|
|
142
|
+
[comandos de migración]
|
|
143
|
+
|
|
144
|
+
echo ""
|
|
145
|
+
echo "✅ ¡Inicialización completa!"
|
|
146
|
+
echo ""
|
|
147
|
+
echo "Siguientes pasos:"
|
|
148
|
+
echo " 1. Edita .env para completar las variables de entorno"
|
|
149
|
+
echo " 2. Inicia el servidor de desarrollo: [comando de inicio]"
|
|
150
|
+
echo " 3. Comienza a desarrollar: claude \"Lee CLAUDE.md y TASKS.md, luego comienza a ejecutar la Fase 1\""
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Texto de Guía al Usuario
|
|
156
|
+
|
|
157
|
+
### En Claude Chat / Cowork
|
|
158
|
+
|
|
159
|
+
Después de producir el paquete de handoff, muestra la siguiente guía:
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
📦 ¡El paquete de handoff de desarrollo está listo! Incluye los siguientes archivos:
|
|
163
|
+
|
|
164
|
+
CLAUDE.md → Memoria de proyecto de Claude Code (contexto de producto + especificaciones técnicas)
|
|
165
|
+
TASKS.md → Lista de tareas de desarrollo (4 Fases, [N] Tareas en total)
|
|
166
|
+
TICKETS.md → Lista de tickets ([N] tickets, listos para crear en Jira/Asana/Linear)
|
|
167
|
+
docs/PRD.md → PRD completo
|
|
168
|
+
docs/ARCHITECTURE.md → Arquitectura técnica (esquema BD + API + estructura de directorios)
|
|
169
|
+
docs/PRODUCT-SPEC.md → Resumen de Spec de Producto
|
|
170
|
+
scripts/setup.sh → Script de inicialización en un solo comando
|
|
171
|
+
|
|
172
|
+
🔗 Cómo iniciar el desarrollo:
|
|
173
|
+
|
|
174
|
+
1. Descarga y extrae a tu carpeta de proyecto
|
|
175
|
+
2. Abre una terminal y navega a la carpeta del proyecto
|
|
176
|
+
3. Lanza Claude Code:
|
|
177
|
+
$ claude
|
|
178
|
+
4. Dile a Claude Code que comience:
|
|
179
|
+
> Lee CLAUDE.md y TASKS.md, luego comienza a ejecutar la Fase 0
|
|
180
|
+
|
|
181
|
+
💡 Consejos:
|
|
182
|
+
- Claude Code lee automáticamente CLAUDE.md, así que ya conoce el contexto completo del producto
|
|
183
|
+
- Después de completar cada Fase, preguntará si deseas proceder a la siguiente
|
|
184
|
+
- Para ajustar el alcance de funcionalidades, simplemente edita TASKS.md directamente
|
|
185
|
+
- La lista "Explícitamente No Hacer" en CLAUDE.md previene que Claude Code construya fuera del alcance
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Confirmación Final Pre-Output
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
Antes de producir el paquete de handoff de desarrollo, necesito confirmar algunas cosas:
|
|
192
|
+
|
|
193
|
+
1. Stack tecnológico: [Confirmado / Necesita confirmación]
|
|
194
|
+
2. Nombre del producto (para el nombre de la carpeta del proyecto): [Confirmado / Necesita confirmación]
|
|
195
|
+
3. ¿Alguna otra restricción o preferencia técnica?
|
|
196
|
+
- p.ej., Debe usar un ORM específico, necesita soportar navegadores específicos, CI/CD existente, etc.
|
|
197
|
+
```
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Lista de Verificación de Seguridad
|
|
2
|
+
|
|
3
|
+
> Se carga antes de producir el paquete de handoff de desarrollo. Asegura que los requisitos críticos de seguridad se consideren durante la fase de planificación de producto, previniendo que la seguridad sea una ocurrencia tardía.
|
|
4
|
+
|
|
5
|
+
## 🔐 Verificación Rápida de Arquitectura de Seguridad
|
|
6
|
+
|
|
7
|
+
Antes de producir el paquete de handoff de desarrollo, verifica cada uno de los siguientes aspectos de seguridad. Marca cada uno como ✅ (cubierto en planificación) o ❌ (necesita agregarse).
|
|
8
|
+
|
|
9
|
+
### 1. Autenticación y Autorización
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
| Ítem de Verificación | Estado | Notas |
|
|
13
|
+
|---------------------|--------|-------|
|
|
14
|
+
| Método de autenticación determinado (JWT / Session / OAuth / Passkey) | | |
|
|
15
|
+
| Almacenamiento de token es seguro (HttpOnly Cookie, no localStorage) | | |
|
|
16
|
+
| Expiración de token y mecanismo de refresh diseñado | | |
|
|
17
|
+
| Almacenamiento de contraseña usa bcrypt / argon2 (no MD5/SHA) | | |
|
|
18
|
+
| Modelo de permisos definido (RBAC / ABAC / roles simples) | | |
|
|
19
|
+
| Todos los endpoints API tienen verificaciones de autorización correspondientes | | |
|
|
20
|
+
| Fallos de login tienen protección contra fuerza bruta (bloqueo / retraso progresivo) | | |
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Mejores Prácticas JWT (si se usa JWT):**
|
|
24
|
+
- Usa Access Tokens de corta duración (15-30 minutos) + Refresh Tokens de larga duración
|
|
25
|
+
- Almacena Refresh Tokens en HttpOnly Secure Cookies
|
|
26
|
+
- Implementa Token Revocation (invalida Refresh Token al cerrar sesión)
|
|
27
|
+
- No almacenes información sensible en el payload del JWT
|
|
28
|
+
|
|
29
|
+
### 2. Política CORS (Cross-Origin Resource Sharing)
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
| Ítem de Verificación | Estado | Notas |
|
|
33
|
+
|---------------------|--------|-------|
|
|
34
|
+
| Lista de orígenes permitidos definida (sin wildcard *) | | |
|
|
35
|
+
| Solo métodos HTTP necesarios están permitidos | | |
|
|
36
|
+
| Access-Control-Allow-Credentials configurado | | |
|
|
37
|
+
| Duración de caché de preflight es razonable (Access-Control-Max-Age) | | |
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Plantilla de Configuración CORS:**
|
|
41
|
+
```
|
|
42
|
+
Orígenes Permitidos:
|
|
43
|
+
- Producción: https://[tu-dominio.com]
|
|
44
|
+
- Desarrollo: http://localhost:[puerto]
|
|
45
|
+
|
|
46
|
+
Métodos Permitidos: GET, POST, PUT, DELETE, PATCH
|
|
47
|
+
Cabeceras Permitidas: Content-Type, Authorization
|
|
48
|
+
Credentials: true (si se usa autenticación basada en cookies)
|
|
49
|
+
Max-Age: 86400 (24 horas)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3. Validación de Input y Sanitización
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
| Ítem de Verificación | Estado | Notas |
|
|
56
|
+
|---------------------|--------|-------|
|
|
57
|
+
| Todos los inputs de API tienen validación del lado del servidor | | |
|
|
58
|
+
| Se usan consultas parametrizadas para prevenir SQL Injection | | |
|
|
59
|
+
| Input de usuario tiene output-encoding antes de renderizar a HTML (prevención XSS) | | |
|
|
60
|
+
| Subidas de archivos tienen restricciones de tipo / tamaño | | |
|
|
61
|
+
| URL / destinos de redirección tienen validación por whitelist (prevención Open Redirect) | | |
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**Principios de Validación:**
|
|
65
|
+
- La validación frontend es UX; la validación backend es seguridad — ambas son necesarias, pero la validación backend es innegociable
|
|
66
|
+
- Usa una Biblioteca de Validación de Schema (p.ej., Zod, Joi, Pydantic) para lógica de validación unificada
|
|
67
|
+
- Rechaza inputs que no coincidan con formatos esperados — no intentes "arreglar" el input del usuario
|
|
68
|
+
|
|
69
|
+
### 4. Protección CSRF (Cross-Site Request Forgery)
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
| Ítem de Verificación | Estado | Notas |
|
|
73
|
+
|---------------------|--------|-------|
|
|
74
|
+
| Operaciones que cambian estado usan POST/PUT/DELETE (no GET) | | |
|
|
75
|
+
| CSRF Token implementado o SameSite Cookie usado | | |
|
|
76
|
+
| Operaciones críticas tienen confirmación secundaria | | |
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### 5. Cabeceras de Seguridad
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
| Cabecera | Propósito | Valor Recomendado |
|
|
83
|
+
|----------|----------|-------------------|
|
|
84
|
+
| Content-Security-Policy (CSP) | Prevenir XSS, inyección de datos | default-src 'self'; script-src 'self' |
|
|
85
|
+
| X-Content-Type-Options | Prevenir MIME sniffing | nosniff |
|
|
86
|
+
| X-Frame-Options | Prevenir clickjacking | DENY o SAMEORIGIN |
|
|
87
|
+
| Strict-Transport-Security (HSTS) | Forzar HTTPS | max-age=31536000; includeSubDomains |
|
|
88
|
+
| X-XSS-Protection | Filtro XSS del navegador | 0 (depender de CSP es más confiable) |
|
|
89
|
+
| Referrer-Policy | Controlar información de referrer | strict-origin-when-cross-origin |
|
|
90
|
+
| Permissions-Policy | Restringir funcionalidades del navegador | camera=(), microphone=(), geolocation=() |
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 6. Seguridad API y Rate Limiting
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
| Ítem de Verificación | Estado | Notas |
|
|
97
|
+
|---------------------|--------|-------|
|
|
98
|
+
| API tiene rate limiting global (p.ej., 100 req/min/IP) | | |
|
|
99
|
+
| Endpoints sensibles tienen límites más estrictos (login 5 req/min, registro 3 req/min) | | |
|
|
100
|
+
| Respuestas de error API no filtran detalles internos (stack traces, sentencias SQL) | | |
|
|
101
|
+
| Estrategia de versionamiento de API determinada (/api/v1/) | | |
|
|
102
|
+
| Endpoints de datos masivos tienen límites de paginación | | |
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Recomendaciones de Diseño de Rate Limiting:**
|
|
106
|
+
```
|
|
107
|
+
| Tipo de Endpoint | Límite Recomendado | Método de Identificación |
|
|
108
|
+
|-----------------|-------------------|-------------------------|
|
|
109
|
+
| API General | 100 req/min | IP + User ID |
|
|
110
|
+
| Login/Registro | 5 req/min | IP |
|
|
111
|
+
| Restablecimiento de Contraseña | 3 req/hora | IP + Email |
|
|
112
|
+
| Subida de Archivos | 10 req/min | User ID |
|
|
113
|
+
| Búsqueda/Consulta | 30 req/min | IP + User ID |
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### 7. Anti-Scraping y Protección contra Bots
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
| Ítem de Verificación | Estado | Notas |
|
|
120
|
+
|---------------------|--------|-------|
|
|
121
|
+
| robots.txt configurado (restringir rutas sensibles) | | |
|
|
122
|
+
| Formularios críticos tienen protección contra bots (reCAPTCHA / hCaptcha / Honeypot) | | |
|
|
123
|
+
| API tiene verificaciones de User-Agent (opcional) | | |
|
|
124
|
+
| Operaciones sensibles tienen análisis de comportamiento (opcional, avanzado) | | |
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
**Estrategia de Protección por Capas:**
|
|
128
|
+
1. **Capa básica**: Rate Limiting + robots.txt — Todo producto debería tener esto
|
|
129
|
+
2. **Capa estándar**: + CAPTCHA (registro/login) + campos Honeypot — Recomendado para productos B2C
|
|
130
|
+
3. **Capa avanzada**: + Análisis de comportamiento + reputación de IP + Device Fingerprint — Productos de alto riesgo
|
|
131
|
+
|
|
132
|
+
### 8. Protección de Datos Sensibles
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
| Ítem de Verificación | Estado | Notas |
|
|
136
|
+
|---------------------|--------|-------|
|
|
137
|
+
| Datos sensibles encriptados en tránsito (HTTPS/TLS) | | |
|
|
138
|
+
| Datos sensibles encriptados en reposo (si es requerido) | | |
|
|
139
|
+
| Secretos y claves no almacenados en código | | |
|
|
140
|
+
| .env y archivos sensibles agregados a .gitignore | | |
|
|
141
|
+
| Logs no registran contraseñas, tokens, números de tarjeta de crédito, etc. | | |
|
|
142
|
+
| Política clara de retención y eliminación de datos (GDPR si aplica) | | |
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Recomendaciones de Gestión de Secretos:**
|
|
146
|
+
- Desarrollo: Archivo `.env` (no en control de versiones) + `.env.example` (solo nombres de claves, sin valores)
|
|
147
|
+
- Producción: Usar gestión de variables de entorno de la plataforma (Vercel Environment Variables / Railway Variables / AWS Secrets Manager)
|
|
148
|
+
- Nunca mencionar secretos en mensajes de commit, descripciones de PR o issues
|
|
149
|
+
|
|
150
|
+
### 9. Plantilla de Seguridad .gitignore
|
|
151
|
+
|
|
152
|
+
```gitignore
|
|
153
|
+
# Variables de entorno y secretos
|
|
154
|
+
.env
|
|
155
|
+
.env.local
|
|
156
|
+
.env.*.local
|
|
157
|
+
*.pem
|
|
158
|
+
*.key
|
|
159
|
+
|
|
160
|
+
# Progreso de planificación de producto (puede contener información de negocio sensible)
|
|
161
|
+
.product-playbook-progress.md
|
|
162
|
+
|
|
163
|
+
# IDE y OS
|
|
164
|
+
.idea/
|
|
165
|
+
.vscode/
|
|
166
|
+
*.swp
|
|
167
|
+
.DS_Store
|
|
168
|
+
Thumbs.db
|
|
169
|
+
|
|
170
|
+
# Dependencias
|
|
171
|
+
node_modules/
|
|
172
|
+
__pycache__/
|
|
173
|
+
*.pyc
|
|
174
|
+
venv/
|
|
175
|
+
|
|
176
|
+
# Output de build
|
|
177
|
+
dist/
|
|
178
|
+
build/
|
|
179
|
+
.next/
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 🏷️ Referencia Rápida OWASP Top 10
|
|
185
|
+
|
|
186
|
+
| # | Riesgo | ¿Relevante para Este Producto? | Verificación Correspondiente |
|
|
187
|
+
|---|--------|-------------------------------|----------------------------|
|
|
188
|
+
| A01 | Broken Access Control | [Sí/No] | §1 Autenticación y Autorización |
|
|
189
|
+
| A02 | Cryptographic Failures | [Sí/No] | §8 Protección de Datos Sensibles |
|
|
190
|
+
| A03 | Injection (SQL / XSS / Command) | [Sí/No] | §3 Validación de Input |
|
|
191
|
+
| A04 | Insecure Design | [Sí/No] | Diseño general de arquitectura |
|
|
192
|
+
| A05 | Security Misconfiguration | [Sí/No] | §5 Cabeceras + §2 CORS |
|
|
193
|
+
| A06 | Vulnerable Components | [Sí/No] | Gestión de dependencias (npm audit / pip audit) |
|
|
194
|
+
| A07 | Authentication Failures | [Sí/No] | §1 Autenticación y Autorización |
|
|
195
|
+
| A08 | Data Integrity Failures | [Sí/No] | §3 Validación de Input + §8 Protección de Datos |
|
|
196
|
+
| A09 | Logging & Monitoring Failures | [Sí/No] | §8 Reglas de logging |
|
|
197
|
+
| A10 | SSRF (Server-Side Request Forgery) | [Sí/No] | §3 Validación de URL por whitelist |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 📎 Momento de Integración
|
|
202
|
+
|
|
203
|
+
| Disparador | Acción de Integración |
|
|
204
|
+
|-----------|----------------------|
|
|
205
|
+
| Antes de producir el paquete de handoff de desarrollo | Ejecutar la verificación rápida de seguridad, integrar resultados en las secciones "Alertas de Riesgo" de CLAUDE.md y "Arquitectura de Seguridad" de ARCHITECTURE.md |
|
|
206
|
+
| Al producir el PRD | Integrar resultados de verificación de seguridad en PRD §6 "Consideraciones Técnicas → Requisitos de Seguridad" |
|
|
207
|
+
| Paso de Pre-mortem | Invitar al usuario a considerar escenarios de falla de seguridad |
|
|
208
|
+
| Modo Revisión S1 | Invitar al usuario a proporcionar la postura de seguridad actual del producto existente |
|
|
209
|
+
|
|
210
|
+
## Autoevaluación de Calidad
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
| Ítem de Verificación | ✅/❌ |
|
|
214
|
+
|---------------------|------|
|
|
215
|
+
| Método de autenticación elegido explícitamente, no dejado como "TBD" | |
|
|
216
|
+
| Al menos 3 cabeceras de seguridad planificadas | |
|
|
217
|
+
| Estrategia de rate limiting adaptada a las características del producto (no solo copiada de la plantilla) | |
|
|
218
|
+
| .gitignore incluye todos los archivos sensibles | |
|
|
219
|
+
| Todos los ítems OWASP Top 10 marcados como "relevantes" tienen medidas correspondientes | |
|
|
220
|
+
| Complejidad de medidas de seguridad coincide con la etapa del producto (MVP no necesita seguridad perfecta, pero lo básico es innegociable) | |
|
|
221
|
+
```
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# ⚡ Secuencia de Pasos del Modo Build (7 Pasos + Output Final)
|
|
2
|
+
|
|
3
|
+
> Este archivo es la definición autoritativa de pasos para el Modo Build. Cargado por el despachador central de SKILL.md.
|
|
4
|
+
|
|
5
|
+
> ⚠️ Recordatorio obligatorio: "Omitir la fase de investigación de usuarios significa que tu solución está construida sobre suposiciones. Recomendamos realizar Descubrimiento Continuo lo antes posible después de la ejecución para validar."
|
|
6
|
+
|
|
7
|
+
## Secuencia de Pasos
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
S1. Confirmar declaración del problema (una oración)
|
|
11
|
+
S2. PR-FAQ → Leer references/04a-prfaq.md
|
|
12
|
+
S3. Soluciones paralelas → Leer references/04b-solutions.md → 3.2
|
|
13
|
+
S4. Pre-mortem → Leer references/04b-solutions.md → 3.3
|
|
14
|
+
S5. Priorización GEM + RICE → Leer references/04b-solutions.md → 3.4 + 3.5
|
|
15
|
+
S6. MVP + Lista de No Hacer → Leer references/04c-mvp.md
|
|
16
|
+
S7. North Star + Aha Moment → Leer references/05a-northstar-aha.md
|
|
17
|
+
────
|
|
18
|
+
Output Final → Resumen de ejecución orientado a ingenieros
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Instrucciones de Carga de Referencias
|
|
22
|
+
|
|
23
|
+
| Paso | Archivo de Referencia |
|
|
24
|
+
|------|----------------------|
|
|
25
|
+
| S1 | No se necesita referencia externa (guiar directamente al usuario para declarar el problema) |
|
|
26
|
+
| S2 | `references/04a-prfaq.md` |
|
|
27
|
+
| S3-S5 | `references/04b-solutions.md` |
|
|
28
|
+
| S6 | `references/04c-mvp.md` |
|
|
29
|
+
| S7 | `references/05a-northstar-aha.md` |
|
|
30
|
+
|
|
31
|
+
## Formato del Output Final
|
|
32
|
+
|
|
33
|
+
**Resumen de ejecución orientado a ingenieros**: Decisiones de solución → Límites del MVP → Métricas de éxito → Riesgos clave
|
|
34
|
+
|
|
35
|
+
Al completar, sigue `references/rules-end-of-flow.md` para ejecutar las reglas de fin de flujo.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 🔧 Ruta Rápida de Extensión de Feature (4 Pasos)
|
|
40
|
+
|
|
41
|
+
> Se cambia automáticamente a esta ruta cuando el usuario está **agregando una sola funcionalidad a un producto existente**.
|
|
42
|
+
> Condiciones de activación: La descripción del usuario incluye frases como "agregar una funcionalidad," "nueva funcionalidad," "agregar funcionalidad XX," "sobre el sistema existente," "el producto existente necesita," etc.
|
|
43
|
+
|
|
44
|
+
**Diferencias con el Modo Build completo (7 pasos)**: Un producto existente ya tiene North Star, Aha Moment y posicionamiento de producto — no es necesario redefinirlos. Una sola funcionalidad no requiere un comunicado de prensa PR-FAQ ni una re-priorización completa GEM+RICE. El enfoque está en "qué agregar, cómo agregarlo, y si romperá funcionalidades existentes."
|
|
45
|
+
|
|
46
|
+
### Secuencia de Pasos de Extensión de Feature
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
S1. Problema + contexto del sistema existente
|
|
50
|
+
S2. Tres soluciones paralelas + pros/contras + recomendación AI → Leer references/04b-solutions.md → 3.2
|
|
51
|
+
S3. Evaluación de riesgos (regresión + compatibilidad) → Leer references/04b-solutions.md → 3.3
|
|
52
|
+
S4. Alcance de ejecución (qué hacer / qué no tocar / criterios de aceptación) → Leer references/04c-mvp.md
|
|
53
|
+
────
|
|
54
|
+
Output Final → Especificación de desarrollo de feature
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Pre-paso S1: Carga de Contexto de Producto
|
|
58
|
+
|
|
59
|
+
Antes de entrar a S1, lee `references/rules-context.md` y verifica `.product-context.md`:
|
|
60
|
+
|
|
61
|
+
- **Contexto completo disponible (Escenario 1)**: Trae automáticamente nombre del producto, stack tecnológico, módulos clave, y las 3 entradas más recientes del Historial de Decisiones. Cambia la guía de S1 a **estilo confirmación**: "Tu producto es [nombre], usando [stack tecnológico], con módulos clave incluyendo [lista de módulos]. ¿Qué funcionalidad quieres agregar? ¿Qué módulos serán afectados?" (Preguntas 2 y parte de la pregunta 3 están pre-llenadas — solo necesita confirmación)
|
|
62
|
+
- **Sin contexto (Escenario 2)**: Activar Context Bootstrap (`rules-context.md` Sección 4), luego proceder al S1 estándar abajo
|
|
63
|
+
- **Contexto parcial (Escenario 3)**: Traer stack tecnológico y módulos conocidos (fusionados del Historial de Decisiones), y recopilar las partes faltantes. Por ejemplo: "Además de [módulos conocidos], ¿hay otros módulos que podrían verse afectados?"
|
|
64
|
+
|
|
65
|
+
### Contenido de Guía S1 (Problema + Contexto del Sistema Existente)
|
|
66
|
+
|
|
67
|
+
Claude necesita recopilar la siguiente información (guiar paso a paso — no hacer todas las preguntas a la vez. Si el contexto ya ha pre-llenado algunas respuestas, confirmar en lugar de re-recopilar):
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
1. ¿Qué funcionalidad quieres agregar? ¿Qué problema resuelve?
|
|
71
|
+
2. Resumen de la arquitectura actual del producto (stack tecnológico, módulos clave) ← el contexto puede pre-llenar
|
|
72
|
+
3. ¿Qué módulos existentes afectará esta funcionalidad? ← el contexto puede pre-llenar parcialmente
|
|
73
|
+
4. ¿Hay algún feedback de usuarios o datos que respalden este requisito?
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Contenido de Guía S2 (Tres Soluciones Paralelas + Recomendación AI)
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
| HMW | Solución A (Conservadora / cambio mínimo) | Solución B (Equilibrada) | Solución C (Audaz / refactorización) |
|
|
80
|
+
|-----|------------------------------------------|-------------------------|-------------------------------------|
|
|
81
|
+
| [Problema] | | | |
|
|
82
|
+
|
|
83
|
+
| Solución | Pros | Contras | Alcance de Impacto | Complejidad de Implementación |
|
|
84
|
+
|----------|------|---------|-------------------|-------------------------------|
|
|
85
|
+
| A | | | | |
|
|
86
|
+
| B | | | | |
|
|
87
|
+
| C | | | | |
|
|
88
|
+
|
|
89
|
+
🤖 Recomendación AI: Solución [X]
|
|
90
|
+
Justificación: [Juicio integral basado en alcance de impacto, complejidad y riesgo]
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Contenido de Guía S3 (Evaluación de Riesgos — Enfocada en Regresión y Compatibilidad)
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
| Tipo de Riesgo | Riesgo Específico | Probabilidad | Mitigación |
|
|
97
|
+
|---------------|-------------------|-------------|-----------|
|
|
98
|
+
| Riesgo de regresión | [Áreas donde funcionalidades existentes pueden verse afectadas] | | |
|
|
99
|
+
| Riesgo de compatibilidad | [Conflictos con arquitectura/datos/APIs existentes] | | |
|
|
100
|
+
| Riesgo de rendimiento | [Impacto de la nueva funcionalidad en el rendimiento del sistema] | | |
|
|
101
|
+
| Riesgo de seguridad | [Consideraciones de seguridad introducidas por la nueva funcionalidad] | | |
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Contenido de Guía S4 (Alcance de Ejecución)
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
**Qué hacer (Alcance)**:
|
|
108
|
+
- [Ítems específicos de funcionalidad a agregar]
|
|
109
|
+
- [Módulos existentes que necesitan modificación]
|
|
110
|
+
|
|
111
|
+
**No Tocar**:
|
|
112
|
+
- [Módulos y funcionalidades que explícitamente no se deben modificar]
|
|
113
|
+
- [Razón para no tocarlos]
|
|
114
|
+
|
|
115
|
+
**Criterios de Aceptación**:
|
|
116
|
+
- [ ] [Condición específica comprobable]
|
|
117
|
+
- [ ] [Prueba de regresión: confirmar que funcionalidades existentes no se ven afectadas]
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Formato del Output Final de Extensión de Feature
|
|
121
|
+
|
|
122
|
+
**Especificación de desarrollo de feature**: Declaración del problema → Solución seleccionada + justificación → Alcance de impacto → Alcance de ejecución + criterios de aceptación → Lista de riesgos
|
|
123
|
+
|
|
124
|
+
### Salida Incremental de Documento (cuando hay documento fuente disponible)
|
|
125
|
+
|
|
126
|
+
Si el usuario subió un documento fuente (PRD, especificación, etc.) durante el proceso:
|
|
127
|
+
|
|
128
|
+
1. **Versión incremental** (predeterminada cuando existe documento fuente):
|
|
129
|
+
- Insertar/modificar secciones en la estructura del documento original
|
|
130
|
+
- Mantener el formato, estilo y convenciones de nomenclatura del archivo original
|
|
131
|
+
- Contenido nuevo marcado con `[NEW]`
|
|
132
|
+
- Contenido modificado marcado con `[UPDATED]` con el original preservado como referencia
|
|
133
|
+
- Las secciones no relacionadas con la nueva funcionalidad permanecen completamente intactas
|
|
134
|
+
|
|
135
|
+
2. **Versión independiente** (cuando no hay documento fuente):
|
|
136
|
+
- Usar el formato estándar de especificación de desarrollo de feature (como se definió arriba)
|
|
137
|
+
|
|
138
|
+
3. **Preguntar al usuario antes de generar**:
|
|
139
|
+
"Detecté que subiste un [tipo de documento]. ¿Cómo deseas la salida?
|
|
140
|
+
A) Actualización incremental sobre el documento original (recomendado)
|
|
141
|
+
B) Especificación de desarrollo de feature independiente"
|
|
142
|
+
|
|
143
|
+
### Instrucciones de Carga de Referencias
|
|
144
|
+
|
|
145
|
+
| Paso | Archivo de Referencia |
|
|
146
|
+
|------|----------------------|
|
|
147
|
+
| S1 | No se necesita referencia externa |
|
|
148
|
+
| S2 | `references/04b-solutions.md` → 3.2 |
|
|
149
|
+
| S3 | `references/04b-solutions.md` → 3.3 |
|
|
150
|
+
| S4 | `references/04c-mvp.md` |
|
|
151
|
+
|
|
152
|
+
Al completar, sigue `references/rules-end-of-flow.md` para ejecutar las reglas de fin de flujo.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# 🔄 Reglas de Propagación de Cambios
|
|
2
|
+
|
|
3
|
+
> Se carga cuando el usuario modifica un paso previamente completado.
|
|
4
|
+
|
|
5
|
+
## 📍 Indicador de Progreso (debe mostrarse en cada paso)
|
|
6
|
+
|
|
7
|
+
Al ejecutar cualquier paso, Claude debe mostrar una barra de progreso al inicio de la respuesta, en este formato:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
11
|
+
📍 [Modo de Ejecución] | Progreso S[número de paso actual] / S[total de pasos]
|
|
12
|
+
✅ S1: [Nombre del paso] (completado)
|
|
13
|
+
✅ S2: [Nombre del paso] (completado)
|
|
14
|
+
▶️ S3: [Nombre del paso] (en progreso)
|
|
15
|
+
⬜ S4: [Nombre del paso] (pendiente)
|
|
16
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Este indicador de progreso debe aparecer en las siguientes situaciones:
|
|
20
|
+
- Al entrar a un nuevo paso
|
|
21
|
+
- Cuando el usuario regresa a un paso para hacer modificaciones
|
|
22
|
+
- Al completar un paso y solicitar confirmación del usuario antes de pasar al siguiente
|
|
23
|
+
|
|
24
|
+
## Métodos de Activación
|
|
25
|
+
- "Volver a Persona," "Volver a JTBD," "Volver a HMW," "Volver a PR-FAQ," o cualquier otro nombre de paso
|
|
26
|
+
- "Quiero modificar [nombre del paso]," "[nombre del paso] — quiero cambiar algo"
|
|
27
|
+
- Referirse directamente a una tabla o contenido ya producido con "cambia esto a..."
|
|
28
|
+
|
|
29
|
+
## Acciones Requeridas Después de Modificación
|
|
30
|
+
|
|
31
|
+
Cuando cualquier paso se modifica, Claude **debe realizar proactivamente las siguientes verificaciones**:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Capa Modificada Downstream Afectado (debe re-confirmar o actualizar)
|
|
35
|
+
─────────────────────────────────────────────────────
|
|
36
|
+
Persona / JTBD → HMW, Tabla de Evaluación de Oportunidades, Posicionamiento, PR-FAQ, North Star, Resumen de Spec de Producto
|
|
37
|
+
HMW / Evaluación de Oportunidades → PR-FAQ, Soluciones Paralelas, MVP, North Star, Resumen de Spec de Producto
|
|
38
|
+
Posicionamiento → PR-FAQ, Resumen de Spec de Producto
|
|
39
|
+
PR-FAQ / Soluciones → Pre-mortem, GEM/RICE, MVP, Aha Moment, Resumen de Spec de Producto
|
|
40
|
+
MVP / Lista de No Hacer → User Story, esquema BD (si ya se generó), Resumen de Spec de Producto
|
|
41
|
+
North Star / Métricas → Plan de Validación de Hipótesis, Resumen de Spec de Producto
|
|
42
|
+
Resumen de Spec de Producto → Reporte HTML, PRD (si ya se generó)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Dependencia de Extensión de Funcionalidad:
|
|
46
|
+
```
|
|
47
|
+
Dependencia de Extensión de Funcionalidad:
|
|
48
|
+
─────────────────────────────────────────────────────
|
|
49
|
+
S1 (Problema + Contexto) → S2 (Soluciones), S3 (Riesgos), S4 (Alcance de Ejecución)
|
|
50
|
+
S2 (Solución Seleccionada) → S3 (Riesgos), S4 (Alcance de Ejecución)
|
|
51
|
+
S3 (Evaluación de Riesgos) → S4 (Alcance de Ejecución)
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Proceso de Ejecución
|
|
55
|
+
|
|
56
|
+
1. **Informar al usuario del alcance del impacto**: "Modificaste [paso]. Esto afecta [lista de pasos downstream]. Actualizaré cada uno."
|
|
57
|
+
2. **Confirmar o auto-actualizar ítems downstream**:
|
|
58
|
+
- Si el cambio downstream es menor (ajustes de redacción) → Actualizar directamente y explicar qué cambió
|
|
59
|
+
- Si el cambio downstream es significativo (cambio de dirección) → Solicitar confirmación del usuario sobre la nueva dirección antes de actualizar
|
|
60
|
+
3. **Re-integrar el Resumen de Spec de Producto**
|
|
61
|
+
4. **Si ya se generó un reporte HTML o PRD**: Re-generarlo directamente y producir un snapshot de versión:
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
📋 Snapshot de Versión v[versión anterior] → v[nueva versión]
|
|
65
|
+
Paso modificado: [Nombre del paso]
|
|
66
|
+
Contenido clave antes de modificación: [1-3 oraciones]
|
|
67
|
+
Contenido clave después de modificación: [1-3 oraciones]
|
|
68
|
+
Actualizaciones downstream activadas: [Qué pasos también se ajustaron]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Principios
|
|
72
|
+
- Ninguna modificación ocurre en silencio — el alcance del impacto siempre debe comunicarse explícitamente
|
|
73
|
+
- El usuario tiene el derecho de elegir "solo modificar este paso, dejar downstream como está por ahora." Claude debe marcar qué partes están desactualizadas (agregar etiqueta ⚠️ Necesita Actualización)
|
|
74
|
+
- El historial de modificaciones permanece rastreable dentro de la conversación
|