forgegit 1.5.7 → 1.5.9
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/.forge/config.cmd +230 -15
- package/MANUAL.md +213 -4
- package/README.md +22 -17
- package/WORKFLOW.md +97 -0
- package/package.json +1 -1
- package/tests/test.cmd +37 -30
- package/tools/bin/forge.cmd +8 -8
- package/tools/pack.cmd +21 -12
- package/tools/release.cmd +3 -3
package/.forge/config.cmd
CHANGED
|
@@ -1,15 +1,230 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
# GRIDLOOCK Visual Engine — v0 (Rescate de Ideas)
|
|
2
|
+
|
|
3
|
+
Documento de rescate del 2026-09-17. Captura las ideas clave de la
|
|
4
|
+
conversacion con Gemini sobre visuales para sets de musica electronica
|
|
5
|
+
y el problema de la memoria humana al disenar sistemas complejos.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. PROBLEMA ORIGINAL
|
|
10
|
+
|
|
11
|
+
- Sets de 36 tracks ≈ 36 cortometrajes.
|
|
12
|
+
- Visuales de VJ tradicionales no representan lo que la musica expresa.
|
|
13
|
+
- Hacer un video unico por track con IA es inviable (costo, consistencia).
|
|
14
|
+
- Marca: GRIDLOOCK.
|
|
15
|
+
- Objetivo: una imagen o miniatura que represente cada estado emocional
|
|
16
|
+
del set, NO cada track individual.
|
|
17
|
+
|
|
18
|
+
### Ejes emocionales del set
|
|
19
|
+
|
|
20
|
+
- PASADO:
|
|
21
|
+
- ancla_nostalgia: objeto especifico que ya no esta
|
|
22
|
+
- ancla_melancolia: bruma, caminar sin rumbo
|
|
23
|
+
- PRESENTE:
|
|
24
|
+
- eje_nostalgia: el eco que aun flota pero no duele
|
|
25
|
+
- eje_melancolia: memoria colectiva procesandose en el beat
|
|
26
|
+
- eje_neutral: presencia pura, aqui y ahora sin carga
|
|
27
|
+
- FUTURO:
|
|
28
|
+
- proyeccion_tunel: euforia, velocidad frontal, liberacion
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. SISTEMA DE FACTORES VISUALES
|
|
33
|
+
|
|
34
|
+
### Factores iniciales
|
|
35
|
+
|
|
36
|
+
| # | Factor | Opciones / Variables |
|
|
37
|
+
|---|--------|----------------------|
|
|
38
|
+
| 1 | Universalidad del Entorno | No-lugares (distritos financieros, tuneles, concreto, cristal) vs. entornos locales (Lima, bodegas, mototaxis) |
|
|
39
|
+
| 2 | Fase Temporal | Sunrise, Sun, Sunset, Sundown, Night |
|
|
40
|
+
| 3 | Perspectiva Psicologica | Seguimiento posterior / avatar, CCTV, silueta extrema, perfil introspectivo |
|
|
41
|
+
| 4 | Direccion de Movimiento | Viaje (avanzando) vs. estatico (perfil/lateral) |
|
|
42
|
+
| 5 | Lenguaje Corporal / Pose | Pose House, cruce de pies, brazos en suspension, caminata ritmica |
|
|
43
|
+
| 6 | Dinamicas Humanas | Aislamiento absoluto, pareja, amigos, grupos dispersos, solo en multitud, osmosis social |
|
|
44
|
+
| 7 | Vestimenta | Neutra/global (hoodie, beanie, jeans, mochila) vs. ajustes por subgenero |
|
|
45
|
+
| 8 | Decoracion / Instalacion efimera | Parlantes, truss metalico, ground-stack, instalacion tactica |
|
|
46
|
+
| 9 | Camara / Angulo | POV, seguimiento, picado, cenital, lateral |
|
|
47
|
+
| 10 | Clima exterior | Lluvia, neblina, seco |
|
|
48
|
+
| 11 | Cinematica de poses | Como se mueve el cuerpo segun el estado emocional |
|
|
49
|
+
| 12 | Densidad humana | Solitario, grupos, masa, multitud |
|
|
50
|
+
|
|
51
|
+
### Regla de separacion de responsabilidades
|
|
52
|
+
|
|
53
|
+
- Factor 1: lienzo espacial (donde estamos)
|
|
54
|
+
- Factor 6: quienes estan ahi
|
|
55
|
+
- Factor 7: como se instalo la rave
|
|
56
|
+
- Factor 8: como se mira
|
|
57
|
+
|
|
58
|
+
NO se mezclan. Cada factor es independiente.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 3. ARQUITECTURA DEL GENERADOR
|
|
63
|
+
|
|
64
|
+
### Estructura JSON/YAML por factor
|
|
65
|
+
|
|
66
|
+
Cada opcion dentro de un factor debe tener:
|
|
67
|
+
|
|
68
|
+
- metadata
|
|
69
|
+
- locked_core_prompt: prompt base inmutable
|
|
70
|
+
- evolution_ideas[]: mejoras positivas
|
|
71
|
+
- exclusions[]: errores que la IA no debe cometer
|
|
72
|
+
|
|
73
|
+
### Dos niveles
|
|
74
|
+
|
|
75
|
+
- GLOBAL: ideas/exclusiones que aplican a todo el factor
|
|
76
|
+
- LOCAL: ideas/exclusiones especificas de una opcion
|
|
77
|
+
|
|
78
|
+
### Conceptos clave
|
|
79
|
+
|
|
80
|
+
- IDEAS ADITIVAS: mejoran sin romper la regla
|
|
81
|
+
- EXCLUSIONES: prohiben errores tipicos de la IA
|
|
82
|
+
- DESVIOS / OVERRIDES: excepciones explicitas a una regla global
|
|
83
|
+
(ej. "quiero que se parezca a Lima" aunque el factor sea universalidad)
|
|
84
|
+
|
|
85
|
+
### Flujo
|
|
86
|
+
|
|
87
|
+
1. Seleccionas opciones de cada factor
|
|
88
|
+
2. El ensamblador compila un prompt maestro
|
|
89
|
+
3. Ese prompt se le entrega a la IA generadora de imagenes
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 4. PROBLEMA DE LA MEMORIA HUMANA
|
|
94
|
+
|
|
95
|
+
### El problema
|
|
96
|
+
|
|
97
|
+
- La mente opera con ALTA ENTROPIA y SALTOS DE CONTEXTO
|
|
98
|
+
- La memoria de trabajo se desborda (metafora del vaso con pelotitas)
|
|
99
|
+
- Se pierde el hilo, se olvidan terminos tecnicos
|
|
100
|
+
- Se depende de Ctrl+F para recuperar conceptos
|
|
101
|
+
- La redundancia linguistica existe porque la memoria es limitada
|
|
102
|
+
- Los terminos abstractos no tienen anclaje sensorial (no se huelen, no se ven, no se tocan), por eso se olvidan mas rapido
|
|
103
|
+
|
|
104
|
+
### Ecuacion de sobrecarga
|
|
105
|
+
|
|
106
|
+
O = max(0, m - v - W)
|
|
107
|
+
|
|
108
|
+
Donde:
|
|
109
|
+
- O = sobrecarga
|
|
110
|
+
- m = elementos mentales necesarios
|
|
111
|
+
- v = elementos visibles en la interfaz
|
|
112
|
+
- W = limite biologico de la memoria de trabajo
|
|
113
|
+
|
|
114
|
+
Conclusion: necesitas externalizar memoria en una interfaz visual/persistente.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 5. PROPUESTAS DE SOLUCION
|
|
119
|
+
|
|
120
|
+
### HCI / UI Cognitiva
|
|
121
|
+
|
|
122
|
+
- State Rail: panel persistente con parametros activos
|
|
123
|
+
- Semantic Zoom y Ghost Layers: capas que muestran dependencias sin saturar
|
|
124
|
+
- Scaffolded Friction: obligar al usuario a clasificar sus ideas en tiempo real
|
|
125
|
+
- Reactive DAG: grafo aciclico dirigido para evitar bucles y permitir time-travel
|
|
126
|
+
- SQLite WAL + @ts-check: persistencia local y validacion tipada
|
|
127
|
+
- Neuroergonomia: adaptar la UI segun fatiga (adenosina, HRV, TEPR)
|
|
128
|
+
|
|
129
|
+
### Mnemotecnia
|
|
130
|
+
|
|
131
|
+
- Cubo-personaje: cubos 3x3 hasta 32x32 con patrones zigzag
|
|
132
|
+
- Indexacion espaciotemporal 4D: ano, mes, dia, hora + colores y vectores
|
|
133
|
+
- Sistemas narrativos: ano = personaje, mes = accion, dia = item, hora = ambiente
|
|
134
|
+
- Simbolos ASCII, rotaciones, angulos, eliminacion de conectores gramaticales
|
|
135
|
+
- Voice-to-node: dictado continuo, segmentacion semantica, nodos automaticos
|
|
136
|
+
|
|
137
|
+
### Prompt de investigacion avanzada
|
|
138
|
+
|
|
139
|
+
Ver archivos:
|
|
140
|
+
- Investigacion HCI Alta Entropia.docx
|
|
141
|
+
- Investigacion Arquitectura UI Cognitiva.docx
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 6. INVESTIGACIONES REALIZADAS
|
|
146
|
+
|
|
147
|
+
### Investigacion 1: HCI Alta Entropia
|
|
148
|
+
|
|
149
|
+
- Memoria de trabajo: 4-7 elementos simultaneos
|
|
150
|
+
- State Rail, Semantic Zoom, Ghost Layers
|
|
151
|
+
- Scaffolded Friction: NXS-SLICER de ideas
|
|
152
|
+
- Grafos aciclicos dirigidos (DAG)
|
|
153
|
+
- SQLite WAL, @ts-check, AST JSON
|
|
154
|
+
|
|
155
|
+
### Investigacion 2: Arquitectura UI Cognitiva
|
|
156
|
+
|
|
157
|
+
- Ecuacion de sobrecarga
|
|
158
|
+
- Efecto cerradura de UIs conversacionales
|
|
159
|
+
- Externalizacion dinamica (Orality, StepWrite)
|
|
160
|
+
- Decodificacion restringida por gramatica (AST, JSON)
|
|
161
|
+
- Neuroergonomia (TEPR, HRV)
|
|
162
|
+
- Modulos: Ingesta Restringida, Gestor de Estado Topologico,
|
|
163
|
+
Bucle de Supervision Activa, Auditor Metacognitivo
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 7. PROYECTOS ANTIGUOS RELACIONADOS
|
|
168
|
+
|
|
169
|
+
- Mnemotecnia Cubo-Personaje (motor grafico mental)
|
|
170
|
+
- Diccionario de simbolos / compresion de lenguaje
|
|
171
|
+
- Memoria virtual / mnemotecnia infinita
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## 8. PROXIMOS PASOS (cuando se retome)
|
|
176
|
+
|
|
177
|
+
### Corto plazo
|
|
178
|
+
|
|
179
|
+
- Definir el primer factor de forma completa (JSON con metadata,
|
|
180
|
+
locked_core_prompt, evolution_ideas, exclusions)
|
|
181
|
+
- Probar el ensamblaje manual en una IA generadora
|
|
182
|
+
- Validar que la miniatura resultante represente el estado emocional
|
|
183
|
+
|
|
184
|
+
### Medio plazo
|
|
185
|
+
|
|
186
|
+
- Definir los 12 factores en JSON
|
|
187
|
+
- Implementar el ensamblador (script local, sin IA en tiempo real)
|
|
188
|
+
- Probar el flujo completo con un set real
|
|
189
|
+
|
|
190
|
+
### Largo plazo
|
|
191
|
+
|
|
192
|
+
- Resolver el primer pilar (memoria/externalizacion cognitiva)
|
|
193
|
+
- Interfaz de captura de voz con segmentacion semantica
|
|
194
|
+
- Integracion de mnemotecnia visual
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## 9. FILOSOFIA DEL PROYECTO
|
|
199
|
+
|
|
200
|
+
- La tecnica es el lenguaje, no el fin
|
|
201
|
+
- La curaduria es narrativa temporal y emocional
|
|
202
|
+
- El sistema debe permitir creatividad sin perderse en el caos
|
|
203
|
+
- La redundancia es un sintoma de memoria limitada
|
|
204
|
+
- La solucion no es "pensar menos", es "externalizar mejor"
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 10. LINKS Y REFERENCIAS
|
|
209
|
+
|
|
210
|
+
- Investigacion HCI Alta Entropia.docx
|
|
211
|
+
- Investigacion Arquitectura UI Cognitiva.docx
|
|
212
|
+
- Mnemotecnia Cubo-Personaje (motor grafico mental)
|
|
213
|
+
- ULTRA TOKEN JSON
|
|
214
|
+
- Arquitectura De Ensamblaje De Prompts.docx
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## NOTAS FINALES
|
|
219
|
+
|
|
220
|
+
Este documento es un rescate de ideas del 2026-09-17.
|
|
221
|
+
No es la version final. Es un snapshot para no olvidar.
|
|
222
|
+
|
|
223
|
+
Cuando retomes el proyecto, empeza por el Factor 1 y el Factor 6.
|
|
224
|
+
Son los pilares de todo el sistema.
|
|
225
|
+
|
|
226
|
+
La investigacion cognitiva (primer pilar) queda pendiente.
|
|
227
|
+
No es urgente. El motor visual se puede construir sin ella.
|
|
228
|
+
|
|
229
|
+
Regla de oro: SIEMPRE separacion de responsabilidades.
|
|
230
|
+
Cada factor hace una sola cosa. Nada mas.
|
package/MANUAL.md
CHANGED
|
@@ -17,12 +17,27 @@ Requisitos: Windows 10/11, Node.js 18+, Git 2.30+
|
|
|
17
17
|
forge
|
|
18
18
|
|
|
19
19
|
El proyecto queda con Git, .gitignore, README.md, commit inicial,
|
|
20
|
-
tag v1.0.0 y
|
|
20
|
+
tag v1.0.0 y 8 helpers en .forge/commands/.
|
|
21
|
+
|
|
22
|
+
## Uso en un proyecto existente
|
|
23
|
+
|
|
24
|
+
Si el proyecto ya tiene forgeGit instalado:
|
|
25
|
+
|
|
26
|
+
cd ruta\del\proyecto
|
|
27
|
+
forge <comando>
|
|
28
|
+
|
|
29
|
+
El comando global detecta el forge.cmd local y delega automaticamente.
|
|
21
30
|
|
|
22
31
|
## Comandos disponibles
|
|
23
32
|
|
|
24
33
|
| Comando | Descripcion |
|
|
25
34
|
|---------|-------------|
|
|
35
|
+
| forge | Instala forgeGit en la carpeta actual |
|
|
36
|
+
| forge update | Actualiza .forge/ desde el kit global |
|
|
37
|
+
| forge version | Muestra la version instalada |
|
|
38
|
+
| forge help | Ayuda completa |
|
|
39
|
+
| forge init | Re-bootstrap (idempotente) |
|
|
40
|
+
| forge init --force | Regenerar todo |
|
|
26
41
|
| forge save | Commit de cambios |
|
|
27
42
|
| forge push | Push a GitHub |
|
|
28
43
|
| forge log | Ver commits recientes |
|
|
@@ -30,7 +45,6 @@ tag v1.0.0 y 7 helpers en .forge/commands/.
|
|
|
30
45
|
| forge audit | Generar reporte diff |
|
|
31
46
|
| forge open | Abrir en VS Code |
|
|
32
47
|
| forge serve | Servidor de desarrollo (auto-detect) |
|
|
33
|
-
| forge help | Ayuda completa |
|
|
34
48
|
|
|
35
49
|
## Estructura del proyecto
|
|
36
50
|
|
|
@@ -39,7 +53,7 @@ tag v1.0.0 y 7 helpers en .forge/commands/.
|
|
|
39
53
|
|-- .forge/
|
|
40
54
|
| |-- init.cmd Bootstrap
|
|
41
55
|
| |-- config.cmd Configuracion
|
|
42
|
-
| |-- commands/
|
|
56
|
+
| |-- commands/ 8 helpers
|
|
43
57
|
| |-- lib/ Modulos internos
|
|
44
58
|
| |-- templates/ Fuentes .tpl
|
|
45
59
|
| +-- serve-static.js
|
|
@@ -47,17 +61,212 @@ tag v1.0.0 y 7 helpers en .forge/commands/.
|
|
|
47
61
|
|-- audits/ Reportes diff
|
|
48
62
|
+-- (tus archivos)
|
|
49
63
|
|
|
64
|
+
## Los 8 helpers
|
|
65
|
+
|
|
66
|
+
| Helper | Descripcion |
|
|
67
|
+
|--------|-------------|
|
|
68
|
+
| save.cmd | Commit local de cambios |
|
|
69
|
+
| push.cmd | Push a GitHub |
|
|
70
|
+
| snapshots.cmd | Crear/restaurar snapshots |
|
|
71
|
+
| historial.cmd | Ver commits recientes |
|
|
72
|
+
| auditar.cmd | Generar reporte diff |
|
|
73
|
+
| abrir.cmd | Abrir en VS Code |
|
|
74
|
+
| serve.cmd | Servidor de desarrollo (auto-detect) |
|
|
75
|
+
| init.cmd | Re-bootstrap (idempotente) |
|
|
76
|
+
|
|
50
77
|
## Actualizar
|
|
51
78
|
|
|
52
79
|
npm install -g forgegit@latest
|
|
80
|
+
cd ruta\del\proyecto
|
|
53
81
|
forge update
|
|
54
82
|
|
|
83
|
+
## Actualizar el kit y un proyecto
|
|
84
|
+
|
|
85
|
+
Actualizar el kit global:
|
|
86
|
+
|
|
87
|
+
npm install -g forgegit@latest
|
|
88
|
+
|
|
89
|
+
Actualizar un proyecto especifico:
|
|
90
|
+
|
|
91
|
+
cd ruta\del\proyecto
|
|
92
|
+
forge update
|
|
93
|
+
|
|
94
|
+
Esto copia forge.cmd y .forge/ desde el kit global al proyecto,
|
|
95
|
+
sin tocar tus archivos ni los helpers pre-generados.
|
|
96
|
+
|
|
97
|
+
## Desinstalar
|
|
98
|
+
|
|
99
|
+
npm uninstall -g forgegit
|
|
100
|
+
|
|
101
|
+
## Filosofia
|
|
102
|
+
|
|
103
|
+
- **Idempotente**: seguro de ejecutar multiples veces
|
|
104
|
+
- **Modular**: templates en archivos .tpl
|
|
105
|
+
- **Portable**: funciona en cualquier carpeta Windows
|
|
106
|
+
- **Configurable**: editar .forge/config.cmd
|
|
107
|
+
- **Autodocumentado**: salida de terminal con colores
|
|
108
|
+
|
|
55
109
|
## Links
|
|
56
110
|
|
|
57
111
|
- Repo: https://github.com/vloitz/forgeGit
|
|
58
112
|
- npm: https://www.npmjs.com/package/forgegit
|
|
59
113
|
- Releases: https://github.com/vloitz/forgeGit/releases
|
|
114
|
+
- Workflow IA: WORKFLOW.md
|
|
115
|
+
- Roadmap: FUTURE.md
|
|
60
116
|
|
|
61
117
|
## Licencia
|
|
62
118
|
|
|
63
|
-
MIT
|
|
119
|
+
MIT
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Guardá con `Ctrl+S`.**
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## 🎬 Fix 5 — `README.md`
|
|
127
|
+
|
|
128
|
+
**En VS Code, abrí `README.md`.**
|
|
129
|
+
|
|
130
|
+
**`Ctrl+H`** para Buscar/Reemplazar.
|
|
131
|
+
|
|
132
|
+
### Reemplazo 1 — Versión
|
|
133
|
+
|
|
134
|
+
**Buscar:**
|
|
135
|
+
```
|
|
136
|
+
- Version: 1.2.2
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
**Reemplazar:**
|
|
140
|
+
```
|
|
141
|
+
- Version: 1.5.8
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Reemplazo 2 — Tests
|
|
145
|
+
|
|
146
|
+
**Buscar:**
|
|
147
|
+
```
|
|
148
|
+
- Tests: 14/14 passing
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Reemplazar:**
|
|
152
|
+
```
|
|
153
|
+
- Tests: 16/16 passing
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Reemplazo 3 — Estructura del proyecto
|
|
157
|
+
|
|
158
|
+
**Buscar exactamente:**
|
|
159
|
+
```
|
|
160
|
+
forgeGit/
|
|
161
|
+
├── init.cmd Entry point (14 steps)
|
|
162
|
+
├── config.cmd Configuration values
|
|
163
|
+
├── MANUAL.md Full user manual
|
|
164
|
+
├── FUTURE.md Roadmap / ideas
|
|
165
|
+
├── lib/ Internal modules
|
|
166
|
+
│ ├── ui.cmd Terminal UI helpers
|
|
167
|
+
│ ├── git-ops.cmd Git operations
|
|
168
|
+
│ └── templates.cmd Template renderer
|
|
169
|
+
├── templates/ Source templates (.tpl)
|
|
170
|
+
├── tools/ Author tools
|
|
171
|
+
│ ├── install.cmd Install forge globally
|
|
172
|
+
│ ├── uninstall.cmd Uninstall forge
|
|
173
|
+
│ ├── restore.cmd Restore PATH from backup
|
|
174
|
+
│ ├── pack.cmd Build clean distribution
|
|
175
|
+
│ ├── release.cmd Build ZIP + open GitHub
|
|
176
|
+
│ └── bin/forge.cmd Global command
|
|
177
|
+
└── tests/ Automated tests (14/14)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Reemplazarlo exactamente por:**
|
|
181
|
+
```
|
|
182
|
+
forgeGit/
|
|
183
|
+
├── forge.cmd Menu + CLI (unico .cmd visible)
|
|
184
|
+
├── .forge/ Infraestructura oculta
|
|
185
|
+
│ ├── init.cmd Bootstrap (17 pasos)
|
|
186
|
+
│ ├── config.cmd Configuration values
|
|
187
|
+
│ ├── lib/ Internal modules
|
|
188
|
+
│ ├── templates/ Source templates (.tpl)
|
|
189
|
+
│ ├── commands/ 8 helpers generados
|
|
190
|
+
│ └── serve-static.js Servidor Node
|
|
191
|
+
├── MANUAL.md Full user manual
|
|
192
|
+
├── WORKFLOW.md AI workflow rules
|
|
193
|
+
├── README.md This file
|
|
194
|
+
├── tools/ Author tools
|
|
195
|
+
│ ├── install.cmd Install forge globally
|
|
196
|
+
│ ├── uninstall.cmd Uninstall forge
|
|
197
|
+
│ ├── restore.cmd Restore PATH from backup
|
|
198
|
+
│ ├── pack.cmd Build clean distribution
|
|
199
|
+
│ ├── release.cmd Build ZIP + open GitHub
|
|
200
|
+
│ └── bin/forge.cmd Global command
|
|
201
|
+
└── tests/ Automated tests (16/16)
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### Reemplazo 4 — Los 7 helpers
|
|
205
|
+
|
|
206
|
+
**Buscar exactamente:**
|
|
207
|
+
```
|
|
208
|
+
## The 7 helpers
|
|
209
|
+
|
|
210
|
+
| File | Purpose |
|
|
211
|
+
|------|---------|
|
|
212
|
+
| `guardar.cmd` | Commit changes locally |
|
|
213
|
+
| `subir.cmd` | Push to GitHub |
|
|
214
|
+
| `snapshots.cmd` | Create/restore full project snapshots |
|
|
215
|
+
| `historial.cmd` | View recent commits |
|
|
216
|
+
| `auditar.cmd` | Generate diff reports (for AI review) |
|
|
217
|
+
| `abrir.cmd` | Open project in VS Code |
|
|
218
|
+
| `init.cmd` | Re-bootstrap (idempotent) |
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
**Reemplazarlo exactamente por:**
|
|
222
|
+
```
|
|
223
|
+
## The 8 helpers
|
|
224
|
+
|
|
225
|
+
| File | Purpose |
|
|
226
|
+
|------|---------|
|
|
227
|
+
| `save.cmd` | Commit changes locally |
|
|
228
|
+
| `push.cmd` | Push to GitHub |
|
|
229
|
+
| `snapshots.cmd` | Create/restore full project snapshots |
|
|
230
|
+
| `historial.cmd` | View recent commits |
|
|
231
|
+
| `auditar.cmd` | Generate diff reports (for AI review) |
|
|
232
|
+
| `abrir.cmd` | Open project in VS Code |
|
|
233
|
+
| `serve.cmd` | Dev server (auto-detect stack) |
|
|
234
|
+
| `init.cmd` | Re-bootstrap (idempotent) |
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Reemplazo 5 — What it does
|
|
238
|
+
|
|
239
|
+
**Buscar exactamente:**
|
|
240
|
+
```
|
|
241
|
+
- Generates 7 helper commands in the project
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
**Reemplazarlo exactamente por:**
|
|
245
|
+
```
|
|
246
|
+
- Generates 8 helper commands in `.forge/commands/`
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Reemplazo 6 — Global commands (sección)
|
|
250
|
+
|
|
251
|
+
**Buscar exactamente:**
|
|
252
|
+
```
|
|
253
|
+
## Global commands
|
|
254
|
+
|
|
255
|
+
```cmd
|
|
256
|
+
forge Bootstrap current directory
|
|
257
|
+
forge update Sync templates from kit
|
|
258
|
+
forge help Show help
|
|
259
|
+
```
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
**Reemplazarlo exactamente por:**
|
|
263
|
+
```
|
|
264
|
+
## Global commands
|
|
265
|
+
|
|
266
|
+
```cmd
|
|
267
|
+
forge Bootstrap current directory
|
|
268
|
+
forge update Sync .forge/ from kit
|
|
269
|
+
forge version Show version
|
|
270
|
+
forge help Show help
|
|
271
|
+
```
|
|
272
|
+
```
|
package/README.md
CHANGED
|
@@ -26,18 +26,19 @@ Running `forge` in an empty folder:
|
|
|
26
26
|
- Creates a universal `.gitignore` (covers Node, Python, Rust, Go)
|
|
27
27
|
- Generates an adaptive `README.md`
|
|
28
28
|
- Creates initial commit + tag `v1.0.0`
|
|
29
|
-
- Generates
|
|
29
|
+
- Generates 8 helper commands in `.forge/commands/`
|
|
30
30
|
|
|
31
|
-
## The
|
|
31
|
+
## The 8 helpers
|
|
32
32
|
|
|
33
33
|
| File | Purpose |
|
|
34
34
|
|------|---------|
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
35
|
+
| `save.cmd` | Commit changes locally |
|
|
36
|
+
| `push.cmd` | Push to GitHub |
|
|
37
37
|
| `snapshots.cmd` | Create/restore full project snapshots |
|
|
38
38
|
| `historial.cmd` | View recent commits |
|
|
39
39
|
| `auditar.cmd` | Generate diff reports (for AI review) |
|
|
40
40
|
| `abrir.cmd` | Open project in VS Code |
|
|
41
|
+
| `serve.cmd` | Dev server (auto-detect stack) |
|
|
41
42
|
| `init.cmd` | Re-bootstrap (idempotent) |
|
|
42
43
|
|
|
43
44
|
## Install
|
|
@@ -68,7 +69,8 @@ The folder becomes a fully configured Git repository with helpers.
|
|
|
68
69
|
|
|
69
70
|
```cmd
|
|
70
71
|
forge Bootstrap current directory
|
|
71
|
-
forge update Sync
|
|
72
|
+
forge update Sync .forge/ from kit
|
|
73
|
+
forge version Show version
|
|
72
74
|
forge help Show help
|
|
73
75
|
```
|
|
74
76
|
|
|
@@ -85,15 +87,17 @@ forge help Show help
|
|
|
85
87
|
|
|
86
88
|
```
|
|
87
89
|
forgeGit/
|
|
88
|
-
├──
|
|
89
|
-
├──
|
|
90
|
+
├── forge.cmd Menu + CLI (unico .cmd visible)
|
|
91
|
+
├── .forge/ Infraestructura oculta
|
|
92
|
+
│ ├── init.cmd Bootstrap (17 pasos)
|
|
93
|
+
│ ├── config.cmd Configuration values
|
|
94
|
+
│ ├── lib/ Internal modules
|
|
95
|
+
│ ├── templates/ Source templates (.tpl)
|
|
96
|
+
│ ├── commands/ 8 helpers generados
|
|
97
|
+
│ └── serve-static.js Servidor Node
|
|
90
98
|
├── MANUAL.md Full user manual
|
|
91
|
-
├──
|
|
92
|
-
├──
|
|
93
|
-
│ ├── ui.cmd Terminal UI helpers
|
|
94
|
-
│ ├── git-ops.cmd Git operations
|
|
95
|
-
│ └── templates.cmd Template renderer
|
|
96
|
-
├── templates/ Source templates (.tpl)
|
|
99
|
+
├── WORKFLOW.md AI workflow rules
|
|
100
|
+
├── README.md This file
|
|
97
101
|
├── tools/ Author tools
|
|
98
102
|
│ ├── install.cmd Install forge globally
|
|
99
103
|
│ ├── uninstall.cmd Uninstall forge
|
|
@@ -101,7 +105,7 @@ forgeGit/
|
|
|
101
105
|
│ ├── pack.cmd Build clean distribution
|
|
102
106
|
│ ├── release.cmd Build ZIP + open GitHub
|
|
103
107
|
│ └── bin/forge.cmd Global command
|
|
104
|
-
└── tests/ Automated tests (
|
|
108
|
+
└── tests/ Automated tests (16/16)
|
|
105
109
|
```
|
|
106
110
|
|
|
107
111
|
## Requirements
|
|
@@ -113,9 +117,9 @@ forgeGit/
|
|
|
113
117
|
|
|
114
118
|
## Status
|
|
115
119
|
|
|
116
|
-
- Version: 1.
|
|
120
|
+
- Version: 1.5.8
|
|
117
121
|
- Published: npm + GitHub Release
|
|
118
|
-
- Tests:
|
|
122
|
+
- Tests: 16/16 passing
|
|
119
123
|
- Platform: Windows only (Linux/Mac planned as Node.js CLI)
|
|
120
124
|
|
|
121
125
|
## Roadmap
|
|
@@ -132,4 +136,5 @@ cross-platform Node.js CLI (zero friction, no .cmd files in projects).
|
|
|
132
136
|
|
|
133
137
|
## License
|
|
134
138
|
|
|
135
|
-
MIT
|
|
139
|
+
MIT
|
|
140
|
+
```
|
package/WORKFLOW.md
CHANGED
|
@@ -30,6 +30,103 @@ Toda instruccion para modificar codigo DEBE ser:
|
|
|
30
30
|
2. Ubicacion exacta (busca / reemplaza / pega debajo)
|
|
31
31
|
3. Sin ambiguedad
|
|
32
32
|
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Regla crítica: bloques VERBATIM
|
|
36
|
+
|
|
37
|
+
### El problema
|
|
38
|
+
|
|
39
|
+
La IA tiende a "limpiar" visualmente el código antes de darlo como
|
|
40
|
+
bloque de búsqueda: quita líneas en blanco, normaliza espacios,
|
|
41
|
+
reindenta. El humano busca ese bloque en VS Code con Ctrl+H y NO LO
|
|
42
|
+
ENCUENTRA, porque el código real tiene 1 línea en blanco de más, o
|
|
43
|
+
un espacio extra, o una indentación distinta.
|
|
44
|
+
|
|
45
|
+
El humano pierde tiempo reportando el bloque actual, la IA da otro
|
|
46
|
+
bloque "corregido" que también falla, y el ciclo se repite.
|
|
47
|
+
|
|
48
|
+
### La regla
|
|
49
|
+
|
|
50
|
+
Cuando la IA va a dar un bloque de búsqueda (Ctrl+H), DEBE usar el
|
|
51
|
+
código EXACTO que el humano pegó en el chat, copiado carácter por
|
|
52
|
+
carácter, incluyendo:
|
|
53
|
+
|
|
54
|
+
- Líneas en blanco en su posición exacta
|
|
55
|
+
- Indentación exacta (2 espacios, 4 espacios, tabs)
|
|
56
|
+
- Espacios antes de llaves, después de comas, etc.
|
|
57
|
+
- Saltos de línea donde estén
|
|
58
|
+
- Comentarios tal cual
|
|
59
|
+
|
|
60
|
+
La IA NO debe:
|
|
61
|
+
- Quitar líneas en blanco "para que quede más limpio"
|
|
62
|
+
- Reindentar "para que quede más legible"
|
|
63
|
+
- Normalizar espacios "para que sea consistente"
|
|
64
|
+
- Resumir el bloque si es largo
|
|
65
|
+
- Omitir partes con "..." o "// resto igual"
|
|
66
|
+
|
|
67
|
+
### Protocolo
|
|
68
|
+
|
|
69
|
+
1. El humano pega en el chat la función o bloque completo (Ctrl+A
|
|
70
|
+
dentro del bloque, Ctrl+C, pegar en chat).
|
|
71
|
+
|
|
72
|
+
2. La IA copia ese bloque VERBATIM en su respuesta, cambia SOLO
|
|
73
|
+
las líneas que hay que cambiar, y lo devuelve.
|
|
74
|
+
|
|
75
|
+
3. Si la IA necesita modificar 3 líneas de 40, las otras 37 van
|
|
76
|
+
IDÉNTICAS, carácter por carácter, incluidas líneas en blanco
|
|
77
|
+
entre bloques lógicos.
|
|
78
|
+
|
|
79
|
+
### Ejemplo de lo prohibido
|
|
80
|
+
|
|
81
|
+
Humano pega:
|
|
82
|
+
|
|
83
|
+
function foo() {
|
|
84
|
+
const x = 1;
|
|
85
|
+
|
|
86
|
+
if (x) {
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
IA responde (MAL, quitó línea en blanco):
|
|
92
|
+
|
|
93
|
+
Busca exactamente:
|
|
94
|
+
function foo() {
|
|
95
|
+
const x = 1;
|
|
96
|
+
if (x) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
IA responde (BIEN, verbatim):
|
|
102
|
+
|
|
103
|
+
Busca exactamente:
|
|
104
|
+
function foo() {
|
|
105
|
+
const x = 1;
|
|
106
|
+
|
|
107
|
+
if (x) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
### Si el bloque no matchea
|
|
113
|
+
|
|
114
|
+
Si el humano reporta "busqué X, NO EXISTE, el código actual tiene Y":
|
|
115
|
+
|
|
116
|
+
- La IA NO debe reescribir el bloque "adivinando" el formato.
|
|
117
|
+
- La IA DEBE pedirle al humano que pegue el bloque actual completo.
|
|
118
|
+
- La IA DEBE devolver el bloque nuevo usando ESE pegado como base,
|
|
119
|
+
verbatim.
|
|
120
|
+
|
|
121
|
+
### Por qué esto importa
|
|
122
|
+
|
|
123
|
+
El propósito de forgeGit es que los cambios sean trazables y
|
|
124
|
+
reversibles. Si la IA formatea distinto, el bloque no matchea, el
|
|
125
|
+
cambio se aplica a mano, se cometen typos, y la trazabilidad se
|
|
126
|
+
pierde. Verbatim garantiza que busca/reemplaza funcione siempre.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
33
130
|
### Formato obligatorio para REEMPLAZAR
|
|
34
131
|
|
|
35
132
|
Busca exactamente este codigo:
|
package/package.json
CHANGED
package/tests/test.cmd
CHANGED
|
@@ -4,7 +4,7 @@ chcp 65001 >nul 2>nul
|
|
|
4
4
|
|
|
5
5
|
echo.
|
|
6
6
|
echo ============================================
|
|
7
|
-
echo forgeGit - Tests
|
|
7
|
+
echo forgeGit - Tests v1.5.8
|
|
8
8
|
echo ============================================
|
|
9
9
|
echo.
|
|
10
10
|
|
|
@@ -25,47 +25,55 @@ echo [TEST 1] Ejecutando forge...
|
|
|
25
25
|
call "%FORGE_HOME%\tools\bin\forge.cmd" < nul >nul 2>nul
|
|
26
26
|
|
|
27
27
|
REM Check archivos core
|
|
28
|
-
if exist "
|
|
29
|
-
echo [OK]
|
|
28
|
+
if exist "forge.cmd" (
|
|
29
|
+
echo [OK] forge.cmd creado
|
|
30
30
|
set /a PASS+=1
|
|
31
31
|
) else (
|
|
32
|
-
echo [X]
|
|
32
|
+
echo [X] forge.cmd NO creado
|
|
33
33
|
set /a FAIL+=1
|
|
34
34
|
)
|
|
35
35
|
|
|
36
|
-
if exist "
|
|
37
|
-
echo [OK]
|
|
36
|
+
if exist ".forge\init.cmd" (
|
|
37
|
+
echo [OK] .forge\init.cmd presente
|
|
38
38
|
set /a PASS+=1
|
|
39
39
|
) else (
|
|
40
|
-
echo [X]
|
|
40
|
+
echo [X] .forge\init.cmd NO presente
|
|
41
|
+
set /a FAIL+=1
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
if exist ".forge\config.cmd" (
|
|
45
|
+
echo [OK] .forge\config.cmd presente
|
|
46
|
+
set /a PASS+=1
|
|
47
|
+
) else (
|
|
48
|
+
echo [X] .forge\config.cmd NO presente
|
|
41
49
|
set /a FAIL+=1
|
|
42
50
|
)
|
|
43
51
|
|
|
44
52
|
REM Check 7 helpers
|
|
45
|
-
for %%F in (
|
|
46
|
-
if exist "
|
|
47
|
-
echo [OK]
|
|
53
|
+
for %%F in (save push snapshots historial abrir auditar serve) do (
|
|
54
|
+
if exist ".forge\commands\%%F.cmd" (
|
|
55
|
+
echo [OK] .forge\commands\%%F.cmd creado
|
|
48
56
|
set /a PASS+=1
|
|
49
57
|
) else (
|
|
50
|
-
echo [X]
|
|
58
|
+
echo [X] .forge\commands\%%F.cmd NO creado
|
|
51
59
|
set /a FAIL+=1
|
|
52
60
|
)
|
|
53
61
|
)
|
|
54
62
|
|
|
55
63
|
REM Check carpetas
|
|
56
|
-
if exist "lib\ui.cmd" (
|
|
57
|
-
echo [OK] lib\ui.cmd presente
|
|
64
|
+
if exist ".forge\lib\ui.cmd" (
|
|
65
|
+
echo [OK] .forge\lib\ui.cmd presente
|
|
58
66
|
set /a PASS+=1
|
|
59
67
|
) else (
|
|
60
|
-
echo [X] lib\ui.cmd NO presente
|
|
68
|
+
echo [X] .forge\lib\ui.cmd NO presente
|
|
61
69
|
set /a FAIL+=1
|
|
62
70
|
)
|
|
63
71
|
|
|
64
|
-
if exist "templates\abrir.cmd.tpl" (
|
|
65
|
-
echo [OK] templates\abrir.cmd.tpl presente
|
|
72
|
+
if exist ".forge\templates\abrir.cmd.tpl" (
|
|
73
|
+
echo [OK] .forge\templates\abrir.cmd.tpl presente
|
|
66
74
|
set /a PASS+=1
|
|
67
75
|
) else (
|
|
68
|
-
echo [X] templates\abrir.cmd.tpl NO presente
|
|
76
|
+
echo [X] .forge\templates\abrir.cmd.tpl NO presente
|
|
69
77
|
set /a FAIL+=1
|
|
70
78
|
)
|
|
71
79
|
|
|
@@ -95,29 +103,28 @@ echo.
|
|
|
95
103
|
echo [TEST 2] Ejecutando forge update...
|
|
96
104
|
call "%FORGE_HOME%\tools\bin\forge.cmd" update < nul >nul 2>nul
|
|
97
105
|
|
|
98
|
-
if exist "
|
|
99
|
-
echo [OK]
|
|
106
|
+
if exist "forge.cmd" (
|
|
107
|
+
echo [OK] forge.cmd sigue presente
|
|
100
108
|
set /a PASS+=1
|
|
101
109
|
) else (
|
|
102
|
-
echo [X]
|
|
110
|
+
echo [X] forge.cmd desaparecio
|
|
103
111
|
set /a FAIL+=1
|
|
104
112
|
)
|
|
105
113
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
REM ============================================================
|
|
109
|
-
echo.
|
|
110
|
-
echo [TEST 3] Ejecutando forge de nuevo (sin confirmar)...
|
|
111
|
-
echo n | call "%FORGE_HOME%\tools\bin\forge.cmd" >nul 2>nul
|
|
112
|
-
|
|
113
|
-
if exist "init.cmd" (
|
|
114
|
-
echo [OK] init.cmd intacto tras cancelacion
|
|
114
|
+
if exist ".forge\init.cmd" (
|
|
115
|
+
echo [OK] .forge\init.cmd sigue presente
|
|
115
116
|
set /a PASS+=1
|
|
116
117
|
) else (
|
|
117
|
-
echo [X] init.cmd
|
|
118
|
+
echo [X] .forge\init.cmd desaparecio
|
|
118
119
|
set /a FAIL+=1
|
|
119
120
|
)
|
|
120
121
|
|
|
122
|
+
REM ============================================================
|
|
123
|
+
REM TEST 3: omitido (delegacion interactiva no automatizable)
|
|
124
|
+
REM ============================================================
|
|
125
|
+
echo.
|
|
126
|
+
echo [TEST 3] Omitido (test manual requerido)
|
|
127
|
+
|
|
121
128
|
REM ============================================================
|
|
122
129
|
REM CLEANUP
|
|
123
130
|
REM ============================================================
|
package/tools/bin/forge.cmd
CHANGED
|
@@ -6,6 +6,14 @@ REM --- FORGE_HOME desde tools/bin/ ---
|
|
|
6
6
|
for %%I in ("%~dp0..\..") do set "FORGE_HOME=%%~fI"
|
|
7
7
|
set "TARGET=%CD%"
|
|
8
8
|
|
|
9
|
+
REM --- Subcomandos propios del global (NO delegar) ---
|
|
10
|
+
if /i "%~1"=="update" goto :update
|
|
11
|
+
if /i "%~1"=="help" goto :help
|
|
12
|
+
if /i "%~1"=="--help" goto :help
|
|
13
|
+
if /i "%~1"=="-h" goto :help
|
|
14
|
+
if /i "%~1"=="version" goto :version
|
|
15
|
+
if /i "%~1"=="--version" goto :version
|
|
16
|
+
|
|
9
17
|
REM --- Deteccion de proyecto local ---
|
|
10
18
|
REM Si existe forge.cmd en el directorio actual, delegar a el
|
|
11
19
|
if exist "%TARGET%\forge.cmd" (
|
|
@@ -13,14 +21,6 @@ if exist "%TARGET%\forge.cmd" (
|
|
|
13
21
|
exit /b %ERRORLEVEL%
|
|
14
22
|
)
|
|
15
23
|
|
|
16
|
-
REM --- Subcomandos ---
|
|
17
|
-
if /i "%~1"=="update" goto :update
|
|
18
|
-
if /i "%~1"=="help" goto :help
|
|
19
|
-
if /i "%~1"=="--help" goto :help
|
|
20
|
-
if /i "%~1"=="-h" goto :help
|
|
21
|
-
if /i "%~1"=="version" goto :version
|
|
22
|
-
if /i "%~1"=="--version" goto :version
|
|
23
|
-
|
|
24
24
|
goto :install
|
|
25
25
|
|
|
26
26
|
:version
|
package/tools/pack.cmd
CHANGED
|
@@ -6,7 +6,7 @@ cd /d "%~dp0"
|
|
|
6
6
|
|
|
7
7
|
echo.
|
|
8
8
|
echo ============================================
|
|
9
|
-
echo Pack - Distribucion limpia
|
|
9
|
+
echo Pack - Distribucion limpia (v1.5.8)
|
|
10
10
|
echo ============================================
|
|
11
11
|
echo.
|
|
12
12
|
|
|
@@ -18,28 +18,37 @@ REM --- Limpiar destino previo ---
|
|
|
18
18
|
if exist "%DIST%" rmdir /s /q "%DIST%"
|
|
19
19
|
|
|
20
20
|
mkdir "%OUT%"
|
|
21
|
-
mkdir "%OUT
|
|
22
|
-
mkdir "%OUT
|
|
21
|
+
mkdir "%OUT%\.forge"
|
|
22
|
+
mkdir "%OUT%\.forge\lib"
|
|
23
|
+
mkdir "%OUT%\.forge\templates"
|
|
24
|
+
mkdir "%OUT%\.forge\commands"
|
|
23
25
|
mkdir "%OUT%\tools"
|
|
24
26
|
mkdir "%OUT%\tools\bin"
|
|
25
27
|
mkdir "%OUT%\tests"
|
|
26
28
|
|
|
27
29
|
echo Copiando archivos core...
|
|
28
|
-
copy /Y "%ROOT%\
|
|
29
|
-
copy /Y "%ROOT%\
|
|
30
|
-
copy /Y "%ROOT%\
|
|
30
|
+
copy /Y "%ROOT%\forge.cmd" "%OUT%\" >nul
|
|
31
|
+
copy /Y "%ROOT%\README.md" "%OUT%\" >nul
|
|
32
|
+
copy /Y "%ROOT%\MANUAL.md" "%OUT%\" >nul
|
|
33
|
+
copy /Y "%ROOT%\WORKFLOW.md" "%OUT%\" >nul
|
|
31
34
|
|
|
32
|
-
echo Copiando
|
|
33
|
-
copy /Y "%ROOT
|
|
35
|
+
echo Copiando .forge/...
|
|
36
|
+
copy /Y "%ROOT%\.forge\init.cmd" "%OUT%\.forge\" >nul
|
|
37
|
+
copy /Y "%ROOT%\.forge\config.cmd" "%OUT%\.forge\" >nul
|
|
38
|
+
copy /Y "%ROOT%\.forge\serve-static.js" "%OUT%\.forge\" >nul
|
|
34
39
|
|
|
35
|
-
echo Copiando
|
|
36
|
-
copy /Y "%ROOT
|
|
40
|
+
echo Copiando .forge/lib/...
|
|
41
|
+
copy /Y "%ROOT%\.forge\lib\*.cmd" "%OUT%\.forge\lib\" >nul
|
|
37
42
|
|
|
38
|
-
echo Copiando
|
|
43
|
+
echo Copiando .forge/templates/...
|
|
44
|
+
copy /Y "%ROOT%\.forge\templates\*.tpl" "%OUT%\.forge\templates\" >nul
|
|
45
|
+
copy /Y "%ROOT%\.forge\templates\serve-static.js" "%OUT%\.forge\templates\" >nul
|
|
46
|
+
|
|
47
|
+
echo Copiando tools/...
|
|
39
48
|
copy /Y "%ROOT%\tools\*.cmd" "%OUT%\tools\" >nul
|
|
40
49
|
copy /Y "%ROOT%\tools\bin\*.cmd" "%OUT%\tools\bin\" >nul
|
|
41
50
|
|
|
42
|
-
echo Copiando tests
|
|
51
|
+
echo Copiando tests/...
|
|
43
52
|
copy /Y "%ROOT%\tests\*.cmd" "%OUT%\tests\" >nul
|
|
44
53
|
|
|
45
54
|
echo.
|
package/tools/release.cmd
CHANGED
|
@@ -6,15 +6,15 @@ cd /d "%~dp0"
|
|
|
6
6
|
|
|
7
7
|
echo.
|
|
8
8
|
echo ============================================
|
|
9
|
-
echo Release - Empaquetar y comprimir
|
|
9
|
+
echo Release - Empaquetar y comprimir (v1.5.8)
|
|
10
10
|
echo ============================================
|
|
11
11
|
echo.
|
|
12
12
|
|
|
13
13
|
REM --- 1. Pack ---
|
|
14
14
|
call "%~dp0pack.cmd"
|
|
15
15
|
|
|
16
|
-
REM --- 2. Leer version ---
|
|
17
|
-
call "%~dp0
|
|
16
|
+
REM --- 2. Leer version desde .forge/config.cmd ---
|
|
17
|
+
call "%~dp0..\.forge\config.cmd"
|
|
18
18
|
set "ZIP=%~dp0..\..\forgeGit-v%FG_VERSION%.zip"
|
|
19
19
|
|
|
20
20
|
REM --- 3. Comprimir ---
|