@planu/cli 0.31.0 → 0.33.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.
Files changed (122) hide show
  1. package/dist/config/license-plans.json +4 -1
  2. package/dist/config/team-templates.json +39 -0
  3. package/dist/engine/license-validator/core.d.ts.map +1 -1
  4. package/dist/engine/license-validator/core.js +7 -4
  5. package/dist/engine/license-validator/core.js.map +1 -1
  6. package/dist/engine/spec-templates/fintech-compliance.d.ts +4 -0
  7. package/dist/engine/spec-templates/fintech-compliance.d.ts.map +1 -0
  8. package/dist/engine/spec-templates/fintech-compliance.js +111 -0
  9. package/dist/engine/spec-templates/fintech-compliance.js.map +1 -0
  10. package/dist/engine/spec-templates/fintech-kyc.d.ts +4 -0
  11. package/dist/engine/spec-templates/fintech-kyc.d.ts.map +1 -0
  12. package/dist/engine/spec-templates/fintech-kyc.js +125 -0
  13. package/dist/engine/spec-templates/fintech-kyc.js.map +1 -0
  14. package/dist/engine/spec-templates/fintech-transactions.d.ts +4 -0
  15. package/dist/engine/spec-templates/fintech-transactions.d.ts.map +1 -0
  16. package/dist/engine/spec-templates/fintech-transactions.js +120 -0
  17. package/dist/engine/spec-templates/fintech-transactions.js.map +1 -0
  18. package/dist/engine/spec-templates/templates-industry-fintech.d.ts +3 -7
  19. package/dist/engine/spec-templates/templates-industry-fintech.d.ts.map +1 -1
  20. package/dist/engine/spec-templates/templates-industry-fintech.js +4 -348
  21. package/dist/engine/spec-templates/templates-industry-fintech.js.map +1 -1
  22. package/dist/engine/team-planner/distribution-planner.d.ts +7 -0
  23. package/dist/engine/team-planner/distribution-planner.d.ts.map +1 -0
  24. package/dist/engine/team-planner/distribution-planner.js +78 -0
  25. package/dist/engine/team-planner/distribution-planner.js.map +1 -0
  26. package/dist/engine/team-planner/index.d.ts +4 -0
  27. package/dist/engine/team-planner/index.d.ts.map +1 -0
  28. package/dist/engine/team-planner/index.js +5 -0
  29. package/dist/engine/team-planner/index.js.map +1 -0
  30. package/dist/engine/team-planner/prompt-builder.d.ts +7 -0
  31. package/dist/engine/team-planner/prompt-builder.d.ts.map +1 -0
  32. package/dist/engine/team-planner/prompt-builder.js +79 -0
  33. package/dist/engine/team-planner/prompt-builder.js.map +1 -0
  34. package/dist/engine/team-planner/result-validator.d.ts +7 -0
  35. package/dist/engine/team-planner/result-validator.d.ts.map +1 -0
  36. package/dist/engine/team-planner/result-validator.js +51 -0
  37. package/dist/engine/team-planner/result-validator.js.map +1 -0
  38. package/dist/index.js +2 -0
  39. package/dist/index.js.map +1 -1
  40. package/dist/tools/create-spec/post-creation.d.ts +3 -1
  41. package/dist/tools/create-spec/post-creation.d.ts.map +1 -1
  42. package/dist/tools/create-spec/post-creation.js +37 -1
  43. package/dist/tools/create-spec/post-creation.js.map +1 -1
  44. package/dist/tools/create-spec.d.ts.map +1 -1
  45. package/dist/tools/create-spec.js +6 -1
  46. package/dist/tools/create-spec.js.map +1 -1
  47. package/dist/tools/generate-teammate-prompt.d.ts +17 -0
  48. package/dist/tools/generate-teammate-prompt.d.ts.map +1 -0
  49. package/dist/tools/generate-teammate-prompt.js +86 -0
  50. package/dist/tools/generate-teammate-prompt.js.map +1 -0
  51. package/dist/tools/git/hook-ops.d.ts.map +1 -1
  52. package/dist/tools/git/hook-ops.js +10 -1
  53. package/dist/tools/git/hook-ops.js.map +1 -1
  54. package/dist/tools/init-project/handler.d.ts.map +1 -1
  55. package/dist/tools/init-project/handler.js +71 -1
  56. package/dist/tools/init-project/handler.js.map +1 -1
  57. package/dist/tools/init-project/helpers.d.ts +2 -2
  58. package/dist/tools/init-project/helpers.d.ts.map +1 -1
  59. package/dist/tools/init-project/helpers.js +3 -11
  60. package/dist/tools/init-project/helpers.js.map +1 -1
  61. package/dist/tools/init-project/result-builder.d.ts.map +1 -1
  62. package/dist/tools/init-project/result-builder.js +6 -0
  63. package/dist/tools/init-project/result-builder.js.map +1 -1
  64. package/dist/tools/list-specs.d.ts.map +1 -1
  65. package/dist/tools/list-specs.js +16 -0
  66. package/dist/tools/list-specs.js.map +1 -1
  67. package/dist/tools/plan-team-distribution.d.ts +9 -0
  68. package/dist/tools/plan-team-distribution.d.ts.map +1 -0
  69. package/dist/tools/plan-team-distribution.js +138 -0
  70. package/dist/tools/plan-team-distribution.js.map +1 -0
  71. package/dist/tools/register-team-tools.d.ts +3 -0
  72. package/dist/tools/register-team-tools.d.ts.map +1 -0
  73. package/dist/tools/register-team-tools.js +47 -0
  74. package/dist/tools/register-team-tools.js.map +1 -0
  75. package/dist/tools/update-status.d.ts.map +1 -1
  76. package/dist/tools/update-status.js +71 -3
  77. package/dist/tools/update-status.js.map +1 -1
  78. package/dist/tools/validate-team-results.d.ts +9 -0
  79. package/dist/tools/validate-team-results.d.ts.map +1 -0
  80. package/dist/tools/validate-team-results.js +82 -0
  81. package/dist/tools/validate-team-results.js.map +1 -0
  82. package/dist/types/index.d.ts +1 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/index.js +1 -0
  85. package/dist/types/index.js.map +1 -1
  86. package/dist/types/project/agent.d.ts +12 -0
  87. package/dist/types/project/agent.d.ts.map +1 -0
  88. package/dist/types/project/agent.js +3 -0
  89. package/dist/types/project/agent.js.map +1 -0
  90. package/dist/types/project/architecture-detection.d.ts +23 -0
  91. package/dist/types/project/architecture-detection.d.ts.map +1 -0
  92. package/dist/types/project/architecture-detection.js +2 -0
  93. package/dist/types/project/architecture-detection.js.map +1 -0
  94. package/dist/types/project/config-metrics.d.ts +29 -0
  95. package/dist/types/project/config-metrics.d.ts.map +1 -0
  96. package/dist/types/project/config-metrics.js +2 -0
  97. package/dist/types/project/config-metrics.js.map +1 -0
  98. package/dist/types/project/constitution.d.ts +31 -0
  99. package/dist/types/project/constitution.d.ts.map +1 -0
  100. package/dist/types/project/constitution.js +3 -0
  101. package/dist/types/project/constitution.js.map +1 -0
  102. package/dist/types/project/core.d.ts +18 -163
  103. package/dist/types/project/core.d.ts.map +1 -1
  104. package/dist/types/project/core.js +7 -1
  105. package/dist/types/project/core.js.map +1 -1
  106. package/dist/types/project/mfe-detection.d.ts +18 -0
  107. package/dist/types/project/mfe-detection.d.ts.map +1 -0
  108. package/dist/types/project/mfe-detection.js +3 -0
  109. package/dist/types/project/mfe-detection.js.map +1 -0
  110. package/dist/types/project/planu-config.d.ts +59 -0
  111. package/dist/types/project/planu-config.d.ts.map +1 -0
  112. package/dist/types/project/planu-config.js +2 -0
  113. package/dist/types/project/planu-config.js.map +1 -0
  114. package/dist/types/spec/inputs.d.ts +5 -0
  115. package/dist/types/spec/inputs.d.ts.map +1 -1
  116. package/dist/types/team-planner.d.ts +183 -0
  117. package/dist/types/team-planner.d.ts.map +1 -0
  118. package/dist/types/team-planner.js +3 -0
  119. package/dist/types/team-planner.js.map +1 -0
  120. package/package.json +1 -1
  121. package/src/config/license-plans.json +4 -1
  122. package/src/config/team-templates.json +39 -0
