forgegit 1.4.1 → 1.5.1
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/{config.cmd → .forge/config.cmd} +1 -1
- package/.forge/init.cmd +99 -126
- package/WORKFLOW.md +354 -0
- package/forge.cmd +9 -3
- package/package.json +3 -6
- package/init.cmd +0 -200
- package/lib/git-ops.cmd +0 -92
- package/lib/templates.cmd +0 -98
- package/lib/ui.cmd +0 -59
- package/templates/abrir.cmd.tpl +0 -51
- package/templates/auditar.cmd.tpl +0 -340
- package/templates/forge.cmd.tpl +0 -114
- package/templates/gitignore.tpl +0 -78
- package/templates/historial.cmd.tpl +0 -85
- package/templates/push.cmd.tpl +0 -97
- package/templates/readme.md.tpl +0 -34
- package/templates/save.cmd.tpl +0 -73
- package/templates/snapshots.cmd.tpl +0 -329
- /package/{templates/serve.cmd.tpl → .forge/commands/serve.cmd} +0 -0
- /package/{templates → .forge}/serve-static.js +0 -0
|
@@ -1,340 +0,0 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
setlocal EnableDelayedExpansion
|
|
3
|
-
chcp 65001 >nul 2>nul
|
|
4
|
-
|
|
5
|
-
cd /d "%~dp0..\.."
|
|
6
|
-
|
|
7
|
-
REM --- Detectar soporte ANSI (Windows 10+ / Windows Terminal) ---
|
|
8
|
-
set "ANSI=1"
|
|
9
|
-
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
|
|
10
|
-
|
|
11
|
-
REM --- Fallback si no hay soporte ANSI ---
|
|
12
|
-
if "!ESC!"=="" set "ANSI=0"
|
|
13
|
-
|
|
14
|
-
if "!ANSI!"=="1" (
|
|
15
|
-
set "C_CYAN=!ESC![36m"
|
|
16
|
-
set "C_BCYAN=!ESC![96m"
|
|
17
|
-
set "C_GREEN=!ESC![32m"
|
|
18
|
-
set "C_YELLOW=!ESC![33m"
|
|
19
|
-
set "C_RED=!ESC![31m"
|
|
20
|
-
set "C_GRAY=!ESC![90m"
|
|
21
|
-
set "C_DIM=!ESC![2m"
|
|
22
|
-
set "C_WHITE=!ESC![97m"
|
|
23
|
-
set "C_RESET=!ESC![0m"
|
|
24
|
-
) else (
|
|
25
|
-
set "C_CYAN="
|
|
26
|
-
set "C_BCYAN="
|
|
27
|
-
set "C_GREEN="
|
|
28
|
-
set "C_YELLOW="
|
|
29
|
-
set "C_RED="
|
|
30
|
-
set "C_GRAY="
|
|
31
|
-
set "C_DIM="
|
|
32
|
-
set "C_WHITE="
|
|
33
|
-
set "C_RESET="
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
REM --- Help flag ---
|
|
37
|
-
if /i "%~1"=="--help" goto :help
|
|
38
|
-
if /i "%~1"=="-h" goto :help
|
|
39
|
-
if /i "%~1"=="help" goto :help
|
|
40
|
-
|
|
41
|
-
if not exist ".git" (
|
|
42
|
-
echo !C_RED![X]!C_RESET! No hay repositorio Git. Ejecuta: init.cmd
|
|
43
|
-
exit /b 1
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
REM --- Banner ---
|
|
47
|
-
echo.
|
|
48
|
-
echo !C_CYAN!============================================!C_RESET!
|
|
49
|
-
echo !C_BCYAN! AUDITAR!C_RESET! !C_GRAY!- Reportes de cambios!C_RESET!
|
|
50
|
-
echo !C_CYAN!============================================!C_RESET!
|
|
51
|
-
echo.
|
|
52
|
-
echo !C_GRAY!Genera un .txt con los cambios entre dos puntos del!C_RESET!
|
|
53
|
-
echo !C_GRAY!historial. Ideal para auditar con IA o revisar un rango.!C_RESET!
|
|
54
|
-
echo.
|
|
55
|
-
|
|
56
|
-
REM --- 1. Estado actual ---
|
|
57
|
-
for /f "tokens=*" %%b in ('git branch --show-current 2^>nul') do set "BRANCH=%%b"
|
|
58
|
-
|
|
59
|
-
echo !C_CYAN!â—!C_RESET! !C_GRAY!Branch:!C_RESET! !C_WHITE!!BRANCH!!C_RESET!
|
|
60
|
-
|
|
61
|
-
git add -A >nul 2>nul
|
|
62
|
-
git diff --cached --quiet
|
|
63
|
-
if errorlevel 1 (
|
|
64
|
-
set "NCH=0"
|
|
65
|
-
for /f %%c in ('git diff --cached --name-only ^| find /c /v ""') do set "NCH=%%c"
|
|
66
|
-
echo !C_CYAN!â—!C_RESET! !C_GRAY!Cambios:!C_RESET! !C_YELLOW!!NCH! archivos sin commitear!C_RESET!
|
|
67
|
-
) else (
|
|
68
|
-
echo !C_CYAN!â—!C_RESET! !C_GRAY!Cambios:!C_RESET! !C_GREEN!limpio!C_RESET!
|
|
69
|
-
)
|
|
70
|
-
echo.
|
|
71
|
-
|
|
72
|
-
REM --- 2. Cuantos commits listar ---
|
|
73
|
-
set "LIMIT=10"
|
|
74
|
-
set "INPUT="
|
|
75
|
-
set /p "INPUT= !C_BCYAN!Cuantos commits listar?!C_RESET! !C_GRAY![10 por defecto, T=todos]!C_RESET!: "
|
|
76
|
-
if /i "!INPUT!"=="T" (
|
|
77
|
-
set "LIMIT=9999"
|
|
78
|
-
) else if not "!INPUT!"=="" (
|
|
79
|
-
set "LIMIT=!INPUT!"
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
REM --- 3. Log a temp ---
|
|
83
|
-
set "TMPLOG=%TEMP%\forge_git_log.txt"
|
|
84
|
-
git log -n !LIMIT! --date=format:"%%Y-%%m-%%d %%H:%%M:%%S" --pretty=format:"%%h %%ad %%s" > "!TMPLOG!" 2>nul
|
|
85
|
-
|
|
86
|
-
REM --- 4. Tabla con separadores ---
|
|
87
|
-
echo.
|
|
88
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
89
|
-
echo !C_BCYAN! HISTORIAL!C_RESET!
|
|
90
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
91
|
-
echo !C_GRAY! IDX FECHA HASH MENSAJE!C_RESET!
|
|
92
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
93
|
-
|
|
94
|
-
set "IDX=0"
|
|
95
|
-
set "FIRST=1"
|
|
96
|
-
for /f "delims=" %%L in ('type "!TMPLOG!"') do (
|
|
97
|
-
if "!FIRST!"=="0" (
|
|
98
|
-
echo !C_DIM!!C_GRAY! . . . . . . . . . . . . . . . . . . .!C_RESET!
|
|
99
|
-
)
|
|
100
|
-
set "LINE=%%L"
|
|
101
|
-
set "HASH=!LINE:~0,7!"
|
|
102
|
-
set "DATETIME=!LINE:~8,19!"
|
|
103
|
-
set "MSG=!LINE:~28!"
|
|
104
|
-
set "H_!IDX!=!HASH!"
|
|
105
|
-
echo !C_BCYAN![!IDX!]!C_RESET! !C_GRAY!!DATETIME!!C_RESET! !C_YELLOW!!HASH!!C_RESET! !C_WHITE!!MSG!!C_RESET!
|
|
106
|
-
set /a IDX=IDX+1
|
|
107
|
-
set "FIRST=0"
|
|
108
|
-
)
|
|
109
|
-
del "!TMPLOG!" >nul 2>nul
|
|
110
|
-
|
|
111
|
-
if !IDX! EQU 0 (
|
|
112
|
-
echo !C_RED![X]!C_RESET! No hay commits.
|
|
113
|
-
goto :end
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
117
|
-
echo !C_GRAY!Total: !IDX! commits ^(0 = mas reciente^)!C_RESET!
|
|
118
|
-
echo.
|
|
119
|
-
|
|
120
|
-
REM --- 5. Modos de uso (ordenados por frecuencia) ---
|
|
121
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
122
|
-
echo !C_BCYAN! MODOS DE USO!C_RESET!
|
|
123
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
124
|
-
echo !C_YELLOW!0,W!C_RESET! !C_GRAY!Comparar ultimo commit vs estado actual!C_RESET! !C_GREEN![recomendado]!C_RESET!
|
|
125
|
-
echo !C_YELLOW!0,3!C_RESET! !C_GRAY!Comparar commit [0] vs commit [3]!C_RESET!
|
|
126
|
-
echo !C_YELLOW!0-3!C_RESET! !C_GRAY!Alias de 0,3!C_RESET!
|
|
127
|
-
echo !C_YELLOW![Enter]!C_RESET! !C_GRAY!Solo ver historial (sin reporte)!C_RESET!
|
|
128
|
-
echo !C_CYAN!-------------------------------------------------------------!C_RESET!
|
|
129
|
-
echo.
|
|
130
|
-
|
|
131
|
-
REM --- 6. Pedir rango ---
|
|
132
|
-
set "RANGE="
|
|
133
|
-
set /p "RANGE= !C_BCYAN!Rango a auditar:!C_RESET! !C_GRAY![Enter=0,W]!C_RESET!: "
|
|
134
|
-
if "!RANGE!"=="" (
|
|
135
|
-
set "RANGE=0,W"
|
|
136
|
-
echo !C_GRAY!Usando default: 0,W!C_RESET!
|
|
137
|
-
)
|
|
138
|
-
|
|
139
|
-
set "A="
|
|
140
|
-
set "B="
|
|
141
|
-
for /f "tokens=1,2 delims=,-" %%a in ("!RANGE!") do (
|
|
142
|
-
set "A=%%a"
|
|
143
|
-
if not "%%b"=="" set "B=%%b"
|
|
144
|
-
)
|
|
145
|
-
if "!A!"=="" (
|
|
146
|
-
echo !C_RED![X]!C_RESET! Rango invalido.
|
|
147
|
-
goto :end
|
|
148
|
-
)
|
|
149
|
-
if "!B!"=="" set "B=!A!"
|
|
150
|
-
|
|
151
|
-
if /i "!A!"=="W" (
|
|
152
|
-
echo !C_RED![X]!C_RESET! El primer valor debe ser indice numerico. Formato: !C_YELLOW!5,W!C_RESET!
|
|
153
|
-
goto :end
|
|
154
|
-
)
|
|
155
|
-
if /i "!A!"=="WORK" (
|
|
156
|
-
echo !C_RED![X]!C_RESET! El primer valor debe ser indice numerico. Formato: !C_YELLOW!5,W!C_RESET!
|
|
157
|
-
goto :end
|
|
158
|
-
)
|
|
159
|
-
if /i "!A!"=="HEAD" (
|
|
160
|
-
echo !C_RED![X]!C_RESET! El primer valor debe ser indice numerico. Formato: !C_YELLOW!5,W!C_RESET!
|
|
161
|
-
goto :end
|
|
162
|
-
)
|
|
163
|
-
|
|
164
|
-
set "HA=!H_%A%!"
|
|
165
|
-
if "!HA!"=="" (
|
|
166
|
-
echo !C_RED![X]!C_RESET! Indice !A! no existe.
|
|
167
|
-
goto :end
|
|
168
|
-
)
|
|
169
|
-
|
|
170
|
-
set "H_NEW="
|
|
171
|
-
set "H_OLD=!HA!"
|
|
172
|
-
set "IS_WORK=0"
|
|
173
|
-
|
|
174
|
-
if /i "!B!"=="W" set "IS_WORK=1"
|
|
175
|
-
if /i "!B!"=="WORK" set "IS_WORK=1"
|
|
176
|
-
if /i "!B!"=="HEAD" set "IS_WORK=1"
|
|
177
|
-
|
|
178
|
-
if "!IS_WORK!"=="1" (
|
|
179
|
-
set "H_OLD=!HA!"
|
|
180
|
-
set "H_NEW="
|
|
181
|
-
set "OLD_IDX=!A!"
|
|
182
|
-
set "NEW_IDX=WORK"
|
|
183
|
-
set "NEW_LABEL=working tree"
|
|
184
|
-
) else (
|
|
185
|
-
set "HB=!H_%B%!"
|
|
186
|
-
if "!HB!"=="" (
|
|
187
|
-
echo !C_RED![X]!C_RESET! Indice !B! no existe.
|
|
188
|
-
goto :end
|
|
189
|
-
)
|
|
190
|
-
set "OLD_IDX=!A!"
|
|
191
|
-
set "NEW_IDX=!B!"
|
|
192
|
-
if !A! LSS !B! (
|
|
193
|
-
set "OLD_IDX=!B!"
|
|
194
|
-
set "NEW_IDX=!A!"
|
|
195
|
-
)
|
|
196
|
-
set "H_OLD=!H_%OLD_IDX%!"
|
|
197
|
-
set "H_NEW=!H_%NEW_IDX%!"
|
|
198
|
-
set "NEW_LABEL=!H_NEW!"
|
|
199
|
-
)
|
|
200
|
-
|
|
201
|
-
echo.
|
|
202
|
-
echo !C_CYAN!â—!C_RESET! !C_GRAY!Comparando:!C_RESET!
|
|
203
|
-
echo !C_GRAY![antiguo]!C_RESET! !C_YELLOW!!H_OLD!!C_RESET! !C_GRAY!^(idx !OLD_IDX!^)!C_RESET!
|
|
204
|
-
if "!IS_WORK!"=="1" (
|
|
205
|
-
echo !C_GRAY![reciente]!C_RESET! !C_GREEN!working tree!C_RESET!
|
|
206
|
-
) else (
|
|
207
|
-
echo !C_GRAY![reciente]!C_RESET! !C_YELLOW!!H_NEW!!C_RESET! !C_GRAY!^(idx !NEW_IDX!^)!C_RESET!
|
|
208
|
-
)
|
|
209
|
-
echo.
|
|
210
|
-
|
|
211
|
-
REM --- 7. Crear audits/ ---
|
|
212
|
-
if not exist "audits" mkdir "audits"
|
|
213
|
-
|
|
214
|
-
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmmss"') do set "TS=%%i"
|
|
215
|
-
|
|
216
|
-
if "!IS_WORK!"=="1" (
|
|
217
|
-
set "REPORT=audits\audit_!TS!_!OLD_IDX!-WORK.txt"
|
|
218
|
-
) else (
|
|
219
|
-
set "REPORT=audits\audit_!TS!_!OLD_IDX!-!NEW_IDX!.txt"
|
|
220
|
-
)
|
|
221
|
-
|
|
222
|
-
REM --- 8. Escribir reporte (SIN colores) ---
|
|
223
|
-
(
|
|
224
|
-
echo # Reporte de auditoria
|
|
225
|
-
echo.
|
|
226
|
-
echo # Generado: %DATE% %TIME%
|
|
227
|
-
echo # Proyecto: %CD%
|
|
228
|
-
echo # Rango: !H_OLD! -^> !NEW_LABEL!
|
|
229
|
-
echo.
|
|
230
|
-
if "!IS_WORK!"=="1" (
|
|
231
|
-
echo # Comparar: git diff !H_OLD!
|
|
232
|
-
) else (
|
|
233
|
-
echo # Comparar: git diff !H_OLD! !H_NEW!
|
|
234
|
-
)
|
|
235
|
-
echo.
|
|
236
|
-
echo # ============================================================
|
|
237
|
-
echo # COMMITS EN EL RANGO
|
|
238
|
-
echo # ============================================================
|
|
239
|
-
echo.
|
|
240
|
-
if "!IS_WORK!"=="1" (
|
|
241
|
-
git log !H_OLD!..HEAD --date=format:"%%Y-%%m-%%d %%H:%%M:%%S" --pretty=format:" %%ad %%h %%s"
|
|
242
|
-
) else (
|
|
243
|
-
git log !H_OLD!^..!H_NEW! --date=format:"%%Y-%%m-%%d %%H:%%M:%%S" --pretty=format:" %%ad %%h %%s"
|
|
244
|
-
)
|
|
245
|
-
echo.
|
|
246
|
-
echo.
|
|
247
|
-
echo # ============================================================
|
|
248
|
-
echo # DIFF COMPLETO
|
|
249
|
-
echo # ============================================================
|
|
250
|
-
echo.
|
|
251
|
-
if "!IS_WORK!"=="1" (
|
|
252
|
-
git diff !H_OLD!
|
|
253
|
-
) else (
|
|
254
|
-
git diff !H_OLD! !H_NEW!
|
|
255
|
-
)
|
|
256
|
-
echo.
|
|
257
|
-
echo.
|
|
258
|
-
echo # ============================================================
|
|
259
|
-
echo # ESTADO ACTUAL (sin commitear)
|
|
260
|
-
echo # ============================================================
|
|
261
|
-
echo.
|
|
262
|
-
git status --short
|
|
263
|
-
) > "!REPORT!" 2>&1
|
|
264
|
-
|
|
265
|
-
REM --- 9. Resumen ---
|
|
266
|
-
echo !C_GREEN![OK]!C_RESET! Reporte generado
|
|
267
|
-
echo.
|
|
268
|
-
for %%f in ("!REPORT!") do set "SIZE=%%~zf"
|
|
269
|
-
for /f %%l in ('find /c /v "" ^< "!REPORT!"') do set "LINES=%%l"
|
|
270
|
-
|
|
271
|
-
echo !C_GRAY!Archivo:!C_RESET! !C_WHITE!!REPORT!!C_RESET!
|
|
272
|
-
echo !C_GRAY!Tamano:!C_RESET! !C_WHITE!!SIZE! bytes!C_RESET!
|
|
273
|
-
echo !C_GRAY!Lineas:!C_RESET! !C_WHITE!!LINES!!C_RESET!
|
|
274
|
-
echo.
|
|
275
|
-
|
|
276
|
-
REM --- 10. Abrir ---
|
|
277
|
-
where code >nul 2>nul
|
|
278
|
-
if not errorlevel 1 (
|
|
279
|
-
set "OPEN="
|
|
280
|
-
set /p "OPEN= !C_BCYAN!Abrir en VS Code?!C_RESET! !C_GRAY![S/n]!C_RESET!: "
|
|
281
|
-
if /i not "!OPEN!"=="n" (
|
|
282
|
-
echo !C_GRAY!Abriendo...!C_RESET!
|
|
283
|
-
code "!REPORT!"
|
|
284
|
-
)
|
|
285
|
-
) else (
|
|
286
|
-
echo !C_GRAY![INFO] VS Code CLI no disponible.!C_RESET!
|
|
287
|
-
)
|
|
288
|
-
|
|
289
|
-
echo.
|
|
290
|
-
goto :end
|
|
291
|
-
|
|
292
|
-
REM ============================================================
|
|
293
|
-
REM :help
|
|
294
|
-
REM ============================================================
|
|
295
|
-
:help
|
|
296
|
-
echo.
|
|
297
|
-
echo !C_CYAN!============================================!C_RESET!
|
|
298
|
-
echo !C_BCYAN! AUDITAR!C_RESET! !C_GRAY!- Ayuda!C_RESET!
|
|
299
|
-
echo !C_CYAN!============================================!C_RESET!
|
|
300
|
-
echo.
|
|
301
|
-
echo !C_BCYAN!USO:!C_RESET!
|
|
302
|
-
echo !C_WHITE!auditar.cmd!C_RESET! Modo interactivo
|
|
303
|
-
echo !C_WHITE!auditar.cmd --help!C_RESET! Esta ayuda
|
|
304
|
-
echo.
|
|
305
|
-
echo !C_BCYAN!QUE HACE:!C_RESET!
|
|
306
|
-
echo !C_GRAY!Genera un reporte .txt en audits/ con los cambios!C_RESET!
|
|
307
|
-
echo !C_GRAY!entre dos puntos del historial Git.!C_RESET!
|
|
308
|
-
echo.
|
|
309
|
-
echo !C_BCYAN!MODOS:!C_RESET!
|
|
310
|
-
echo !C_YELLOW!0,W!C_RESET! !C_GRAY!Comparar ultimo commit vs estado actual!C_RESET! !C_GREEN![recomendado]!C_RESET!
|
|
311
|
-
echo !C_YELLOW!0,3!C_RESET! !C_GRAY!Comparar commit 0 vs commit 3!C_RESET!
|
|
312
|
-
echo !C_YELLOW!0-3!C_RESET! !C_GRAY!Alias de 0,3!C_RESET!
|
|
313
|
-
echo !C_YELLOW![Enter]!C_RESET! !C_GRAY!Solo ver historial!C_RESET!
|
|
314
|
-
echo.
|
|
315
|
-
echo !C_BCYAN!EJEMPLOS:!C_RESET!
|
|
316
|
-
echo !C_WHITE!auditar.cmd!C_RESET!
|
|
317
|
-
echo !C_GRAY!Cuantos commits? 10!C_RESET!
|
|
318
|
-
echo !C_GRAY!Rango: 0,W!C_RESET!
|
|
319
|
-
echo !C_GRAY!-> audits\audit_2026-09-12_163200_0-WORK.txt!C_RESET!
|
|
320
|
-
echo.
|
|
321
|
-
echo !C_BCYAN!SALIDA:!C_RESET!
|
|
322
|
-
echo !C_GRAY!Los reportes se guardan en audits\!C_RESET!
|
|
323
|
-
echo !C_GRAY!(excluida del repo por .gitignore^)!C_RESET!
|
|
324
|
-
echo.
|
|
325
|
-
goto :end
|
|
326
|
-
|
|
327
|
-
:end
|
|
328
|
-
call :shell_if_double_click
|
|
329
|
-
endlocal
|
|
330
|
-
exit /b 0
|
|
331
|
-
|
|
332
|
-
:shell_if_double_click
|
|
333
|
-
if "%NO_PAUSE%"=="1" goto :eof
|
|
334
|
-
echo %cmdcmdline% | find /i "%~nx0" >nul
|
|
335
|
-
if errorlevel 1 goto :eof
|
|
336
|
-
echo.
|
|
337
|
-
echo Sesion interactiva. Escribe 'exit' para cerrar.
|
|
338
|
-
echo.
|
|
339
|
-
cmd /k
|
|
340
|
-
goto :eof
|
package/templates/forge.cmd.tpl
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
setlocal EnableDelayedExpansion
|
|
3
|
-
chcp 65001 >nul 2>nul
|
|
4
|
-
|
|
5
|
-
cd /d "%~dp0"
|
|
6
|
-
|
|
7
|
-
REM --- Colores ANSI ---
|
|
8
|
-
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
|
|
9
|
-
if "!ESC!"=="" (
|
|
10
|
-
set "C_CY=" & set "C_BC=" & set "C_GR=" & set "C_YE="
|
|
11
|
-
set "C_RE=" & set "C_GY=" & set "C_WH=" & set "C_RS="
|
|
12
|
-
) else (
|
|
13
|
-
set "C_CY=!ESC![36m" & set "C_BC=!ESC![96m"
|
|
14
|
-
set "C_GR=!ESC![32m" & set "C_YE=!ESC![33m"
|
|
15
|
-
set "C_RE=!ESC![31m" & set "C_GY=!ESC![90m"
|
|
16
|
-
set "C_WH=!ESC![97m" & set "C_RS=!ESC![0m"
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
set "CMD_DIR=.forge\commands"
|
|
20
|
-
|
|
21
|
-
REM --- Verificar instalacion ---
|
|
22
|
-
if not exist "%CMD_DIR%\save.cmd" (
|
|
23
|
-
echo.
|
|
24
|
-
echo !C_RE![X]!C_RS! forgeGit no esta instalado aqui.
|
|
25
|
-
echo !C_GY!Ejecuta desde un proyecto nuevo:!C_RS! forge
|
|
26
|
-
echo.
|
|
27
|
-
pause
|
|
28
|
-
exit /b 1
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
REM --- Modo CLI directo ---
|
|
32
|
-
if not "%~1"=="" (
|
|
33
|
-
if /i "%~1"=="save" ( call "%CMD_DIR%\save.cmd" & exit /b 0 )
|
|
34
|
-
if /i "%~1"=="push" ( call "%CMD_DIR%\push.cmd" & exit /b 0 )
|
|
35
|
-
if /i "%~1"=="snap" ( call "%CMD_DIR%\snapshots.cmd" & exit /b 0 )
|
|
36
|
-
if /i "%~1"=="log" ( call "%CMD_DIR%\historial.cmd" & exit /b 0 )
|
|
37
|
-
if /i "%~1"=="audit" ( call "%CMD_DIR%\auditar.cmd" & exit /b 0 )
|
|
38
|
-
if /i "%~1"=="open" ( call "%CMD_DIR%\abrir.cmd" & exit /b 0 )
|
|
39
|
-
if /i "%~1"=="serve" ( call "%CMD_DIR%\serve.cmd" & exit /b 0 )
|
|
40
|
-
if /i "%~1"=="help" goto :help
|
|
41
|
-
if /i "%~1"=="-h" goto :help
|
|
42
|
-
if /i "%~1"=="--help" goto :help
|
|
43
|
-
echo !C_RE![X]!C_RS! Comando desconocido: %~1
|
|
44
|
-
echo !C_GY!Usa: forge help!C_RS!
|
|
45
|
-
exit /b 1
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
REM ============================================================
|
|
49
|
-
REM MENU PRINCIPAL
|
|
50
|
-
REM ============================================================
|
|
51
|
-
:menu
|
|
52
|
-
cls
|
|
53
|
-
echo.
|
|
54
|
-
echo !C_CY!============================================!C_RS!
|
|
55
|
-
echo !C_BC! forgeGit!C_RS! !C_GY!- Menu!C_RS!
|
|
56
|
-
echo !C_CY!============================================!C_RS!
|
|
57
|
-
echo.
|
|
58
|
-
echo !C_BC!Trabajo diario:!C_RS!
|
|
59
|
-
echo !C_YE![1]!C_RS! Guardar cambios !C_GY!(commit)!C_RS!
|
|
60
|
-
echo !C_YE![2]!C_RS! Subir a GitHub !C_GY!(push)!C_RS!
|
|
61
|
-
echo !C_YE![3]!C_RS! Historial !C_GY!(ver commits)!C_RS!
|
|
62
|
-
echo.
|
|
63
|
-
echo !C_BC!Herramientas:!C_RS!
|
|
64
|
-
echo !C_YE![4]!C_RS! Snapshots !C_GY!(backup/restore)!C_RS!
|
|
65
|
-
echo !C_YE![5]!C_RS! Auditar cambios !C_GY!(diff report)!C_RS!
|
|
66
|
-
echo !C_YE![6]!C_RS! Abrir en VS Code
|
|
67
|
-
echo !C_YE![7]!C_RS! Servidor dev !C_GY!(auto-detect)!C_RS!
|
|
68
|
-
echo.
|
|
69
|
-
echo !C_BC!Sistema:!C_RS!
|
|
70
|
-
echo !C_YE![0]!C_RS! Salir
|
|
71
|
-
echo.
|
|
72
|
-
echo !C_CY!--------------------------------------------!C_RS!
|
|
73
|
-
echo.
|
|
74
|
-
|
|
75
|
-
set "OPT="
|
|
76
|
-
set /p "OPT= !C_BC!Opcion!C_RS!: "
|
|
77
|
-
|
|
78
|
-
if "!OPT!"=="1" ( call "%CMD_DIR%\save.cmd" & echo. & pause & goto :menu )
|
|
79
|
-
if "!OPT!"=="2" ( call "%CMD_DIR%\push.cmd" & echo. & pause & goto :menu )
|
|
80
|
-
if "!OPT!"=="3" ( call "%CMD_DIR%\historial.cmd" & echo. & pause & goto :menu )
|
|
81
|
-
if "!OPT!"=="4" ( call "%CMD_DIR%\snapshots.cmd" & echo. & pause & goto :menu )
|
|
82
|
-
if "!OPT!"=="5" ( call "%CMD_DIR%\auditar.cmd" & echo. & pause & goto :menu )
|
|
83
|
-
if "!OPT!"=="6" ( call "%CMD_DIR%\abrir.cmd" & echo. & pause & goto :menu )
|
|
84
|
-
if "!OPT!"=="7" ( call "%CMD_DIR%\serve.cmd" & echo. & pause & goto :menu )
|
|
85
|
-
if "!OPT!"=="0" goto :end
|
|
86
|
-
if /i "!OPT!"=="q" goto :end
|
|
87
|
-
|
|
88
|
-
goto :menu
|
|
89
|
-
|
|
90
|
-
REM ============================================================
|
|
91
|
-
REM HELP
|
|
92
|
-
REM ============================================================
|
|
93
|
-
:help
|
|
94
|
-
echo.
|
|
95
|
-
echo !C_CY!============================================!C_RS!
|
|
96
|
-
echo !C_BC! forgeGit!C_RS! !C_GY!- Ayuda!C_RS!
|
|
97
|
-
echo !C_CY!============================================!C_RS!
|
|
98
|
-
echo.
|
|
99
|
-
echo !C_BC!USO:!C_RS!
|
|
100
|
-
echo !C_WH!forge!C_RS! Menu interactivo
|
|
101
|
-
echo !C_WH!forge save!C_RS! Guardar cambios
|
|
102
|
-
echo !C_WH!forge push!C_RS! Subir a GitHub
|
|
103
|
-
echo !C_WH!forge snap!C_RS! Snapshots
|
|
104
|
-
echo !C_WH!forge log!C_RS! Historial
|
|
105
|
-
echo !C_WH!forge audit!C_RS! Auditar cambios
|
|
106
|
-
echo !C_WH!forge open!C_RS! Abrir en VS Code
|
|
107
|
-
echo !C_WH!forge serve!C_RS! Servidor de desarrollo
|
|
108
|
-
echo !C_WH!forge help!C_RS! Esta ayuda
|
|
109
|
-
echo.
|
|
110
|
-
goto :end
|
|
111
|
-
|
|
112
|
-
:end
|
|
113
|
-
endlocal
|
|
114
|
-
exit /b 0
|
package/templates/gitignore.tpl
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
# ==== Sistema operativo ====
|
|
2
|
-
Thumbs.db
|
|
3
|
-
ehthumbs.db
|
|
4
|
-
Desktop.ini
|
|
5
|
-
$RECYCLE.BIN/
|
|
6
|
-
*.lnk
|
|
7
|
-
.DS_Store
|
|
8
|
-
|
|
9
|
-
# ==== Editor / IDE ====
|
|
10
|
-
.vscode/
|
|
11
|
-
.idea/
|
|
12
|
-
*.swp
|
|
13
|
-
*.swo
|
|
14
|
-
*~
|
|
15
|
-
|
|
16
|
-
# ==== Node.js ====
|
|
17
|
-
node_modules/
|
|
18
|
-
npm-debug.log*
|
|
19
|
-
yarn-debug.log*
|
|
20
|
-
yarn-error.log*
|
|
21
|
-
pnpm-debug.log*
|
|
22
|
-
package-lock.json
|
|
23
|
-
yarn.lock
|
|
24
|
-
pnpm-lock.yaml
|
|
25
|
-
|
|
26
|
-
# ==== Python ====
|
|
27
|
-
__pycache__/
|
|
28
|
-
*.py[cod]
|
|
29
|
-
.Python
|
|
30
|
-
venv/
|
|
31
|
-
.venv/
|
|
32
|
-
env/
|
|
33
|
-
.env
|
|
34
|
-
|
|
35
|
-
# ==== Rust ====
|
|
36
|
-
target/
|
|
37
|
-
Cargo.lock
|
|
38
|
-
|
|
39
|
-
# ==== Go ====
|
|
40
|
-
*.test
|
|
41
|
-
*.out
|
|
42
|
-
|
|
43
|
-
# ==== Build / dist ====
|
|
44
|
-
dist/
|
|
45
|
-
build/
|
|
46
|
-
out/
|
|
47
|
-
.cache/
|
|
48
|
-
.parcel-cache/
|
|
49
|
-
.vite/
|
|
50
|
-
|
|
51
|
-
# ==== Modelos / cache IA ====
|
|
52
|
-
*.onnx
|
|
53
|
-
*.bin
|
|
54
|
-
*.wasm
|
|
55
|
-
*.pb
|
|
56
|
-
models/
|
|
57
|
-
cache/
|
|
58
|
-
.huggingface/
|
|
59
|
-
|
|
60
|
-
# ==== Backups manuales ====
|
|
61
|
-
versiones/
|
|
62
|
-
old_versions/
|
|
63
|
-
backup/
|
|
64
|
-
backups/
|
|
65
|
-
|
|
66
|
-
# ==== Reportes de auditoria ====
|
|
67
|
-
audits/
|
|
68
|
-
|
|
69
|
-
# ==== Temporales ====
|
|
70
|
-
*.log
|
|
71
|
-
*.tmp
|
|
72
|
-
*.bak
|
|
73
|
-
*.orig
|
|
74
|
-
|
|
75
|
-
# ==== Capturas ====
|
|
76
|
-
screenshots/
|
|
77
|
-
capturas/
|
|
78
|
-
test-output/
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
@echo off
|
|
2
|
-
setlocal EnableDelayedExpansion
|
|
3
|
-
chcp 65001 >nul 2>nul
|
|
4
|
-
|
|
5
|
-
cd /d "%~dp0..\.."
|
|
6
|
-
|
|
7
|
-
REM --- Colores ANSI ---
|
|
8
|
-
for /F %%a in ('echo prompt $E ^| cmd') do set "ESC=%%a"
|
|
9
|
-
if "!ESC!"=="" (
|
|
10
|
-
set "C_CY=" & set "C_BC=" & set "C_GR=" & set "C_YE="
|
|
11
|
-
set "C_RE=" & set "C_GY=" & set "C_WH=" & set "C_RS="
|
|
12
|
-
) else (
|
|
13
|
-
set "C_CY=!ESC![36m" & set "C_BC=!ESC![96m"
|
|
14
|
-
set "C_GR=!ESC![32m" & set "C_YE=!ESC![33m"
|
|
15
|
-
set "C_RE=!ESC![31m" & set "C_GY=!ESC![90m"
|
|
16
|
-
set "C_WH=!ESC![97m" & set "C_RS=!ESC![0m"
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
echo.
|
|
20
|
-
echo !C_CY!============================================!C_RS!
|
|
21
|
-
echo !C_BC! HISTORIAL!C_RS! !C_GY!- Vista rapida del proyecto!C_RS!
|
|
22
|
-
echo !C_CY!============================================!C_RS!
|
|
23
|
-
echo.
|
|
24
|
-
|
|
25
|
-
REM --- COMMITS ---
|
|
26
|
-
if not exist ".git" (
|
|
27
|
-
echo !C_RE![X]!C_RS! Sin repositorio Git.
|
|
28
|
-
goto :tags
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
32
|
-
echo !C_BC! ULTIMOS 20 COMMITS!C_RS!
|
|
33
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
34
|
-
echo !C_GY! IDX FECHA HASH MENSAJE!C_RS!
|
|
35
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
36
|
-
|
|
37
|
-
git log -n 20 --date=format:"%%Y-%%m-%%d %%H:%%M:%%S" --pretty=format:"%%h %%ad %%s" > "%TEMP%\fgh_log.txt" 2>nul
|
|
38
|
-
|
|
39
|
-
set "IDX=0"
|
|
40
|
-
for /f "delims=" %%L in ('type "%TEMP%\fgh_log.txt"') do (
|
|
41
|
-
set "LINE=%%L"
|
|
42
|
-
set "HASH=!LINE:~0,7!"
|
|
43
|
-
set "DT=!LINE:~8,19!"
|
|
44
|
-
set "MSG=!LINE:~28!"
|
|
45
|
-
echo !C_YE![!IDX!]!C_RS! !C_GY!!DT!!C_RS! !C_YE!!HASH!!C_RS! !C_WH!!MSG!!C_RS!
|
|
46
|
-
set /a IDX+=1
|
|
47
|
-
)
|
|
48
|
-
del "%TEMP%\fgh_log.txt" >nul 2>nul
|
|
49
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
50
|
-
echo.
|
|
51
|
-
|
|
52
|
-
:tags
|
|
53
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
54
|
-
echo !C_BC! TAGS!C_RS!
|
|
55
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
56
|
-
if exist ".git" git tag -l
|
|
57
|
-
echo.
|
|
58
|
-
|
|
59
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
60
|
-
echo !C_BC! SNAPSHOTS!C_RS!
|
|
61
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
62
|
-
if exist "versiones" goto :show_snaps
|
|
63
|
-
echo !C_GY!sin snapshots!C_RS!
|
|
64
|
-
goto :end_snaps
|
|
65
|
-
|
|
66
|
-
:show_snaps
|
|
67
|
-
dir /b /o-n "versiones" 2>nul
|
|
68
|
-
|
|
69
|
-
:end_snaps
|
|
70
|
-
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
71
|
-
echo.
|
|
72
|
-
|
|
73
|
-
call :shell_if_double_click
|
|
74
|
-
endlocal
|
|
75
|
-
exit /b 0
|
|
76
|
-
|
|
77
|
-
:shell_if_double_click
|
|
78
|
-
if "%NO_PAUSE%"=="1" goto :eof
|
|
79
|
-
echo %cmdcmdline% | find /i "%~nx0" >nul
|
|
80
|
-
if errorlevel 1 goto :eof
|
|
81
|
-
echo.
|
|
82
|
-
echo !C_GY!Sesion interactiva. Escribe 'exit' para cerrar.!C_RS!
|
|
83
|
-
echo.
|
|
84
|
-
cmd /k
|
|
85
|
-
goto :eof
|