forgegit 1.4.1 → 1.5.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.
package/lib/templates.cmd DELETED
@@ -1,98 +0,0 @@
1
- @echo off
2
- REM ============================================================
3
- REM forge-git / lib/templates.cmd
4
- REM Copies templates from templates/ to destinations
5
- REM ============================================================
6
-
7
- if "%~1"=="write_gitignore" goto :write_gitignore
8
- if "%~1"=="write_readme" goto :write_readme
9
- if "%~1"=="write_forge" goto :write_forge
10
- if "%~1"=="write_save" goto :write_save
11
- if "%~1"=="write_push" goto :write_push
12
- if "%~1"=="write_snapshots" goto :write_snapshots
13
- if "%~1"=="write_historial" goto :write_historial
14
- if "%~1"=="write_abrir" goto :write_abrir
15
- if "%~1"=="write_auditar" goto :write_auditar
16
- if "%~1"=="write_serve" goto :write_serve
17
- goto :eof
18
-
19
- :write_gitignore
20
- call :copy_root "gitignore.tpl" ".gitignore"
21
- goto :eof
22
-
23
- :write_readme
24
- call :apply_root "readme.md.tpl" "README.md"
25
- goto :eof
26
-
27
- :write_forge
28
- call :copy_root "forge.cmd.tpl" "forge.cmd"
29
- goto :eof
30
-
31
- :write_save
32
- call :copy_cmd "save.cmd.tpl" "save.cmd"
33
- goto :eof
34
-
35
- :write_push
36
- call :copy_cmd "push.cmd.tpl" "push.cmd"
37
- goto :eof
38
-
39
- :write_snapshots
40
- call :copy_cmd "snapshots.cmd.tpl" "snapshots.cmd"
41
- goto :eof
42
-
43
- :write_historial
44
- call :copy_cmd "historial.cmd.tpl" "historial.cmd"
45
- goto :eof
46
-
47
- :write_abrir
48
- call :copy_cmd "abrir.cmd.tpl" "abrir.cmd"
49
- goto :eof
50
-
51
- :write_auditar
52
- call :copy_cmd "auditar.cmd.tpl" "auditar.cmd"
53
- goto :eof
54
-
55
- :write_serve
56
- call :copy_cmd "serve.cmd.tpl" "serve.cmd"
57
- call :copy_forge_root "serve-static.js" "serve-static.js"
58
- goto :eof
59
-
60
- :copy_root
61
- set "SRC=%~dp0..\templates\%~1"
62
- set "DST=%~dp0..\..\%~2"
63
- if not exist "%SRC%" (
64
- echo [X] Template no encontrado: %SRC%
65
- exit /b 1
66
- )
67
- copy /Y "%SRC%" "%DST%" >nul
68
- exit /b 0
69
-
70
- :copy_cmd
71
- set "SRC=%~dp0..\templates\%~1"
72
- set "DST=%~dp0..\commands\%~2"
73
- if not exist "%SRC%" (
74
- echo [X] Template no encontrado: %SRC%
75
- exit /b 1
76
- )
77
- copy /Y "%SRC%" "%DST%" >nul
78
- exit /b 0
79
-
80
- :copy_forge_root
81
- set "SRC=%~dp0..\templates\%~1"
82
- set "DST=%~dp0..\%~2"
83
- if not exist "%SRC%" (
84
- echo [X] Template no encontrado: %SRC%
85
- exit /b 1
86
- )
87
- copy /Y "%SRC%" "%DST%" >nul
88
- exit /b 0
89
-
90
- :apply_root
91
- set "SRC=%~dp0..\templates\%~1"
92
- set "DST=%~dp0..\..\%~2"
93
- if not exist "%SRC%" (
94
- echo [X] Template no encontrado: %SRC%
95
- exit /b 1
96
- )
97
- powershell -NoProfile -ExecutionPolicy Bypass -Command "$c = Get-Content -Raw -LiteralPath '%SRC%'; $c = $c.Replace('{{PROJECT_NAME}}', '%PROJECT_NAME%'); $c = $c.Replace('{{FG_VERSION}}', '%FG_VERSION%'); [System.IO.File]::WriteAllText('%DST%', $c, [System.Text.UTF8Encoding]::new($false))"
98
- exit /b 0
package/lib/ui.cmd DELETED
@@ -1,59 +0,0 @@
1
- @echo off
2
- REM ============================================================
3
- REM forge-git / lib/ui.cmd
4
- REM UI helpers
5
- REM ============================================================
6
-
7
- if "%~1"=="banner" goto :banner
8
- if "%~1"=="step" goto :step
9
- if "%~1"=="done" goto :done
10
- if "%~1"=="abort" goto :abort
11
- goto :eof
12
-
13
- :banner
14
- echo.
15
- echo ############################################
16
- echo # forge-git v%FG_VERSION% #
17
- echo # Bootstrap universal de proyecto #
18
- echo ############################################
19
- echo.
20
- echo Proyecto: %PROJECT_NAME%
21
- echo Ruta: %CD%
22
- echo.
23
- goto :eof
24
-
25
- :step
26
- echo [%~2] %~3 %~4
27
- goto :eof
28
-
29
- :done
30
- echo.
31
- echo ############################################
32
- echo # Bootstrap completado #
33
- echo ############################################
34
- echo.
35
- echo Comandos disponibles:
36
- echo.
37
- echo Esenciales:
38
- echo init.cmd Bootstrap
39
- echo forge.cmd Menu interactivo
40
- echo.
41
- echo Uso CLI directo:
42
- echo forge save Commit de cambios
43
- echo forge push Push a GitHub
44
- echo forge log Ver commits
45
- echo.
46
- echo Otros:
47
- echo forge snap Snapshots
48
- echo forge audit Reporte diff
49
- echo forge open Abrir en VS Code
50
- echo forge serve Servidor de desarrollo
51
- echo forge help Ayuda completa
52
- echo.
53
- goto :eof
54
-
55
- :abort
56
- echo.
57
- echo Bootstrap abortado. Instala los requisitos y vuelve a intentar.
58
- pause
59
- goto :eof
@@ -1,51 +0,0 @@
1
- @echo off
2
- setlocal EnableDelayedExpansion
3
- chcp 65001 >nul 2>nul
4
-
5
- cd /d "%~dp0..\.."
6
-
7
- REM --- Colores ANSI (con fallback) ---
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
- where code >nul 2>nul
20
- if errorlevel 1 (
21
- echo.
22
- echo !C_RE![X]!C_RS! VS Code CLI no esta en el PATH.
23
- echo.
24
- echo !C_GY!Instala:!C_RS!
25
- echo !C_WH!1.!C_RS! Abre VS Code
26
- echo !C_WH!2.!C_RS! Ctrl+Shift+P
27
- echo !C_WH!3.!C_RS! "Shell Command: Install 'code' command in PATH"
28
- echo.
29
- call :shell_if_double_click
30
- exit /b 1
31
- )
32
-
33
- if "%~1"=="" (
34
- echo !C_GY!Abriendo proyecto en VS Code...!C_RS!
35
- code .
36
- ) else (
37
- echo !C_GY!Abriendo en VS Code:!C_RS! !C_WH!%*!C_RS!
38
- code %*
39
- )
40
-
41
- exit /b 0
42
-
43
- :shell_if_double_click
44
- if "%NO_PAUSE%"=="1" goto :eof
45
- echo %cmdcmdline% | find /i "%~nx0" >nul
46
- if errorlevel 1 goto :eof
47
- echo.
48
- echo !C_GY!Sesion interactiva. Escribe 'exit' para cerrar.!C_RS!
49
- echo.
50
- cmd /k
51
- goto :eof
@@ -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
@@ -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