forgegit 1.5.0 → 1.5.2

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/MANUAL.md CHANGED
@@ -35,15 +35,17 @@ tag v1.0.0 y 7 helpers en .forge/commands/.
35
35
  ## Estructura del proyecto
36
36
 
37
37
  MiProyecto/
38
- ├── forge.cmd Menu + CLI
39
- ├── init.cmd Bootstrap
40
- ├── config.cmd Configuracion
41
- ├── .forge/
42
- ├── commands/ 6 helpers
43
- ├── lib/ Modulos internos
44
- ├── templates/ Fuentes .tpl
45
- └── serve-static.js
46
- └── (tus archivos)
38
+ |-- forge.cmd Menu + CLI (unico .cmd visible)
39
+ |-- .forge/
40
+ | |-- init.cmd Bootstrap
41
+ | |-- config.cmd Configuracion
42
+ | |-- commands/ 7 helpers
43
+ | |-- lib/ Modulos internos
44
+ | |-- templates/ Fuentes .tpl
45
+ | +-- serve-static.js
46
+ |-- versiones/ Snapshots
47
+ |-- audits/ Reportes diff
48
+ +-- (tus archivos)
47
49
 
48
50
  ## Actualizar
49
51
 
package/README.md CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  Universal Git bootstrap kit for Windows.
4
4
 
5
+ > **¿Vas a trabajar con IA (ChatGPT, DeepSeek, Claude, Gemini, Cursor)?**
6
+ > Lee primero [WORKFLOW.md](WORKFLOW.md) para entender las reglas de
7
+ > trabajo, el formato quirúrgico de instrucciones, y los comandos de
8
+ > rescate.
9
+
5
10
  ## What it is
6
11
 
7
12
  forgeGit is a small toolkit that eliminates the repetitive setup work
