specleap-framework 2.1.0 → 2.1.5
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/.agents/backend.md +3 -3
- package/.agents/frontend.md +2 -2
- package/.agents/producto.md +9 -11
- package/.claude/hooks/spec-guard.sh +132 -0
- package/.claude/settings.json.template +15 -0
- package/.clinerules +3 -3
- package/.coderabbit.yaml +2 -4
- package/.commands/compliance.md +89 -0
- package/.commands/inicio.md +15 -15
- package/.commands/nuevo/README.md +2 -2
- package/.commands/planificar.md +1 -1
- package/.continue/rules/04-git-workflow.md +5 -5
- package/.continuerules +3 -4
- package/.cursorrules +1 -1
- package/.github/copilot-instructions.md +1 -1
- package/.specleap/i18n/en.json +177 -0
- package/.specleap/i18n/es.json +177 -0
- package/.specleap/i18n.sh +63 -0
- package/CHANGELOG.md +276 -0
- package/CLAUDE.md +54 -13
- package/README.md +169 -528
- package/SETUP.md +16 -13
- package/openspec/INDEX.md +53 -0
- package/openspec/README.md +104 -0
- package/openspec/SPEC-FORMAT.md +168 -0
- package/openspec/changes/.gitkeep +0 -0
- package/openspec/cli/COMMAND_REFERENCE.md +817 -0
- package/openspec/cli/README.md +189 -0
- package/openspec/cli/apply.sh +229 -0
- package/openspec/cli/archive.sh +240 -0
- package/openspec/cli/code-review.sh +207 -0
- package/openspec/cli/common.sh +171 -0
- package/openspec/cli/enrich.sh +188 -0
- package/openspec/cli/ff.sh +329 -0
- package/openspec/cli/new.sh +260 -0
- package/openspec/cli/openspec +82 -0
- package/openspec/cli/report.sh +244 -0
- package/openspec/cli/status.sh +178 -0
- package/openspec/cli/verify.sh +246 -0
- package/openspec/config.yaml +76 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/00-original-user-story.md +5 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/01-refined-user-story.md +106 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/README.md +333 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/design.md +461 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/proposal.md +124 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/specs/functional/F001-authentication.spec.md +399 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/specs/technical/T001-jwt-implementation.spec.md +606 -0
- package/openspec/examples/CHANGE-SAMPLE-001-user-authentication/tasks.md +433 -0
- package/openspec/examples/MERMAID_DIAGRAMS.md +481 -0
- package/openspec/examples/README.md +334 -0
- package/openspec/specs/functional/.gitkeep +0 -0
- package/openspec/specs/integration/.gitkeep +0 -0
- package/openspec/specs/security/.gitkeep +0 -0
- package/openspec/specs/technical/.gitkeep +0 -0
- package/openspec/templates/.coderabbit.yaml +259 -0
- package/openspec/templates/design.md +181 -0
- package/openspec/templates/proposal.md +79 -0
- package/openspec/templates/tasks.md +193 -0
- package/package.json +10 -5
- package/rules/git-workflow.md +3 -3
- package/rules/session-protocol.md +3 -3
- package/scripts/README.md +13 -25
- package/scripts/compliance-audit.sh +325 -0
- package/scripts/generate-contract.sh +4 -4
- package/scripts/install-skills.sh +12 -11
- package/scripts/lib/render-contrato.py +1 -1
- package/scripts/quality-baseline.sh +210 -0
- package/scripts/quality-healing.sh +241 -0
- package/setup.sh +3 -3
- package/.claude/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/.claude/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/.claude/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-314.pyc +0 -0
- package/scripts/lib/jira-project-utils.sh +0 -222
- package/scripts/setup-mcp.sh +0 -654
- package/scripts/test-cuestionario.sh +0 -428
package/SETUP.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
### Paso 1: Clonar el repositorio
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
git clone https://github.com/
|
|
8
|
+
git clone https://github.com/ConceptualCreative/specleap-framework.git
|
|
9
9
|
cd specleap-framework
|
|
10
10
|
```
|
|
11
11
|
|
|
@@ -170,30 +170,33 @@ git push origin main
|
|
|
170
170
|
|
|
171
171
|
---
|
|
172
172
|
|
|
173
|
-
### 3. Agent Skills (
|
|
173
|
+
### 3. Agent Skills (34 profesionales)
|
|
174
174
|
|
|
175
|
-
|
|
175
|
+
Extensiones para Claude/Cursor que aplican best practices automáticamente al contexto de cada tarea.
|
|
176
176
|
|
|
177
|
-
|
|
177
|
+
Instalación:
|
|
178
178
|
|
|
179
179
|
```bash
|
|
180
|
-
bash scripts/
|
|
180
|
+
bash scripts/install-skills.sh
|
|
181
181
|
```
|
|
182
182
|
|
|
183
|
-
|
|
184
|
-
- 🔒 5 skills seguridad (SAST, STRIDE, OWASP)
|
|
185
|
-
- 🔄 3 skills consistencia (verification-before-completion ⭐)
|
|
186
|
-
- 🎨 6 skills diseño (Vercel-style, Tailwind, UI/UX)
|
|
187
|
-
- 🛠️ 6 skills backend/dev (Laravel, React, TDD, API design)
|
|
183
|
+
Se descargan e instalan 34 skills en `~/.skills/` (20 TIER 1 más 14 TIER 2):
|
|
188
184
|
|
|
189
|
-
**
|
|
185
|
+
- **Consistencia (6):** `verification-before-completion`, `systematic-debugging`, `requesting-code-review`, `receiving-code-review`, `code-reviewer`, `debugging-wizard`
|
|
186
|
+
- **Backend (6):** `laravel-specialist`, `api-designer`, `database-optimizer`, `python-pro`, `react-expert`, `typescript-pro`
|
|
187
|
+
- **Diseño y frontend (7):** `frontend-design`, `canvas-design`, `algorithmic-art`, `skill-creator`, `web-design-guidelines`, `vercel-composition-patterns`, `agent-browser`
|
|
188
|
+
- **DevOps (5):** `devops-engineer`, `cloud-architect`, `architecture-designer`, `terraform-engineer`, `monitoring-expert`
|
|
189
|
+
- **Mobile (2):** `react-native-expert`, `flutter-expert`
|
|
190
|
+
- **Testing (3):** `test-driven-development`, `playwright-expert`, `test-master`
|
|
191
|
+
- **Seguridad (2):** `security-reviewer`, `gdpr-dsgvo-expert`
|
|
192
|
+
- **Documentación y otros (3):** `code-documenter`, `brainstorming`, `pdf`
|
|
193
|
+
|
|
194
|
+
Verificar lo instalado:
|
|
190
195
|
|
|
191
196
|
```bash
|
|
192
197
|
ls ~/.skills/
|
|
193
198
|
```
|
|
194
199
|
|
|
195
|
-
**Más info:** Ver [docs/SKILLS-REFERENCE.md](docs/SKILLS-REFERENCE.md)
|
|
196
|
-
|
|
197
200
|
---
|
|
198
201
|
|
|
199
202
|
### 4. Git Hooks (Validación Local Pre-Commit)
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# 📋 OpenSpec Index — DevFlow Pro
|
|
2
|
+
|
|
3
|
+
Índice de todas las especificaciones del sistema.
|
|
4
|
+
|
|
5
|
+
## Por Estado
|
|
6
|
+
|
|
7
|
+
### ✅ Implemented
|
|
8
|
+
| ID | Nombre | Proyecto | Prioridad |
|
|
9
|
+
|----|--------|----------|-----------|
|
|
10
|
+
| [SPEC-001](specs/features/SPEC-001-devclaw-panel.spec.md) | DevClaw Panel | devclaw-panel | high |
|
|
11
|
+
|
|
12
|
+
### 📝 Draft
|
|
13
|
+
| ID | Nombre | Proyecto | Prioridad |
|
|
14
|
+
|----|--------|----------|-----------|
|
|
15
|
+
| - | - | - | - |
|
|
16
|
+
|
|
17
|
+
### 🔍 Review
|
|
18
|
+
| ID | Nombre | Proyecto | Prioridad |
|
|
19
|
+
|----|--------|----------|-----------|
|
|
20
|
+
| - | - | - | - |
|
|
21
|
+
|
|
22
|
+
### ✓ Approved
|
|
23
|
+
| ID | Nombre | Proyecto | Prioridad |
|
|
24
|
+
|----|--------|----------|-----------|
|
|
25
|
+
| - | - | - | - |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Por Proyecto
|
|
30
|
+
|
|
31
|
+
### devclaw-panel
|
|
32
|
+
- [SPEC-001](specs/features/SPEC-001-devclaw-panel.spec.md) — DevClaw Panel ✅
|
|
33
|
+
|
|
34
|
+
### factulum
|
|
35
|
+
- (pendiente)
|
|
36
|
+
|
|
37
|
+
### kit-digital
|
|
38
|
+
- (pendiente)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Estadísticas
|
|
43
|
+
|
|
44
|
+
| Métrica | Valor |
|
|
45
|
+
|---------|-------|
|
|
46
|
+
| Total specs | 1 |
|
|
47
|
+
| Implemented | 1 |
|
|
48
|
+
| In progress | 0 |
|
|
49
|
+
| Pending | 0 |
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
*Última actualización: 2026-02-10*
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# OpenSpec — DevFlow Pro
|
|
2
|
+
|
|
3
|
+
Sistema de especificaciones para Spec-Driven Development (SDD).
|
|
4
|
+
|
|
5
|
+
## Estructura
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
openspec/
|
|
9
|
+
├── specs/ # 📋 Source of Truth
|
|
10
|
+
│ ├── functional/ # Specs funcionales
|
|
11
|
+
│ ├── technical/ # Specs técnicas
|
|
12
|
+
│ ├── integration/ # Specs de integración
|
|
13
|
+
│ └── security/ # Specs de seguridad
|
|
14
|
+
│
|
|
15
|
+
├── changes/ # 📝 Propuestas de cambios
|
|
16
|
+
│ └── CHANGE-XXXX-nombre/
|
|
17
|
+
│ ├── proposal.md # QUÉ y POR QUÉ
|
|
18
|
+
│ ├── design.md # CÓMO (técnico)
|
|
19
|
+
│ ├── tasks.md # Tareas + Testing Report
|
|
20
|
+
│ └── specs/ # Delta specs
|
|
21
|
+
│
|
|
22
|
+
├── templates/ # 📄 Plantillas
|
|
23
|
+
│ ├── proposal.md
|
|
24
|
+
│ ├── design.md
|
|
25
|
+
│ ├── tasks.md
|
|
26
|
+
│ └── .coderabbit.yaml # Config para repos
|
|
27
|
+
│
|
|
28
|
+
├── config.yaml # ⚙️ Configuración
|
|
29
|
+
└── README.md # Este archivo
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Flujo de Trabajo
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
USER STORY → /enrich → REFINED US → /new + /ff → PROPOSAL ARTIFACTS
|
|
36
|
+
↓
|
|
37
|
+
/apply
|
|
38
|
+
↓
|
|
39
|
+
BRANCH + TESTS + DOCS + CODE + TESTING REPORT
|
|
40
|
+
↓
|
|
41
|
+
/verify + /archive
|
|
42
|
+
↓
|
|
43
|
+
/commit → FEATURE READY → /code-review → PR → PUBLISHED
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Comandos
|
|
47
|
+
|
|
48
|
+
| Comando | Acción |
|
|
49
|
+
|---------|--------|
|
|
50
|
+
| `/enrich` | Refinar user story |
|
|
51
|
+
| `/new` | Crear propuesta de cambio |
|
|
52
|
+
| `/ff` | Fast-forward (generar rápido) |
|
|
53
|
+
| `/apply` | Implementar propuesta |
|
|
54
|
+
| `/verify` | Verificar tests y spec |
|
|
55
|
+
| `/code-review` | Review con CodeRabbit (OBLIGATORIO) |
|
|
56
|
+
| `/archive` | Archivar propuesta completada |
|
|
57
|
+
|
|
58
|
+
## Crear Nueva Propuesta
|
|
59
|
+
|
|
60
|
+
1. Crear carpeta: `changes/CHANGE-XXXX-nombre/`
|
|
61
|
+
2. Copiar plantillas desde `templates/`
|
|
62
|
+
3. Completar `proposal.md` (qué y por qué)
|
|
63
|
+
4. Completar `design.md` (cómo técnicamente)
|
|
64
|
+
5. Desglosar tareas en `tasks.md`
|
|
65
|
+
6. Si modifica specs existentes, crear delta en `specs/`
|
|
66
|
+
|
|
67
|
+
## CodeRabbit
|
|
68
|
+
|
|
69
|
+
CodeRabbit es **obligatorio** para todos los PRs.
|
|
70
|
+
|
|
71
|
+
### Setup en nuevo repositorio:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
cp openspec/templates/.coderabbit.yaml .coderabbit.yaml
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Características activadas:
|
|
78
|
+
- Profile: `assertive` (reviews rigurosos)
|
|
79
|
+
- Idioma: español
|
|
80
|
+
- Pre-merge checks: title, spec reference, testing report
|
|
81
|
+
- Request changes workflow: activado
|
|
82
|
+
- Herramientas: ESLint, PHPStan, Gitleaks, Semgrep, etc.
|
|
83
|
+
|
|
84
|
+
## Testing Report
|
|
85
|
+
|
|
86
|
+
Cada PR debe incluir en `tasks.md`:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
## Testing Report
|
|
90
|
+
|
|
91
|
+
| Suite | Tests | Passed | Failed | Coverage |
|
|
92
|
+
|-------|-------|--------|--------|----------|
|
|
93
|
+
| Unit | 45 | 45 | 0 | 87% |
|
|
94
|
+
| Integration | 12 | 12 | 0 | N/A |
|
|
95
|
+
|
|
96
|
+
### CodeRabbit Status
|
|
97
|
+
- ✅ Review aprobado
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Referencias
|
|
101
|
+
|
|
102
|
+
- Metodología: AGENTS.md
|
|
103
|
+
- Configuración: config.yaml
|
|
104
|
+
- Plantillas: templates/
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# OpenSpec — Formato de Especificaciones
|
|
2
|
+
|
|
3
|
+
## Estructura de Archivos
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
openspec/
|
|
7
|
+
├── specs/
|
|
8
|
+
│ ├── features/ # Specs de funcionalidades
|
|
9
|
+
│ ├── requirements/ # Requisitos del sistema
|
|
10
|
+
│ └── scenarios/ # Escenarios de uso
|
|
11
|
+
├── SPEC-FORMAT.md # Este archivo
|
|
12
|
+
└── INDEX.md # Índice de todas las specs
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Formato de Archivo .spec.md
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
# [SPEC-ID] Nombre de la Especificación
|
|
19
|
+
|
|
20
|
+
| Campo | Valor |
|
|
21
|
+
|-------|-------|
|
|
22
|
+
| ID | SPEC-XXX |
|
|
23
|
+
| Versión | 1.0.0 |
|
|
24
|
+
| Estado | draft / review / approved / implemented |
|
|
25
|
+
| Prioridad | critical / high / medium / low |
|
|
26
|
+
| Proyecto | nombre-proyecto |
|
|
27
|
+
| Autor | @usuario |
|
|
28
|
+
| Fecha | YYYY-MM-DD |
|
|
29
|
+
|
|
30
|
+
## Descripción
|
|
31
|
+
|
|
32
|
+
Descripción breve de qué hace esta especificación.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Requisitos
|
|
37
|
+
|
|
38
|
+
### Requirement: Nombre del requisito
|
|
39
|
+
|
|
40
|
+
- The system SHALL [comportamiento obligatorio].
|
|
41
|
+
- The system SHOULD [comportamiento recomendado].
|
|
42
|
+
- The system MAY [comportamiento opcional].
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Escenarios
|
|
47
|
+
|
|
48
|
+
### Scenario: Nombre del escenario
|
|
49
|
+
|
|
50
|
+
- GIVEN [precondición]
|
|
51
|
+
- WHEN [acción del usuario]
|
|
52
|
+
- THEN [resultado esperado]
|
|
53
|
+
- AND [resultado adicional]
|
|
54
|
+
|
|
55
|
+
### Scenario: Otro escenario
|
|
56
|
+
|
|
57
|
+
- GIVEN [precondición]
|
|
58
|
+
- AND [otra precondición]
|
|
59
|
+
- WHEN [acción]
|
|
60
|
+
- THEN [resultado]
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Criterios de Aceptación
|
|
65
|
+
|
|
66
|
+
- [ ] CA-01: Descripción del criterio
|
|
67
|
+
- [ ] CA-02: Descripción del criterio
|
|
68
|
+
- [ ] CA-03: Descripción del criterio
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Dependencias
|
|
73
|
+
|
|
74
|
+
| Tipo | Spec ID | Descripción |
|
|
75
|
+
|------|---------|-------------|
|
|
76
|
+
| Depende de | SPEC-XXX | Razón |
|
|
77
|
+
| Requerido por | SPEC-YYY | Razón |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Diagramas
|
|
82
|
+
|
|
83
|
+
### Flujo Principal
|
|
84
|
+
|
|
85
|
+
```mermaid
|
|
86
|
+
graph TD
|
|
87
|
+
A[Inicio] --> B{Condición}
|
|
88
|
+
B -->|Sí| C[Acción 1]
|
|
89
|
+
B -->|No| D[Acción 2]
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Diagrama de Secuencia (si aplica)
|
|
93
|
+
|
|
94
|
+
```mermaid
|
|
95
|
+
sequenceDiagram
|
|
96
|
+
Actor->>System: Acción
|
|
97
|
+
System-->>Actor: Respuesta
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Modelo de Datos (si aplica)
|
|
101
|
+
|
|
102
|
+
```mermaid
|
|
103
|
+
erDiagram
|
|
104
|
+
ENTITY1 ||--o{ ENTITY2 : "relación"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Notas Técnicas
|
|
110
|
+
|
|
111
|
+
Decisiones de implementación, restricciones, consideraciones.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Historial de Cambios
|
|
116
|
+
|
|
117
|
+
| Versión | Fecha | Autor | Cambios |
|
|
118
|
+
|---------|-------|-------|---------|
|
|
119
|
+
| 1.0.0 | YYYY-MM-DD | @usuario | Versión inicial |
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Palabras Clave
|
|
123
|
+
|
|
124
|
+
| Palabra | Significado | Uso |
|
|
125
|
+
|---------|-------------|-----|
|
|
126
|
+
| **SHALL** | Obligatorio | Requisito que DEBE cumplirse |
|
|
127
|
+
| **SHOULD** | Recomendado | Requisito que DEBERÍA cumplirse |
|
|
128
|
+
| **MAY** | Opcional | Requisito que PUEDE cumplirse |
|
|
129
|
+
| **GIVEN** | Precondición | Estado inicial del escenario |
|
|
130
|
+
| **WHEN** | Acción | Lo que dispara el comportamiento |
|
|
131
|
+
| **THEN** | Resultado | Lo que debe ocurrir |
|
|
132
|
+
| **AND** | Continuación | Añade condiciones/resultados |
|
|
133
|
+
|
|
134
|
+
## Spec Deltas (Cambios)
|
|
135
|
+
|
|
136
|
+
Los cambios en specs se visualizan en Git diffs:
|
|
137
|
+
|
|
138
|
+
```diff
|
|
139
|
+
### Requirement: Session expiration
|
|
140
|
+
- The system SHALL expire sessions after a configured duration.
|
|
141
|
+
+ The system SHALL support configurable session expiration periods.
|
|
142
|
+
|
|
143
|
+
#### Scenario: Default session timeout
|
|
144
|
+
- GIVEN a user has authenticated
|
|
145
|
+
-- WHEN 24 hours pass without activity
|
|
146
|
+
+- WHEN 24 hours pass without "Remember me"
|
|
147
|
+
- THEN invalidate the session token
|
|
148
|
+
|
|
149
|
+
+ #### Scenario: Extended session with remember me
|
|
150
|
+
+ - GIVEN user checks "Remember me" at login
|
|
151
|
+
+ - WHEN 30 days have passed
|
|
152
|
+
+ - THEN invalidate the session token
|
|
153
|
+
+ - AND clear the persistent cookie
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Workflow con Git
|
|
157
|
+
|
|
158
|
+
1. **Crear spec** → Nuevo archivo en `openspec/specs/`
|
|
159
|
+
2. **Revisar spec** → PR con cambios, el diff muestra el delta
|
|
160
|
+
3. **Aprobar spec** → Merge a main, cambiar estado a `approved`
|
|
161
|
+
4. **Implementar** → Desarrollo según spec
|
|
162
|
+
5. **Cerrar** → Estado `implemented` + link al PR de código
|
|
163
|
+
|
|
164
|
+
## Integración con Ticket Tracker
|
|
165
|
+
|
|
166
|
+
- Cada spec genera un ticket en el tracker configurado (Asana por defecto en SpecLeap)
|
|
167
|
+
- El ticket incluye link a la spec en el repo
|
|
168
|
+
- Los cambios de spec se comentan en el ticket
|
|
File without changes
|