forgegit 1.4.0 → 1.4.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/.forge/commands/.gitkeep +0 -0
- package/.forge/commands/abrir.cmd +51 -0
- package/.forge/commands/auditar.cmd +340 -0
- package/.forge/commands/historial.cmd +85 -0
- package/.forge/commands/push.cmd +97 -0
- package/.forge/commands/save.cmd +73 -0
- package/.forge/commands/snapshots.cmd +329 -0
- package/.forge/init.cmd +200 -0
- package/.forge/lib/.gitkeep +0 -0
- package/.forge/lib/git-ops.cmd +92 -0
- package/.forge/lib/templates.cmd +98 -0
- package/.forge/lib/ui.cmd +59 -0
- package/.forge/templates/.gitkeep +0 -0
- package/.forge/templates/abrir.cmd.tpl +51 -0
- package/.forge/templates/auditar.cmd.tpl +340 -0
- package/.forge/templates/forge.cmd.tpl +114 -0
- package/.forge/templates/gitignore.tpl +78 -0
- package/.forge/templates/historial.cmd.tpl +85 -0
- package/.forge/templates/push.cmd.tpl +97 -0
- package/.forge/templates/readme.md.tpl +34 -0
- package/.forge/templates/save.cmd.tpl +73 -0
- package/.forge/templates/serve-static.js +86 -0
- package/.forge/templates/serve.cmd.tpl +209 -0
- package/.forge/templates/snapshots.cmd.tpl +329 -0
- package/config.cmd +1 -1
- package/forge.cmd +114 -0
- package/package.json +38 -36
|
@@ -0,0 +1,329 @@
|
|
|
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
|
+
REM --- Args ---
|
|
20
|
+
if /i "%~1"=="ayuda" goto :ayuda
|
|
21
|
+
if /i "%~1"=="--help" goto :ayuda
|
|
22
|
+
if /i "%~1"=="-h" goto :ayuda
|
|
23
|
+
if /i "%~1"=="listar" goto :listar
|
|
24
|
+
if /i "%~1"=="crear" goto :crear
|
|
25
|
+
if /i "%~1"=="volver" goto :volver_arg
|
|
26
|
+
goto :menu
|
|
27
|
+
|
|
28
|
+
REM ============================================================
|
|
29
|
+
REM MENU PRINCIPAL
|
|
30
|
+
REM ============================================================
|
|
31
|
+
:menu
|
|
32
|
+
echo.
|
|
33
|
+
echo !C_CY!============================================!C_RS!
|
|
34
|
+
echo !C_BC! SNAPSHOTS!C_RS! !C_GY!- Copias de seguridad!C_RS!
|
|
35
|
+
echo !C_CY!============================================!C_RS!
|
|
36
|
+
echo.
|
|
37
|
+
echo !C_GY!Un snapshot es una copia completa del proyecto.!C_RS!
|
|
38
|
+
echo !C_GY!Sirve para volver atras si algo se rompe.!C_RS!
|
|
39
|
+
echo.
|
|
40
|
+
|
|
41
|
+
call :count
|
|
42
|
+
if !SNAP_COUNT! EQU 0 (
|
|
43
|
+
echo !C_GY!No hay snapshots todavia.!C_RS!
|
|
44
|
+
) else (
|
|
45
|
+
echo !C_CY!.!C_RS! !C_GY!Snapshots disponibles:!C_RS! !C_WH!!SNAP_COUNT!!C_RS!
|
|
46
|
+
echo.
|
|
47
|
+
call :list_short
|
|
48
|
+
)
|
|
49
|
+
echo.
|
|
50
|
+
|
|
51
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
52
|
+
echo !C_BC! QUE QUIERES HACER?!C_RS!
|
|
53
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
54
|
+
echo !C_YE![c]!C_RS! Crear snapshot
|
|
55
|
+
if !SNAP_COUNT! GTR 0 (
|
|
56
|
+
echo !C_YE![v]!C_RS! Volver a un snapshot
|
|
57
|
+
)
|
|
58
|
+
echo !C_YE![l]!C_RS! Listar con detalles
|
|
59
|
+
echo !C_YE![Enter]!C_RS! Salir
|
|
60
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
61
|
+
echo.
|
|
62
|
+
|
|
63
|
+
set "ACTION="
|
|
64
|
+
set /p "ACTION= !C_BC!Opcion!C_RS!: "
|
|
65
|
+
|
|
66
|
+
if /i "!ACTION!"=="c" goto :crear
|
|
67
|
+
if /i "!ACTION!"=="v" goto :volver_prompt
|
|
68
|
+
if /i "!ACTION!"=="l" goto :listar
|
|
69
|
+
goto :end
|
|
70
|
+
|
|
71
|
+
REM ============================================================
|
|
72
|
+
REM CREAR SNAPSHOT
|
|
73
|
+
REM ============================================================
|
|
74
|
+
:crear
|
|
75
|
+
echo.
|
|
76
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
77
|
+
echo !C_BC! CREAR SNAPSHOT!C_RS!
|
|
78
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
79
|
+
echo.
|
|
80
|
+
echo !C_GY!Copia todo el proyecto en versiones\!C_RS!
|
|
81
|
+
echo !C_GY!Excluye: .git, versiones, node_modules, audits, etc.!C_RS!
|
|
82
|
+
echo.
|
|
83
|
+
|
|
84
|
+
set "SNAP_NAME="
|
|
85
|
+
set /p "SNAP_NAME= !C_BC!Nombre!C_RS! !C_GY![Enter=Sin definir]!C_RS!: "
|
|
86
|
+
if "!SNAP_NAME!"=="" set "SNAP_NAME=Sin definir"
|
|
87
|
+
|
|
88
|
+
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmmss"') do set "TS=%%i"
|
|
89
|
+
set "DEST=versiones\!TS!_!SNAP_NAME!"
|
|
90
|
+
|
|
91
|
+
if not exist "versiones" mkdir "versiones"
|
|
92
|
+
if not exist "!DEST!" mkdir "!DEST!"
|
|
93
|
+
|
|
94
|
+
echo.
|
|
95
|
+
echo !C_GY!Copiando archivos...!C_RS!
|
|
96
|
+
robocopy "." "!DEST!" /E /XD .git versiones old_versions backup backups node_modules __pycache__ venv .venv env dist build out cache .cache .parcel-cache .vite .vscode .idea audits /XF *.log *.tmp *.bak *.orig Thumbs.db .DS_Store /NFL /NDL /NJH /NJS /NC /NS /NP >nul
|
|
97
|
+
set "RC=!ERRORLEVEL!"
|
|
98
|
+
|
|
99
|
+
echo.
|
|
100
|
+
if !RC! GEQ 8 (
|
|
101
|
+
echo !C_RE![X]!C_RS! Robocopy fallo con codigo !RC!
|
|
102
|
+
goto :end
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
set "FCOUNT=0"
|
|
106
|
+
for /f %%c in ('dir /b /s "!DEST!" 2^>nul ^| find /c /v ""') do set "FCOUNT=%%c"
|
|
107
|
+
|
|
108
|
+
echo !C_GR![OK]!C_RS! Snapshot creado
|
|
109
|
+
echo.
|
|
110
|
+
echo !C_GY!Ubicacion:!C_RS! !C_WH!!DEST!!C_RS!
|
|
111
|
+
echo !C_GY!Archivos:!C_RS! !C_WH!!FCOUNT!!C_RS!
|
|
112
|
+
echo.
|
|
113
|
+
|
|
114
|
+
goto :end
|
|
115
|
+
|
|
116
|
+
REM ============================================================
|
|
117
|
+
REM LISTAR (short, para menu)
|
|
118
|
+
REM ============================================================
|
|
119
|
+
:list_short
|
|
120
|
+
set "IDX=0"
|
|
121
|
+
for /f "delims=" %%D in ('dir /b /o-n "versiones" 2^>nul') do (
|
|
122
|
+
if !IDX! LSS 3 (
|
|
123
|
+
echo !C_YE![!IDX!]!C_RS! !C_WH!%%D!C_RS!
|
|
124
|
+
)
|
|
125
|
+
set /a IDX+=1
|
|
126
|
+
)
|
|
127
|
+
if !IDX! GTR 3 (
|
|
128
|
+
echo !C_GY!... y !IDX! mas en total!C_RS!
|
|
129
|
+
)
|
|
130
|
+
goto :eof
|
|
131
|
+
|
|
132
|
+
REM ============================================================
|
|
133
|
+
REM LISTAR (full)
|
|
134
|
+
REM ============================================================
|
|
135
|
+
:listar
|
|
136
|
+
call :count
|
|
137
|
+
if !SNAP_COUNT! EQU 0 (
|
|
138
|
+
echo.
|
|
139
|
+
echo !C_GY!No hay snapshots. Crea uno con:!C_RS! !C_WH!snapshots.cmd crear!C_RS!
|
|
140
|
+
goto :end
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
echo.
|
|
144
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
145
|
+
echo !C_BC! SNAPSHOTS DISPONIBLES!C_RS!
|
|
146
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
147
|
+
echo !C_GY! IDX NOMBRE ARCHIVOS!C_RS!
|
|
148
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
149
|
+
|
|
150
|
+
set "IDX=0"
|
|
151
|
+
for /f "delims=" %%D in ('dir /b /o-n "versiones" 2^>nul') do (
|
|
152
|
+
set "S_!IDX!=%%D"
|
|
153
|
+
set "FC=0"
|
|
154
|
+
for /f %%c in ('dir /b /s "versiones\%%D" 2^>nul ^| find /c /v ""') do set "FC=%%c"
|
|
155
|
+
echo !C_YE![!IDX!]!C_RS! !C_WH!%%D!C_RS! !C_GY!(!FC! archivos)!C_RS!
|
|
156
|
+
set /a IDX+=1
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
160
|
+
echo !C_GY!Total: !SNAP_COUNT! snapshots!C_RS!
|
|
161
|
+
echo.
|
|
162
|
+
goto :end
|
|
163
|
+
|
|
164
|
+
REM ============================================================
|
|
165
|
+
REM VOLVER (prompt)
|
|
166
|
+
REM ============================================================
|
|
167
|
+
:volver_prompt
|
|
168
|
+
call :count
|
|
169
|
+
if !SNAP_COUNT! EQU 0 (
|
|
170
|
+
echo !C_RE![X]!C_RS! No hay snapshots.
|
|
171
|
+
goto :end
|
|
172
|
+
)
|
|
173
|
+
|
|
174
|
+
call :listar_body
|
|
175
|
+
|
|
176
|
+
set "RESTORE_IDX="
|
|
177
|
+
set /p "RESTORE_IDX= !C_BC!Indice a restaurar!C_RS! !C_GY![0-!SNAP_COUNT!-1]!C_RS!: "
|
|
178
|
+
if "!RESTORE_IDX!"=="" goto :end
|
|
179
|
+
|
|
180
|
+
call :do_restore "!RESTORE_IDX!"
|
|
181
|
+
goto :end
|
|
182
|
+
|
|
183
|
+
:volver_arg
|
|
184
|
+
if "%~2"=="" (
|
|
185
|
+
echo !C_RE![X]!C_RS! Falta el indice.
|
|
186
|
+
echo !C_GY!Uso: snapshots.cmd volver <indice>!C_RS!
|
|
187
|
+
goto :end
|
|
188
|
+
)
|
|
189
|
+
call :listar_body
|
|
190
|
+
call :do_restore "%~2"
|
|
191
|
+
goto :end
|
|
192
|
+
|
|
193
|
+
REM Cuerpo compartido de listado
|
|
194
|
+
:listar_body
|
|
195
|
+
echo.
|
|
196
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
197
|
+
echo !C_BC! SNAPSHOTS DISPONIBLES!C_RS!
|
|
198
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
199
|
+
set "IDX=0"
|
|
200
|
+
for /f "delims=" %%D in ('dir /b /o-n "versiones" 2^>nul') do (
|
|
201
|
+
set "S_!IDX!=%%D"
|
|
202
|
+
echo !C_YE![!IDX!]!C_RS! !C_WH!%%D!C_RS!
|
|
203
|
+
set /a IDX+=1
|
|
204
|
+
)
|
|
205
|
+
echo !C_CY!-------------------------------------------------------------!C_RS!
|
|
206
|
+
echo.
|
|
207
|
+
goto :eof
|
|
208
|
+
|
|
209
|
+
REM ============================================================
|
|
210
|
+
REM DO RESTORE
|
|
211
|
+
REM ============================================================
|
|
212
|
+
:do_restore
|
|
213
|
+
set "TARGET=%~1"
|
|
214
|
+
set "SNAP_NAME=!S_%TARGET%!"
|
|
215
|
+
|
|
216
|
+
if "!SNAP_NAME!"=="" (
|
|
217
|
+
echo !C_RE![X]!C_RS! Indice !TARGET! no existe.
|
|
218
|
+
goto :eof
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
set "SNAP_PATH=versiones\!SNAP_NAME!"
|
|
222
|
+
if not exist "!SNAP_PATH!" (
|
|
223
|
+
echo !C_RE![X]!C_RS! Snapshot no encontrado: !SNAP_PATH!
|
|
224
|
+
goto :eof
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
228
|
+
echo !C_BC! CONFIRMAR RESTAURACION!C_RS!
|
|
229
|
+
echo !C_CY!------------------------------------------------------------!C_RS!
|
|
230
|
+
echo.
|
|
231
|
+
echo !C_GY!Snapshot:!C_RS! !C_WH!!SNAP_NAME!!C_RS!
|
|
232
|
+
echo !C_GY!Modo:!C_RS! !C_WH!overlay (no borra archivos)!C_RS!
|
|
233
|
+
echo.
|
|
234
|
+
echo !C_GY!Se creara un backup automatico antes de restaurar.!C_RS!
|
|
235
|
+
echo !C_YE!ATENCION: los cambios actuales pueden perderse.!C_RS!
|
|
236
|
+
echo.
|
|
237
|
+
|
|
238
|
+
set "CONFIRM="
|
|
239
|
+
set /p "CONFIRM= !C_BC!Escribe SI para confirmar!C_RS!: "
|
|
240
|
+
if /i not "!CONFIRM!"=="SI" (
|
|
241
|
+
echo !C_GY!Cancelado.!C_RS!
|
|
242
|
+
goto :eof
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
REM --- Backup pre-restore ---
|
|
246
|
+
echo.
|
|
247
|
+
echo !C_GY!Creando backup de seguridad...!C_RS!
|
|
248
|
+
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd_HHmmss"') do set "TS=%%i"
|
|
249
|
+
set "PREBK=versiones\!TS!_pre-restore"
|
|
250
|
+
|
|
251
|
+
if not exist "!PREBK!" mkdir "!PREBK!"
|
|
252
|
+
robocopy "." "!PREBK!" /E /XD .git versiones old_versions backup backups node_modules __pycache__ venv .venv env dist build out cache .cache .parcel-cache .vite .vscode .idea audits /XF *.log *.tmp *.bak *.orig Thumbs.db .DS_Store /NFL /NDL /NJH /NJS /NC /NS /NP >nul
|
|
253
|
+
echo !C_GR![OK]!C_RS! Backup: !C_WH!!PREBK!!C_RS!
|
|
254
|
+
echo.
|
|
255
|
+
|
|
256
|
+
REM --- Restore ---
|
|
257
|
+
echo !C_GY!Restaurando archivos...!C_RS!
|
|
258
|
+
robocopy "!SNAP_PATH!" "." /E /XD .git versiones audits /XF *.log *.tmp /NFL /NDL /NJH /NJS /NC /NS /NP >nul
|
|
259
|
+
set "RC=!ERRORLEVEL!"
|
|
260
|
+
|
|
261
|
+
echo.
|
|
262
|
+
if !RC! GEQ 8 (
|
|
263
|
+
echo !C_RE![X]!C_RS! Restauracion fallo con codigo !RC!
|
|
264
|
+
echo !C_GY!Puedes volver al estado previo con:!C_RS! !C_WH!snapshots.cmd volver!C_RS!
|
|
265
|
+
goto :eof
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
echo !C_GR![OK]!C_RS! Snapshot restaurado.
|
|
269
|
+
echo.
|
|
270
|
+
echo !C_GY!Si algo salio mal, tu estado previo esta en:!C_RS!
|
|
271
|
+
echo !C_WH!!PREBK!!C_RS!
|
|
272
|
+
echo.
|
|
273
|
+
goto :eof
|
|
274
|
+
|
|
275
|
+
REM ============================================================
|
|
276
|
+
REM CONTAR
|
|
277
|
+
REM ============================================================
|
|
278
|
+
:count
|
|
279
|
+
set "SNAP_COUNT=0"
|
|
280
|
+
if exist "versiones" (
|
|
281
|
+
for /f %%c in ('dir /b /ad "versiones" 2^>nul ^| find /c /v ""') do set "SNAP_COUNT=%%c"
|
|
282
|
+
)
|
|
283
|
+
goto :eof
|
|
284
|
+
|
|
285
|
+
REM ============================================================
|
|
286
|
+
REM AYUDA
|
|
287
|
+
REM ============================================================
|
|
288
|
+
:ayuda
|
|
289
|
+
echo.
|
|
290
|
+
echo !C_CY!============================================!C_RS!
|
|
291
|
+
echo !C_BC! SNAPSHOTS!C_RS! !C_GY!- Ayuda!C_RS!
|
|
292
|
+
echo !C_CY!============================================!C_RS!
|
|
293
|
+
echo.
|
|
294
|
+
echo !C_BC!USO:!C_RS!
|
|
295
|
+
echo !C_WH!snapshots.cmd!C_RS! Menu interactivo
|
|
296
|
+
echo !C_WH!snapshots.cmd crear!C_RS! Crear snapshot
|
|
297
|
+
echo !C_WH!snapshots.cmd listar!C_RS! Listar snapshots
|
|
298
|
+
echo !C_WH!snapshots.cmd volver <idx>!C_RS! Restaurar por indice
|
|
299
|
+
echo !C_WH!snapshots.cmd --help!C_RS! Esta ayuda
|
|
300
|
+
echo.
|
|
301
|
+
echo !C_BC!FLUJO TIPICO:!C_RS!
|
|
302
|
+
echo !C_GY!1. Antes de un cambio riesgoso:!C_RS!
|
|
303
|
+
echo !C_WH!snapshots.cmd crear!C_RS! !C_GY!(nombre: antes de refactor)!C_RS!
|
|
304
|
+
echo !C_GY!2. Haces los cambios...!C_RS!
|
|
305
|
+
echo !C_GY!3. Si algo se rompe:!C_RS!
|
|
306
|
+
echo !C_WH!snapshots.cmd volver 0!C_RS!
|
|
307
|
+
echo.
|
|
308
|
+
echo !C_BC!SEGURIDAD:!C_RS!
|
|
309
|
+
echo !C_GY!- Preview antes de restaurar!C_RS!
|
|
310
|
+
echo !C_GY!- Confirmacion con "SI" mayusculas!C_RS!
|
|
311
|
+
echo !C_GY!- Backup automatico pre-restore!C_RS!
|
|
312
|
+
echo !C_GY!- Modo overlay (no borra archivos)^^!C_RS!
|
|
313
|
+
echo.
|
|
314
|
+
goto :end
|
|
315
|
+
|
|
316
|
+
:end
|
|
317
|
+
call :shell_if_double_click
|
|
318
|
+
endlocal
|
|
319
|
+
exit /b 0
|
|
320
|
+
|
|
321
|
+
:shell_if_double_click
|
|
322
|
+
if "%NO_PAUSE%"=="1" goto :eof
|
|
323
|
+
echo %cmdcmdline% | find /i "%~nx0" >nul
|
|
324
|
+
if errorlevel 1 goto :eof
|
|
325
|
+
echo.
|
|
326
|
+
echo !C_GY!Sesion interactiva. Escribe 'exit' para cerrar.!C_RS!
|
|
327
|
+
echo.
|
|
328
|
+
cmd /k
|
|
329
|
+
goto :eof
|
package/config.cmd
CHANGED
|
@@ -4,7 +4,7 @@ REM Configuration - edit these values to customize
|
|
|
4
4
|
REM Called from init.cmd via: call config.cmd
|
|
5
5
|
REM ============================================================
|
|
6
6
|
|
|
7
|
-
set "FG_VERSION=1.4.
|
|
7
|
+
set "FG_VERSION=1.4.1"
|
|
8
8
|
set "TAG_INITIAL=v1.0.0"
|
|
9
9
|
set "TAG_MESSAGE=Primera version estable"
|
|
10
10
|
set "BRANCH_MAIN=main"
|
package/forge.cmd
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
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/package.json
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "forgegit",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "Universal Git bootstrap kit for Windows",
|
|
5
|
-
"bin": {
|
|
6
|
-
"forge": "./tools/bin/forge.cmd"
|
|
7
|
-
},
|
|
8
|
-
"files": [
|
|
9
|
-
"init.cmd",
|
|
10
|
-
"config.cmd",
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"tools/
|
|
19
|
-
"tools/
|
|
20
|
-
"tools/
|
|
21
|
-
"tools/
|
|
22
|
-
"tools/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "forgegit",
|
|
3
|
+
"version": "1.4.1",
|
|
4
|
+
"description": "Universal Git bootstrap kit for Windows",
|
|
5
|
+
"bin": {
|
|
6
|
+
"forge": "./tools/bin/forge.cmd"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"init.cmd",
|
|
10
|
+
"config.cmd",
|
|
11
|
+
"forge.cmd",
|
|
12
|
+
"MANUAL.md",
|
|
13
|
+
"README.md",
|
|
14
|
+
".forge/",
|
|
15
|
+
"lib/",
|
|
16
|
+
"templates/",
|
|
17
|
+
"tests/test.cmd",
|
|
18
|
+
"tools/install.cmd",
|
|
19
|
+
"tools/uninstall.cmd",
|
|
20
|
+
"tools/restore.cmd",
|
|
21
|
+
"tools/pack.cmd",
|
|
22
|
+
"tools/release.cmd",
|
|
23
|
+
"tools/bin/forge.cmd",
|
|
24
|
+
"tools/bin/forge-update.cmd"
|
|
25
|
+
],
|
|
26
|
+
"keywords": [
|
|
27
|
+
"git",
|
|
28
|
+
"bootstrap",
|
|
29
|
+
"windows",
|
|
30
|
+
"cli"
|
|
31
|
+
],
|
|
32
|
+
"author": "vloitz",
|
|
33
|
+
"license": "MIT",
|
|
34
|
+
"repository": {
|
|
35
|
+
"type": "git",
|
|
36
|
+
"url": "https://github.com/vloitz/forgeGit"
|
|
37
|
+
}
|
|
38
|
+
}
|