package/WORKFLOW.md ADDED
@@ -0,0 +1,354 @@
1
+ # forgeGit - Workflow con IA
2
+
3
+ Documento para cualquier IA (ChatGPT, DeepSeek, Claude, Gemini, Cursor,
4
+ Cline) que vaya a trabajar con proyectos que usan forgeGit.
5
+
6
+ ---
7
+
8
+ ## Contexto del proyecto (para IA nuevas)
9
+
10
+ Este proyecto usa **forgeGit**, un kit de bootstrap Git para Windows.
11
+
12
+ - **Comandos principales**: forge (menu), forge save (commit), forge push (GitHub), forge serve (servidor), forge snap (snapshots)
13
+ - **Estructura**: forge.cmd en raiz, toda la infraestructura en .forge/
14
+ - **Stack tipico**: HTML + Canvas + JS Vanilla + Node.js
15
+ - **Servidor**: node server.js en puerto 8080
16
+ - **Segmentacion IA**: RMBG-2.0 en WebGPU via Web Worker
17
+
18
+ Si sos una IA leyendo esto por primera vez, mira tambien:
19
+ - README.md (que es forgeGit)
20
+ - MANUAL.md (comandos detallados)
21
+ - FUTURE.md (roadmap)
22
+
23
+ ---
24
+
25
+ ## Regla de oro: instrucciones quirurgicas
26
+
27
+ Toda instruccion para modificar codigo DEBE ser:
28
+
29
+ 1. Bloque exacto de codigo (no referencias vagas)
30
+ 2. Ubicacion exacta (busca / reemplaza / pega debajo)
31
+ 3. Sin ambiguedad
32
+
33
+ ### Formato obligatorio para REEMPLAZAR
34
+
35
+ Busca exactamente este codigo:
36
+ [codigo viejo exacto]
37
+
38
+ Reemplazalo exactamente por este codigo:
39
+ [codigo nuevo exacto]
40
+
41
+ ### Formato obligatorio para INSERTAR
42
+
43
+ Busca exactamente esta linea:
44
+ [linea exacta]
45
+
46
+ Pega inmediatamente debajo de esta linea:
47
+ [bloque nuevo completo]
48
+
49
+ ### PROHIBIDO
50
+
51
+ - "busca donde..."
52
+ - "anade cerca de..."
53
+ - "modifica la funcion que..."
54
+ - "cambia la linea que dice..."
55
+ - Cualquier instruccion que requiera interpretacion
56
+
57
+ ---
58
+
59
+ ## Reglas para la IA
60
+
61
+ Si sos una IA leyendo este documento:
62
+
63
+ ### Herramienta correcta segun el caso
64
+
65
+ | Caso | Herramienta |
66
+ |------|-------------|
67
+ | Crear archivo NUEVO (.md, .txt, README) | Notepad (rapido) |
68
+ | Editar codigo existente (HTML, JS, CSS) | VS Code (forge open) |
69
+ | Aplicar cambio quirurgico de la IA | VS Code (Ctrl+H para reemplazar) |
70
+ | Ver diff de cambios | VS Code (Source Control) o git diff |
71
+ | Comparar 2 versiones | VS Code (Ctrl+Shift+P -> Compare) |
72
+
73
+ ### PROHIBIDO usar Notepad para
74
+
75
+ - Editar archivos de codigo existentes (no tiene reemplazo confiable)
76
+ - Aplicar cambios quirurgicos de la IA
77
+ - Ver/editar archivos con mas de 50 lineas
78
+ - Editar archivos con encoding especial (UTF-8 con BOM, CRLF)
79
+
80
+ ### Comando correcto para editar codigo
81
+
82
+ forge open
83
+
84
+ Abre VS Code en el proyecto. Desde ahi:
85
+ - Ctrl+F para buscar
86
+ - Ctrl+H para reemplazar
87
+ - Ctrl+S para guardar
88
+ - Ctrl+Shift+F para buscar en todo el proyecto
89
+
90
+
91
+ 1. Toda instruccion de codigo usa formato busca/reemplaza exacto.
92
+ 2. No asumas ubicaciones. Siempre especifica linea exacta.
93
+ 3. Un cambio a la vez. Si son 3 archivos, dalos por separado.
94
+ 4. Recomenda "forge snap" antes de cambios grandes.
95
+ 5. Si un cambio falla, deci exactamente que comando de git usar.
96
+ 6. No mezcles cambios buenos con malos en el mismo bloque.
97
+
98
+ ---
99
+
100
+ ## Dos tipos de IA
101
+
102
+ ### Tipo A: IA en chat (ChatGPT, DeepSeek web, Claude web)
103
+
104
+ - NO tiene acceso a los archivos
105
+ - El humano copia/pega el codigo afectado
106
+ - La IA responde con formato quirurgico
107
+ - El humano aplica manualmente en VS Code
108
+
109
+ ### Tipo B: IA en editor (Cursor, Cline, Copilot, Roo)
110
+
111
+ - SI tiene acceso a los archivos
112
+ - Puede editar directamente
113
+ - Aun asi, debe usar formato quirurgico para trazabilidad
114
+ - El humano solo verifica y prueba
115
+
116
+ ---
117
+
118
+ ## Flujo de trabajo
119
+
120
+ ### 1. Antes de cambios grandes
121
+
122
+ forge snap
123
+
124
+ Nombre: "antes de [cambio]"
125
+
126
+ Crea un punto de restauracion completo.
127
+
128
+ ### 2. IA da cambios en formato quirurgico
129
+
130
+ Cada cambio viene con bloque exacto de busca/reemplaza.
131
+
132
+ ### 3. Aplicar en VS Code
133
+
134
+ forge open
135
+
136
+ Buscar el bloque, reemplazar, Ctrl+S.
137
+
138
+ ### 4. Probar en navegador
139
+
140
+ forge serve
141
+
142
+ F5 para recargar tras cada cambio.
143
+
144
+ ### 5. Decidir
145
+
146
+ | Resultado | Accion |
147
+ |-----------|--------|
148
+ | Todo funciona | forge save |
149
+ | 1 archivo falla | git checkout -- archivo.js + forge save |
150
+ | Todo falla | forge snap -> v -> SI |
151
+
152
+ ---
153
+
154
+ ## Como reportar resultados a la IA
155
+
156
+ ### Si el cambio funciona
157
+
158
+ Aplicado el cambio 1 (GLOW_MIN: 30). Funciona. El aura es mas intensa.
159
+
160
+ ### Si el cambio falla
161
+
162
+ Aplicado el cambio 1. NO funciona. Al arrastrar imagen el aura
163
+ desaparece. Consola muestra:
164
+ TypeError: hueShift2 is not defined at renderAura (Static_Glish.html:412)
165
+
166
+ ### Si el bloque no se encontro
167
+
168
+ Busque "const glowMax = 75" en Static_Glish.html. NO EXISTE.
169
+ El codigo actual tiene:
170
+ const GLOW_MAX: 75,
171
+
172
+ ### Si cambio otros archivos
173
+
174
+ El cambio 1 en Static_Glish.html funciona.
175
+ Pero worker.js tambien parece afectado. Revisar?
176
+
177
+ ---
178
+
179
+ ## Cuando la IA alucina
180
+
181
+ Si la IA da un bloque que NO EXISTE en tu codigo:
182
+
183
+ 1. NO aplicar a ciegas
184
+ 2. Reportar a la IA con el bloque actual
185
+ 3. Pedirle que ajuste la instruccion
186
+ 4. Nunca inventar el cambio
187
+
188
+ Formato de reporte:
189
+
190
+ Bloque de la IA:
191
+ const glowMax = 75;
192
+
193
+ Bloque real en el archivo:
194
+ const GLOW_MAX: 75,
195
+
196
+ Ajusta la instruccion al codigo real.
197
+
198
+ ---
199
+
200
+ ## Multi-archivo coordinado
201
+
202
+ Si la IA va a modificar varios archivos, DEBE:
203
+
204
+ 1. Listar TODOS los archivos afectados al inicio
205
+ 2. Dar los cambios en orden logico (dependencias primero)
206
+ 3. Indicar que archivos probar juntos
207
+
208
+ Formato:
209
+
210
+ Archivos afectados:
211
+ 1. Static_Glish.html (cambio de GLOW_MAX)
212
+ 2. worker.js (cambio dependiente del anterior)
213
+ 3. server.js (independiente)
214
+
215
+ Aplicar los 3 y probar juntos.
216
+
217
+ ---
218
+
219
+ ## Dependencias cruzadas
220
+
221
+ Si cambias una variable global, revisa quien la usa:
222
+
223
+ grep "GLOW_MAX" Static_Glish.html
224
+
225
+ Si el cambio en un archivo afecta a otro, la IA DEBE avisarlo.
226
+
227
+ ---
228
+
229
+ ## Forge audit para IA
230
+
231
+ Cuando tenes commits recientes con cambios mezclados:
232
+
233
+ forge audit
234
+
235
+ Elegir rango de commits. Genera un .txt en audits/ con:
236
+ - Commits del rango
237
+ - Diff completo
238
+ - Estado actual
239
+
240
+ Se lo podes pasar a otra IA para que audite los cambios.
241
+
242
+ ---
243
+
244
+ ## Cuando la IA es mala vs typo
245
+
246
+ Si un cambio no funciona, distinguir:
247
+
248
+ | Sintoma | Causa probable |
249
+ |---------|----------------|
250
+ | Error de sintaxis | Typo al aplicar |
251
+ | Bloque no encontrado | IA alucino |
252
+ | Variable no definida | Orden de cambios incorrecto |
253
+ | Funciona pero diferente | IA malinterpreto |
254
+
255
+ Antes de culpar a la IA, verificar:
256
+
257
+ git diff
258
+
259
+ Si el diff NO coincide con lo que la IA dijo, fue typo tuyo.
260
+ Si el diff SI coincide, la IA fallo.
261
+
262
+ ---
263
+
264
+ ## Edge cases
265
+
266
+ ### Caso 1: 3 archivos, 2 buenos, 1 malo
267
+
268
+ git checkout -- archivo_roto.js
269
+ forge save
270
+
271
+ Mensaje: "X e Y ok, Z descartado"
272
+
273
+ ### Caso 2: 1 archivo con 5 cambios, 3 buenos, 2 malos
274
+
275
+ git checkout -- archivo.html
276
+
277
+ Luego pedir a la IA 1 cambio a la vez y commitear cada uno.
278
+
279
+ ### Caso 3: Ya commiteaste y despues viste el error
280
+
281
+ git log --oneline -5
282
+ git checkout abc1234 -- archivo.js
283
+ forge save
284
+
285
+ Mensaje: "revertir archivo X a version anterior"
286
+
287
+ ### Caso 4: No sabes que archivo tiene el error
288
+
289
+ git checkout -- archivo1.js
290
+ REM Probar. Si no funciona:
291
+ git checkout -- archivo2.js
292
+ REM El culpable era el ultimo revertido.
293
+
294
+ ### Caso 5: Todo roto, volver al snapshot
295
+
296
+ forge snap
297
+
298
+ Elegir v, escribir SI.
299
+
300
+ ---
301
+
302
+ ## Comandos de rescate
303
+
304
+ | Situacion | Comando |
305
+ |-----------|---------|
306
+ | Ver que cambio | git diff |
307
+ | Revertir 1 archivo | git checkout -- archivo.js |
308
+ | Revertir archivo a commit viejo | git checkout abc1234 -- archivo.js |
309
+ | Deshacer ultimo commit (mantener cambios) | git reset --soft HEAD~1 |
310
+ | Ver TODO lo que hiciste | git reflog |
311
+ | Volver a estado borrado | git reset --hard HEAD@{2} |
312
+ | Restaurar snapshot | forge snap -> v |
313
+
314
+ ---
315
+
316
+ ## Comandos del dia a dia
317
+
318
+ forge Menu interactivo
319
+ forge init Bootstrap (raro)
320
+ forge save Commit de cambios
321
+ forge push Push a GitHub
322
+ forge log Historial
323
+ forge snap Snapshots
324
+ forge audit Reporte diff
325
+ forge open VS Code
326
+ forge serve Servidor dev
327
+ forge help Ayuda
328
+
329
+ ---
330
+
331
+ ## Estructura del proyecto
332
+
333
+ MiProyecto/
334
+ |-- forge.cmd Menu + CLI (unico .cmd visible)
335
+ |-- .forge/
336
+ | |-- init.cmd Bootstrap
337
+ | |-- config.cmd Configuracion
338
+ | |-- commands/ 7 helpers
339
+ | |-- lib/ Modulos internos
340
+ | |-- templates/ Fuentes .tpl
341
+ | +-- serve-static.js Servidor Node.js
342
+ |-- versiones/ Snapshots
343
+ |-- audits/ Reportes diff
344
+ +-- (tus archivos)
345
+
346
+ ---
347
+
348
+ ## Links
349
+
350
+ - Repo: https://github.com/vloitz/forgeGit
351
+ - npm: https://www.npmjs.com/package/forgegit
352
+ - Releases: https://github.com/vloitz/forgeGit/releases
353
+ - Manual: MANUAL.md
354
+ - Futuro: FUTURE.md
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forgegit",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "Universal Git bootstrap kit for Windows",
5
5
  "bin": {
6
6
  "forge": "./tools/bin/forge.cmd"
@@ -9,6 +9,7 @@
9
9
  "forge.cmd",
10
10
  "MANUAL.md",
11
11
  "README.md",
12
+ "WORKFLOW.md",
12
13
  ".forge/",
13
14
  "tests/test.cmd",
14
15
  "tools/install.cmd",
@@ -19,11 +20,16 @@
19
20
  "tools/bin/forge.cmd",
20
21
  "tools/bin/forge-update.cmd"
21
22
  ],
22
- "keywords": ["git", "bootstrap", "windows", "cli"],
23
+ "keywords": [
24
+ "git",
25
+ "bootstrap",
26
+ "windows",
27
+ "cli"
28
+ ],
23
29
  "author": "vloitz",
24
30
  "license": "MIT",
25
31
  "repository": {
26
32
  "type": "git",
27
33
  "url": "https://github.com/vloitz/forgeGit"
28
34
  }
29
- }
35
+ }