@@ -71,6 +71,7 @@
71
71
  "generate_rules",
72
72
  "generate_skill",
73
73
  "generate_sub_agent",
74
+ "generate_teammate_prompt",
74
75
  "integrate_pm",
75
76
  "log_decision",
76
77
  "manage_context",
@@ -79,6 +80,7 @@
79
80
  "orchestrate",
80
81
  "orchestrate_agents",
81
82
  "package_handoff",
83
+ "plan_team_distribution",
82
84
  "paradigm_report",
83
85
  "plan_upgrade",
84
86
  "reality_check",
@@ -118,7 +120,8 @@
118
120
  "create_pr_from_spec",
119
121
  "review_pr",
120
122
  "create_release",
121
- "generate_changelog"
123
+ "generate_changelog",
124
+ "validate_team_results"
122
125
  ],
123
126
  "alwaysAllowed": [
124
127
  "activate_license",
@@ -0,0 +1,39 @@
1
+ [
2
+ {
3
+ "id": "implement-and-test",
4
+ "name": "Implement & Test",
5
+ "description": "1 implementer + 1 tester per spec",
6
+ "pattern": "implement-and-test",
7
+ "roles": [
8
+ { "role": "implementer", "model": "sonnet", "count": "per-spec" },
9
+ { "role": "tester", "model": "sonnet", "count": "per-spec" }
10
+ ]
11
+ },
12
+ {
13
+ "id": "full-stack",
14
+ "name": "Full Stack",
15
+ "description": "Frontend + backend + test teammates",
16
+ "pattern": "full-stack",
17
+ "roles": [
18
+ { "role": "implementer", "model": "sonnet", "count": 2 },
19
+ { "role": "tester", "model": "sonnet", "count": 1 }
20
+ ]
21
+ },
22
+ {
23
+ "id": "research-then-build",
24
+ "name": "Research Then Build",
25
+ "description": "1 researcher feeds N implementers",
26
+ "pattern": "research-then-build",
27
+ "roles": [
28
+ { "role": "researcher", "model": "opus", "count": 1 },
29
+ { "role": "implementer", "model": "sonnet", "count": "per-spec" }
30
+ ]
31
+ },
32
+ {
33
+ "id": "parallel-specs",
34
+ "name": "Parallel Specs",
35
+ "description": "N implementers for independent specs",
36
+ "pattern": "parallel-specs",
37
+ "roles": [{ "role": "implementer", "model": "sonnet", "count": "per-spec" }]
38
+ }
39
+ ]
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/engine/license-validator/core.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAe9B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,WAAW,CAQ1E;AAqBD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAG9D;AAMD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAa1E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAqBvF;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAG3D;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,aAAa,GAAG,gBAAgB,GAC1C,kBAAkB,CAkBpB;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG5D"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../../src/engine/license-validator/core.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACX,MAAM,sBAAsB,CAAC;AAe9B,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,WAAW,CAQ1E;AAqBD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAG9D;AAMD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAa1E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,kBAAkB,CAsBvF;AAMD,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAG3D;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,aAAa,GAAG,gBAAgB,GAC1C,kBAAkB,CAoBpB;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAG5D"}
@@ -72,7 +72,8 @@ export function checkToolAccess(toolName, tier) {
72
72
  message: [
73
73
  `🔒 "${toolName}" requires a Pro or higher plan.`,
74
74
  `You are currently on the Free plan (${String(freeCount)} tools available).`,
75
- `Upgrade at ${config.upgradeUrl} to unlock all ${String(totalCount)} tools.`,
75
+ `Pro plan includes unlimited projects and all ${String(totalCount)}+ tools.`,
76
+ `Upgrade to Pro → ${config.upgradeUrl}`,
76
77
  '',
77
78
  'To activate a license key:',
78
79
  ' → Use the activate_license tool with your license key.',
@@ -94,14 +95,16 @@ export function checkLimits(tier, currentCount, limitType) {
94
95
  }
95
96
  const config = loadLicensePlans();
96
97
  const label = limitType === 'maxProjects' ? 'projects' : 'active specs';
98
+ const proLimits = config.tiers.pro;
99
+ const proMax = proLimits[limitType];
100
+ const proLabel = proMax >= 9999 ? 'unlimited' : String(proMax);
97
101
  return {
98
102
  allowed: false,
99
103
  currentTier: tier,
100
104
  requiredTier: 'pro',
101
105
  message: [
102
- `🔒 You've reached the Free plan limit of ${String(max)} ${label}.`,
103
- `Current usage: ${String(currentCount)}/${String(max)}.`,
104
- `Upgrade at ${config.upgradeUrl} to increase your limits.`,
106
+ `🔒 ${label.charAt(0).toUpperCase() + label.slice(1)} limit reached (${String(currentCount)}/${String(max)} on free plan).`,
107
+ `Upgrade to Pro for ${proLabel} ${label} and 85+ tools → ${config.upgradeUrl}`,
105
108
  ].join('\n'),
106
109
  };
107
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/license-validator/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/license-validator/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** Fintech compliance template. */
3
+ export declare const FINTECH_COMPLIANCE_TEMPLATE: SpecTemplateEntry;
4
+ //# sourceMappingURL=fintech-compliance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-compliance.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-compliance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,mCAAmC;AACnC,eAAO,MAAM,2BAA2B,EAAE,iBA0GzC,CAAC"}
@@ -0,0 +1,111 @@
1
+ // engine/spec-templates/fintech-compliance.ts — Fintech compliance template.
2
+ // AC-04: Templates by industry — fintech vertical (compliance).
3
+ /** Fintech compliance template. */
4
+ export const FINTECH_COMPLIANCE_TEMPLATE = {
5
+ id: 'fintech-compliance',
6
+ name: 'Reportes de compliance regulatorio',
7
+ category: 'industry',
8
+ subcategory: 'fintech',
9
+ description: 'Generacion de reportes regulatorios, retencion de datos y firma digital.',
10
+ tags: ['fintech', 'compliance', 'regulatory', 'reporting', 'audit'],
11
+ complexityScore: 'L',
12
+ estimationBase: {
13
+ hoursMin: 40,
14
+ hoursMax: 80,
15
+ notes: 'Depende de regulaciones locales aplicables',
16
+ },
17
+ criteria: [
18
+ { id: 'AC-1', title: 'Generacion de reportes', required: true },
19
+ { id: 'AC-2', title: 'Retencion de datos', required: true },
20
+ { id: 'AC-3', title: 'Firma digital', required: false },
21
+ { id: 'AC-4', title: 'Auditoria de acceso', required: true },
22
+ { id: 'AC-5', title: 'Alertas de compliance', required: true },
23
+ ],
24
+ variables: [
25
+ {
26
+ key: 'ServiceName',
27
+ label: 'Nombre del servicio',
28
+ description: 'Nombre del servicio regulado',
29
+ example: 'FinanceApp',
30
+ required: true,
31
+ },
32
+ {
33
+ key: 'Regulation',
34
+ label: 'Regulacion aplicable',
35
+ description: 'Regulacion principal a cumplir',
36
+ example: 'PCI-DSS',
37
+ required: false,
38
+ defaultValue: 'regulacion local aplicable',
39
+ },
40
+ ],
41
+ huTemplate: `# HU: Compliance Regulatorio — {{ServiceName}}
42
+
43
+ ## Historia de Usuario
44
+ Como responsable de compliance de {{ServiceName}}, quiero generar reportes regulatorios y mantener trazabilidad completa para cumplir con {{Regulation}}.
45
+
46
+ ## Criterios de Aceptacion
47
+
48
+ ### AC-1: Generacion de reportes
49
+ - [ ] El sistema genera reportes regulatorios en formatos requeridos (PDF, XML, CSV)
50
+ - [ ] Los reportes incluyen periodo, datos agregados y detalle por transaccion
51
+ - [ ] La generacion es bajo demanda y programable (cron)
52
+ - [ ] Los reportes se almacenan con hash de integridad
53
+
54
+ ### AC-2: Retencion de datos
55
+ - [ ] Los datos regulados se retienen por el periodo legalmente requerido
56
+ - [ ] La politica de retencion es configurable por tipo de dato
57
+ - [ ] Los datos expirados se eliminan de forma segura con registro de eliminacion
58
+ - [ ] Se puede demostrar la cadena de custodia de cualquier dato
59
+
60
+ ### AC-3: Firma digital
61
+ - [ ] Los reportes pueden firmarse digitalmente antes del envio
62
+ - [ ] Se verifica la integridad de reportes firmados al consultarlos
63
+ - [ ] Los certificados de firma se gestionan de forma segura
64
+
65
+ ### AC-4: Auditoria de acceso
66
+ - [ ] Todo acceso a datos regulados se registra (quien, cuando, que)
67
+ - [ ] Los registros de acceso son inmutables
68
+ - [ ] Accesos anomalos generan alertas automaticas
69
+
70
+ ### AC-5: Alertas de compliance
71
+ - [ ] Se generan alertas cuando un proceso de compliance falla o se retrasa
72
+ - [ ] Las alertas se escalan segun el protocolo definido
73
+ - [ ] Se mantiene registro de alertas y sus resoluciones
74
+ `,
75
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Compliance — {{ServiceName}}
76
+
77
+ ## Archivos Afectados
78
+ - compliance/report-generator
79
+ - compliance/data-retention
80
+ - compliance/digital-signature
81
+ - compliance/access-audit
82
+ - compliance/alerts
83
+
84
+ ## Tipos / Entidades
85
+ - \`ComplianceReport\`: id, type, period, format, hash, signedAt
86
+ - \`RetentionPolicy\`: dataType, retentionDays, deleteStrategy
87
+ - \`AccessLog\`: userId, resource, action, timestamp, ip
88
+
89
+ ## Riesgos
90
+ - Reporte incorrecto → validacion cruzada con datos fuente
91
+ - Perdida de datos antes del periodo de retencion → backups redundantes
92
+ - Cambios regulatorios → arquitectura extensible para nuevas reglas
93
+
94
+ ## Estimacion
95
+ - Dev: 40–80 horas
96
+ - Review: 8–16 horas
97
+ - Dificultad: 4/5
98
+ `,
99
+ progressTemplate: `# PROGRESS: Compliance — {{ServiceName}}
100
+
101
+ ## Estado: borrador
102
+
103
+ ## Criterios
104
+ - [ ] AC-1: Generacion de reportes
105
+ - [ ] AC-2: Retencion de datos
106
+ - [ ] AC-3: Firma digital
107
+ - [ ] AC-4: Auditoria de acceso
108
+ - [ ] AC-5: Alertas de compliance
109
+ `,
110
+ };
111
+ //# sourceMappingURL=fintech-compliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-compliance.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-compliance.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,gEAAgE;AAIhE,mCAAmC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAsB;IAC5D,EAAE,EAAE,oBAAoB;IACxB,IAAI,EAAE,oCAAoC;IAC1C,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,0EAA0E;IACvF,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC;IACnE,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,4CAA4C;KACpD;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC/D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;QACvD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC/D;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,4BAA4B;SAC3C;KACF;IACD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCb;IACC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvB;IACC,gBAAgB,EAAE;;;;;;;;;;CAUnB;CACA,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** Fintech KYC verification template. */
3
+ export declare const FINTECH_KYC_TEMPLATE: SpecTemplateEntry;
4
+ //# sourceMappingURL=fintech-kyc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-kyc.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-kyc.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,EAAE,iBAyHlC,CAAC"}
@@ -0,0 +1,125 @@
1
+ // engine/spec-templates/fintech-kyc.ts — Fintech KYC verification template.
2
+ // AC-04: Templates by industry — fintech vertical (KYC).
3
+ /** Fintech KYC verification template. */
4
+ export const FINTECH_KYC_TEMPLATE = {
5
+ id: 'fintech-kyc',
6
+ name: 'Verificacion de identidad (KYC)',
7
+ category: 'industry',
8
+ subcategory: 'fintech',
9
+ description: 'Flujo de verificacion de identidad con niveles de verificacion, documentos y compliance AML.',
10
+ tags: ['fintech', 'kyc', 'identity', 'compliance', 'aml'],
11
+ complexityScore: 'L',
12
+ estimationBase: {
13
+ hoursMin: 40,
14
+ hoursMax: 80,
15
+ notes: 'Incluye integracion con proveedor de verificacion y flujo multi-nivel',
16
+ },
17
+ criteria: [
18
+ { id: 'AC-1', title: 'Niveles de verificacion', required: true },
19
+ { id: 'AC-2', title: 'Carga de documentos', required: true },
20
+ { id: 'AC-3', title: 'Validacion automatica', required: true },
21
+ { id: 'AC-4', title: 'Revision manual', required: false },
22
+ { id: 'AC-5', title: 'Compliance AML', required: true },
23
+ { id: 'AC-6', title: 'Auditoria', required: true },
24
+ ],
25
+ variables: [
26
+ {
27
+ key: 'ServiceName',
28
+ label: 'Nombre del servicio',
29
+ description: 'Nombre del servicio financiero',
30
+ example: 'FinanceApp',
31
+ required: true,
32
+ },
33
+ {
34
+ key: 'KycLevels',
35
+ label: 'Niveles KYC',
36
+ description: 'Niveles de verificacion soportados',
37
+ example: 'Basico, Intermedio, Avanzado',
38
+ required: false,
39
+ defaultValue: 'Basico, Intermedio, Avanzado',
40
+ },
41
+ ],
42
+ huTemplate: `# HU: Verificacion de Identidad (KYC) — {{ServiceName}}
43
+
44
+ ## Historia de Usuario
45
+ Como usuario de {{ServiceName}}, quiero verificar mi identidad de forma progresiva para poder acceder a funcionalidades avanzadas del servicio.
46
+
47
+ ## Criterios de Aceptacion
48
+
49
+ ### AC-1: Niveles de verificacion
50
+ - [ ] El sistema soporta niveles de verificacion: {{KycLevels}}
51
+ - [ ] Cada nivel tiene requisitos documentales claros
52
+ - [ ] El usuario puede ver su nivel actual y los requisitos del siguiente
53
+ - [ ] Las funcionalidades se desbloquean segun el nivel alcanzado
54
+
55
+ ### AC-2: Carga de documentos
56
+ - [ ] El usuario puede subir documentos de identidad en formatos imagen y PDF
57
+ - [ ] Los documentos se validan por formato, tamano y legibilidad
58
+ - [ ] Se almacenan cifrados y con acceso restringido
59
+ - [ ] Se genera un recibo de carga para el usuario
60
+
61
+ ### AC-3: Validacion automatica
62
+ - [ ] Los documentos pasan por validacion automatica (OCR + verificacion)
63
+ - [ ] El resultado se comunica al usuario en tiempo real o por notificacion
64
+ - [ ] Los documentos rechazados indican el motivo del rechazo
65
+ - [ ] El usuario puede reintentar la verificacion con documentos nuevos
66
+
67
+ ### AC-4: Revision manual
68
+ - [ ] Los casos dudosos se escalan a revision manual
69
+ - [ ] El revisor puede aprobar, rechazar o solicitar mas informacion
70
+ - [ ] El historial de decisiones se registra para auditoria
71
+
72
+ ### AC-5: Compliance AML
73
+ - [ ] Se verifica contra listas de sanciones y PEP (personas expuestas politicamente)
74
+ - [ ] Las alertas AML se registran y se escalan segun protocolo
75
+ - [ ] La verificacion AML se repite periodicamente para usuarios existentes
76
+ - [ ] Se mantiene registro de todas las verificaciones realizadas
77
+
78
+ ### AC-6: Auditoria
79
+ - [ ] Toda accion sobre documentos y verificaciones se registra con timestamp y actor
80
+ - [ ] Los registros de auditoria son inmutables
81
+ - [ ] Se puede generar reporte de auditoria por usuario o periodo
82
+
83
+ ## Fuera de Alcance
84
+ - Integracion con proveedores especificos de KYC (configurar en implementacion)
85
+ - Verificacion biometrica (crear spec separada)
86
+ `,
87
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: KYC — {{ServiceName}}
88
+
89
+ ## Archivos Afectados
90
+ - kyc/verification-levels
91
+ - kyc/document-upload
92
+ - kyc/automatic-validation
93
+ - kyc/manual-review
94
+ - kyc/aml-check
95
+ - storage/documents (cifrado)
96
+
97
+ ## Tipos / Entidades
98
+ - \`KycLevel\`: id, name, requirements[], unlockedFeatures[]
99
+ - \`VerificationDocument\`: id, userId, type, status, uploadedAt
100
+ - \`AmlCheckResult\`: userId, checkDate, sanctionMatch, pepMatch, status
101
+
102
+ ## Riesgos
103
+ - Fuga de documentos personales → cifrado obligatorio + acceso restringido
104
+ - Falsos positivos AML → flujo de revision manual requerido
105
+ - Regulacion cambiante → arquitectura extensible para nuevos requisitos
106
+
107
+ ## Estimacion
108
+ - Dev: 40–80 horas
109
+ - Review: 8–16 horas
110
+ - Dificultad: 4/5
111
+ `,
112
+ progressTemplate: `# PROGRESS: KYC — {{ServiceName}}
113
+
114
+ ## Estado: borrador
115
+
116
+ ## Criterios
117
+ - [ ] AC-1: Niveles de verificacion
118
+ - [ ] AC-2: Carga de documentos
119
+ - [ ] AC-3: Validacion automatica
120
+ - [ ] AC-4: Revision manual
121
+ - [ ] AC-5: Compliance AML
122
+ - [ ] AC-6: Auditoria
123
+ `,
124
+ };
125
+ //# sourceMappingURL=fintech-kyc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-kyc.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-kyc.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yDAAyD;AAIzD,yCAAyC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,iCAAiC;IACvC,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EACT,8FAA8F;IAChG,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,CAAC;IACzD,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,uEAAuE;KAC/E;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE;QACzD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;KACnD;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,oCAAoC;YACjD,OAAO,EAAE,8BAA8B;YACvC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,8BAA8B;SAC7C;KACF;IACD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Cb;IACC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB;IACC,gBAAgB,EAAE;;;;;;;;;;;CAWnB;CACA,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
+ /** Fintech transactions template. */
3
+ export declare const FINTECH_TRANSACTIONS_TEMPLATE: SpecTemplateEntry;
4
+ //# sourceMappingURL=fintech-transactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-transactions.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-transactions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,qCAAqC;AACrC,eAAO,MAAM,6BAA6B,EAAE,iBAmH3C,CAAC"}
@@ -0,0 +1,120 @@
1
+ // engine/spec-templates/fintech-transactions.ts — Fintech transactions template.
2
+ // AC-04: Templates by industry — fintech vertical (transactions).
3
+ /** Fintech transactions template. */
4
+ export const FINTECH_TRANSACTIONS_TEMPLATE = {
5
+ id: 'fintech-transactions',
6
+ name: 'Gestion de transacciones financieras',
7
+ category: 'industry',
8
+ subcategory: 'fintech',
9
+ description: 'Transacciones financieras con idempotencia, reversion, auditoria y limites.',
10
+ tags: ['fintech', 'transactions', 'payments', 'idempotency', 'audit'],
11
+ complexityScore: 'XL',
12
+ estimationBase: {
13
+ hoursMin: 80,
14
+ hoursMax: 160,
15
+ notes: 'Requiere idempotencia estricta y auditoria completa',
16
+ },
17
+ criteria: [
18
+ { id: 'AC-1', title: 'Creacion de transacciones', required: true },
19
+ { id: 'AC-2', title: 'Idempotencia', required: true },
20
+ { id: 'AC-3', title: 'Reversion', required: true },
21
+ { id: 'AC-4', title: 'Limites y controles', required: true },
22
+ { id: 'AC-5', title: 'Auditoria', required: true },
23
+ { id: 'AC-6', title: 'Conciliacion', required: false },
24
+ ],
25
+ variables: [
26
+ {
27
+ key: 'ServiceName',
28
+ label: 'Nombre del servicio',
29
+ description: 'Nombre del servicio financiero',
30
+ example: 'FinanceApp',
31
+ required: true,
32
+ },
33
+ {
34
+ key: 'Currency',
35
+ label: 'Moneda principal',
36
+ description: 'Moneda principal del sistema',
37
+ example: 'USD',
38
+ required: false,
39
+ defaultValue: 'USD',
40
+ },
41
+ ],
42
+ huTemplate: `# HU: Transacciones Financieras — {{ServiceName}}
43
+
44
+ ## Historia de Usuario
45
+ Como usuario de {{ServiceName}}, quiero realizar transacciones financieras de forma segura y rastreable.
46
+
47
+ ## Criterios de Aceptacion
48
+
49
+ ### AC-1: Creacion de transacciones
50
+ - [ ] Se puede crear una transaccion con monto, origen, destino y concepto
51
+ - [ ] Cada transaccion recibe un ID unico e inmutable
52
+ - [ ] Los montos se manejan en la menor unidad (centavos) para evitar errores de precision
53
+ - [ ] La moneda ({{Currency}}) se registra explicitamente en cada transaccion
54
+
55
+ ### AC-2: Idempotencia
56
+ - [ ] Cada solicitud de transaccion incluye una clave de idempotencia
57
+ - [ ] Solicitudes duplicadas retornan el resultado original sin ejecutar de nuevo
58
+ - [ ] Las claves de idempotencia expiran despues de un periodo configurable
59
+
60
+ ### AC-3: Reversion
61
+ - [ ] Las transacciones pueden revertirse dentro del periodo permitido
62
+ - [ ] La reversion genera una contra-transaccion (no elimina la original)
63
+ - [ ] Las transacciones revertidas muestran estado "revertida" con referencia cruzada
64
+
65
+ ### AC-4: Limites y controles
66
+ - [ ] Limites por monto individual, diario y mensual por usuario
67
+ - [ ] Transacciones que excedan limites requieren aprobacion adicional
68
+ - [ ] Los limites son configurables por nivel de usuario/cuenta
69
+
70
+ ### AC-5: Auditoria
71
+ - [ ] Toda transaccion registra timestamp, actor, IP y dispositivo
72
+ - [ ] Los registros de auditoria son inmutables (append-only)
73
+ - [ ] Se puede consultar el historial completo de una transaccion
74
+
75
+ ### AC-6: Conciliacion
76
+ - [ ] Proceso de conciliacion periodica entre sistema interno y proveedores externos
77
+ - [ ] Las discrepancias generan alertas automaticas
78
+ - [ ] Reporte de conciliacion exportable
79
+
80
+ ## Fuera de Alcance
81
+ - Integracion con proveedores de pago especificos (ver template third-party-integration)
82
+ `,
83
+ fichaTecnicaTemplate: `# FICHA TÉCNICA: Transacciones — {{ServiceName}}
84
+
85
+ ## Archivos Afectados
86
+ - transactions/create
87
+ - transactions/reverse
88
+ - transactions/limits
89
+ - transactions/audit-log
90
+ - transactions/reconciliation
91
+
92
+ ## Tipos / Entidades
93
+ - \`Transaction\`: id, amount, currency, from, to, status, idempotencyKey, createdAt
94
+ - \`TransactionLimit\`: userId, type (daily/monthly/single), maxAmount
95
+ - \`AuditEntry\`: transactionId, action, actor, ip, timestamp
96
+
97
+ ## Riesgos
98
+ - Doble cargo sin idempotencia → claves de idempotencia obligatorias
99
+ - Precision de montos → usar enteros (centavos), nunca floats
100
+ - Reversion fuera de plazo → controles temporales estrictos
101
+
102
+ ## Estimacion
103
+ - Dev: 80–160 horas
104
+ - Review: 16–32 horas
105
+ - Dificultad: 5/5
106
+ `,
107
+ progressTemplate: `# PROGRESS: Transacciones — {{ServiceName}}
108
+
109
+ ## Estado: borrador
110
+
111
+ ## Criterios
112
+ - [ ] AC-1: Creacion de transacciones
113
+ - [ ] AC-2: Idempotencia
114
+ - [ ] AC-3: Reversion
115
+ - [ ] AC-4: Limites y controles
116
+ - [ ] AC-5: Auditoria
117
+ - [ ] AC-6: Conciliacion
118
+ `,
119
+ };
120
+ //# sourceMappingURL=fintech-transactions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fintech-transactions.js","sourceRoot":"","sources":["../../../src/engine/spec-templates/fintech-transactions.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kEAAkE;AAIlE,qCAAqC;AACrC,MAAM,CAAC,MAAM,6BAA6B,GAAsB;IAC9D,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,sCAAsC;IAC5C,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,6EAA6E;IAC1F,IAAI,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC;IACrE,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,GAAG;QACb,KAAK,EAAE,qDAAqD;KAC7D;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5D,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;KACvD;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,aAAa;YAClB,KAAK,EAAE,qBAAqB;YAC5B,WAAW,EAAE,gCAAgC;YAC7C,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,IAAI;SACf;QACD;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE,8BAA8B;YAC3C,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;SACpB;KACF;IACD,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCb;IACC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvB;IACC,gBAAgB,EAAE;;;;;;;;;;;CAWnB;CACA,CAAC"}
@@ -1,8 +1,4 @@
1
- import type { SpecTemplateEntry } from '../../types/spec-templates.js';
2
- /** Fintech KYC verification template. */
3
- export declare const FINTECH_KYC_TEMPLATE: SpecTemplateEntry;
4
- /** Fintech transactions template. */
5
- export declare const FINTECH_TRANSACTIONS_TEMPLATE: SpecTemplateEntry;
6
- /** Fintech compliance template. */
7
- export declare const FINTECH_COMPLIANCE_TEMPLATE: SpecTemplateEntry;
1
+ export { FINTECH_KYC_TEMPLATE } from './fintech-kyc.js';
2
+ export { FINTECH_TRANSACTIONS_TEMPLATE } from './fintech-transactions.js';
3
+ export { FINTECH_COMPLIANCE_TEMPLATE } from './fintech-compliance.js';
8
4
  //# sourceMappingURL=templates-industry-fintech.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates-industry-fintech.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-fintech.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,yCAAyC;AACzC,eAAO,MAAM,oBAAoB,EAAE,iBAyHlC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,6BAA6B,EAAE,iBAmH3C,CAAC;AAEF,mCAAmC;AACnC,eAAO,MAAM,2BAA2B,EAAE,iBA0GzC,CAAC"}
1
+ {"version":3,"file":"templates-industry-fintech.d.ts","sourceRoot":"","sources":["../../../src/engine/spec-templates/templates-industry-fintech.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC"}