don-cheli-sdd 1.16.1 → 1.16.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/CHANGELOG.md +10 -0
- package/README.es.md +1 -1
- package/README.md +1 -1
- package/README.pt.md +1 -1
- package/VERSION +1 -1
- package/package.json +1 -1
- package/scripts/.claude/don-cheli/VERSION +1 -1
- package/scripts/.claude/don-cheli/scripts/instalar.sh +45 -29
- package/scripts/generar-config.sh +20 -7
- package/scripts/instalar.sh +45 -29
- package/comandos/especdev/cambios.md +0 -14
- package/scripts/.claude/commands/especdev/cambios.md +0 -14
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,16 @@ Todos los cambios notables en Don Cheli SDD Framework.
|
|
|
4
4
|
|
|
5
5
|
Formato basado en [Conventional Commits](https://www.conventionalcommits.org/).
|
|
6
6
|
|
|
7
|
+
## [1.16.2](https://github.com/doncheli/don-cheli-sdd/compare/v1.16.1...v1.16.2) (2026-04-02)
|
|
8
|
+
|
|
9
|
+
### Correcciones
|
|
10
|
+
|
|
11
|
+
* corregir instalador interactivo y Antigravity ([3b0031c](https://github.com/doncheli/don-cheli-sdd/commit/3b0031c1f795bcc6b6b8103b40b17e7bfe13a25e))
|
|
12
|
+
|
|
13
|
+
### Documentación
|
|
14
|
+
|
|
15
|
+
* agregar Social Media Kit completo (LinkedIn, Instagram, X, TikTok, YouTube) ([599027f](https://github.com/doncheli/don-cheli-sdd/commit/599027f567bb87116b9292ecbcdbb98bba4b1651))
|
|
16
|
+
|
|
7
17
|
## [1.16.1](https://github.com/doncheli/don-cheli-sdd/compare/v1.16.0...v1.16.1) (2026-04-01)
|
|
8
18
|
|
|
9
19
|
### Correcciones
|
package/README.es.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</p>
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="#-instalación"><img src="https://img.shields.io/badge/instalación-2_minutos-brightgreen" alt="Install"></a>
|
|
15
|
-
<img src="https://img.shields.io/badge/versión-1.16.
|
|
15
|
+
<img src="https://img.shields.io/badge/versión-1.16.2-blue" alt="Version">
|
|
16
16
|
<img src="https://img.shields.io/badge/licencia-Apache%202.0-green" alt="License">
|
|
17
17
|
<img src="https://img.shields.io/badge/idiomas-ES%20|%20EN%20|%20PT-red" alt="Languages">
|
|
18
18
|
<img src="https://img.shields.io/badge/comandos-85+-purple" alt="Commands">
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</p>
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="#-installation"><img src="https://img.shields.io/badge/install-2_minutes-brightgreen" alt="Install"></a>
|
|
15
|
-
<img src="https://img.shields.io/badge/version-1.16.
|
|
15
|
+
<img src="https://img.shields.io/badge/version-1.16.2-blue" alt="Version">
|
|
16
16
|
<img src="https://img.shields.io/badge/license-Apache%202.0-green" alt="License">
|
|
17
17
|
<img src="https://img.shields.io/badge/languages-ES%20|%20EN%20|%20PT-red" alt="Languages">
|
|
18
18
|
<img src="https://img.shields.io/badge/commands-85+-purple" alt="Commands">
|
package/README.pt.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</p>
|
|
13
13
|
<p align="center">
|
|
14
14
|
<a href="#-instalação"><img src="https://img.shields.io/badge/instalação-2_minutos-brightgreen" alt="Install"></a>
|
|
15
|
-
<img src="https://img.shields.io/badge/versão-1.16.
|
|
15
|
+
<img src="https://img.shields.io/badge/versão-1.16.2-blue" alt="Version">
|
|
16
16
|
<img src="https://img.shields.io/badge/licença-Apache%202.0-green" alt="License">
|
|
17
17
|
<img src="https://img.shields.io/badge/idiomas-ES%20|%20EN%20|%20PT-red" alt="Languages">
|
|
18
18
|
<img src="https://img.shields.io/badge/comandos-85+-purple" alt="Commands">
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.16.
|
|
1
|
+
1.16.2
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.16.
|
|
1
|
+
1.16.2
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
set -euo pipefail
|
|
6
6
|
|
|
7
|
-
VERSION="1.16.
|
|
7
|
+
VERSION="1.16.2"
|
|
8
8
|
REPO_URL="https://github.com/doncheli/don-cheli-sdd"
|
|
9
9
|
CLEANUP_TMPDIR=""
|
|
10
10
|
|
|
@@ -336,6 +336,7 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
336
336
|
|
|
337
337
|
# Step 1: Tool Selection (if not provided via flag)
|
|
338
338
|
if [ -z "$TOOLS_FLAG" ]; then
|
|
339
|
+
GUM_TOOLS_OK=false
|
|
339
340
|
if [ "$HAS_GUM" = true ]; then
|
|
340
341
|
TOOLS_RAW=$(printf "Claude Code\nCodex\nCursor\nAntigravity\nWindsurf\nAmp\nContinue.dev\nOpenCode\nTodos" | \
|
|
341
342
|
gum choose --no-limit \
|
|
@@ -345,21 +346,25 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
345
346
|
--selected.foreground="120" \
|
|
346
347
|
< /dev/tty 2>/dev/null) || true
|
|
347
348
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
349
|
+
if [ -n "$TOOLS_RAW" ]; then
|
|
350
|
+
TOOLS_FLAG=""
|
|
351
|
+
while IFS= read -r tool; do
|
|
352
|
+
case "$tool" in
|
|
353
|
+
"Claude Code") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}claude" ;;
|
|
354
|
+
"Codex") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}codex" ;;
|
|
355
|
+
"Cursor") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}cursor" ;;
|
|
356
|
+
"Antigravity") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}antigravity" ;;
|
|
357
|
+
"Windsurf") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}windsurf" ;;
|
|
358
|
+
"Amp") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}amp" ;;
|
|
359
|
+
"Continue.dev") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}continue" ;;
|
|
360
|
+
"OpenCode") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}opencode" ;;
|
|
361
|
+
"Todos") TOOLS_FLAG="claude,codex,cursor,antigravity,windsurf,amp,continue,opencode" ;;
|
|
362
|
+
esac
|
|
363
|
+
done <<< "$TOOLS_RAW"
|
|
364
|
+
GUM_TOOLS_OK=true
|
|
365
|
+
fi
|
|
366
|
+
fi
|
|
367
|
+
if [ "$GUM_TOOLS_OK" = false ]; then
|
|
363
368
|
echo -e " ${BOLD}¿Dónde quieres instalar Don Cheli SDD?${NC}"
|
|
364
369
|
echo ""
|
|
365
370
|
echo -e " ${CYAN}1)${NC} Claude Code (CLAUDE.md + comandos)"
|
|
@@ -373,7 +378,10 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
373
378
|
echo -e " ${CYAN}9)${NC} Todos"
|
|
374
379
|
echo ""
|
|
375
380
|
echo -ne " ${BOLD}▸ Elige (números separados por coma): ${NC}"
|
|
376
|
-
|
|
381
|
+
TOOLS_CHOICE=""
|
|
382
|
+
read -r TOOLS_CHOICE < /dev/tty 2>/dev/null || read -r TOOLS_CHOICE 2>/dev/null || TOOLS_CHOICE=""
|
|
383
|
+
if [ -z "$TOOLS_CHOICE" ]; then
|
|
384
|
+
echo -e " ${YELLOW}⚠ No se pudo leer input. Usando: Todos${NC}"
|
|
377
385
|
TOOLS_CHOICE="9"
|
|
378
386
|
fi
|
|
379
387
|
|
|
@@ -398,6 +406,7 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
398
406
|
|
|
399
407
|
# Step 2: Profile Selection (if not provided via flag)
|
|
400
408
|
if [ -z "$PROFILE_FLAG" ]; then
|
|
409
|
+
GUM_PROFILE_OK=false
|
|
401
410
|
if [ "$HAS_GUM" = true ]; then
|
|
402
411
|
PROFILE_CHOICE=$(printf "👻 Phantom Coder [Full-stack] — Pipeline completo, TDD, quality gates\n💀 Reaper Sec [Seguridad] — OWASP, auditoría, pentest workflow\n🏗 System Architect [Arquitectura] — Blueprints, SOLID, APIs, migraciones\n⚡ Speedrunner [MVP/Startup] — PoC, estimados, validación veloz\n🔮 The Oracle [Razonamiento] — 15 modelos mentales, análisis profundo\n🥷 Dev Dojo [Aprendizaje] — Documentación viva, ADRs, Obsidian\n⚙️ Custom [Manual] — Seleccionar skills y comandos manualmente" | \
|
|
403
412
|
gum choose \
|
|
@@ -406,17 +415,21 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
406
415
|
--cursor.foreground="212" \
|
|
407
416
|
< /dev/tty 2>/dev/null) || true
|
|
408
417
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
if [ -n "$PROFILE_CHOICE" ]; then
|
|
419
|
+
case "$PROFILE_CHOICE" in
|
|
420
|
+
*Phantom*) PROFILE_FLAG="phantom" ;;
|
|
421
|
+
*Reaper*) PROFILE_FLAG="reaper" ;;
|
|
422
|
+
*Architect*) PROFILE_FLAG="architect" ;;
|
|
423
|
+
*Speedrun*) PROFILE_FLAG="speedrun" ;;
|
|
424
|
+
*Oracle*) PROFILE_FLAG="oracle" ;;
|
|
425
|
+
*Dojo*) PROFILE_FLAG="dojo" ;;
|
|
426
|
+
*Custom*) PROFILE_FLAG="custom" ;;
|
|
427
|
+
*) PROFILE_FLAG="phantom" ;;
|
|
428
|
+
esac
|
|
429
|
+
GUM_PROFILE_OK=true
|
|
430
|
+
fi
|
|
431
|
+
fi
|
|
432
|
+
if [ "$GUM_PROFILE_OK" = false ]; then
|
|
420
433
|
echo ""
|
|
421
434
|
echo -e " ${BOLD}Elige tu perfil de desarrollador:${NC}"
|
|
422
435
|
echo ""
|
|
@@ -429,7 +442,10 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
429
442
|
echo -e " ${CYAN}7)${NC} ⚙️ Custom ${DIM}[Manual]${NC} Seleccionar todo manualmente"
|
|
430
443
|
echo ""
|
|
431
444
|
echo -ne " ${BOLD}▸ ${NC}"
|
|
432
|
-
|
|
445
|
+
PROFILE_CHOICE=""
|
|
446
|
+
read -r PROFILE_CHOICE < /dev/tty 2>/dev/null || read -r PROFILE_CHOICE 2>/dev/null || PROFILE_CHOICE=""
|
|
447
|
+
if [ -z "$PROFILE_CHOICE" ]; then
|
|
448
|
+
echo -e " ${YELLOW}⚠ No se pudo leer input. Usando: Phantom Coder${NC}"
|
|
433
449
|
PROFILE_CHOICE="1"
|
|
434
450
|
fi
|
|
435
451
|
|
|
@@ -152,24 +152,37 @@ _gen_cursor() {
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
# ─────────────────────────────────────────────
|
|
155
|
-
# Antigravity → GEMINI.md + .agent/
|
|
155
|
+
# Antigravity → GEMINI.md + .agent/ (at PROJECT ROOT, not inside .claude/)
|
|
156
156
|
# ─────────────────────────────────────────────
|
|
157
157
|
_gen_antigravity() {
|
|
158
158
|
local dir="$1" home="$2" locale="$3"
|
|
159
159
|
|
|
160
|
-
|
|
160
|
+
# Antigravity needs files at project root, not inside .claude/don-cheli/
|
|
161
|
+
# Detect project root: go up from .claude/don-cheli/ or use current dir
|
|
162
|
+
local project_root
|
|
163
|
+
if [[ "$dir" == *".claude/don-cheli"* ]]; then
|
|
164
|
+
project_root="${dir%/.claude/don-cheli*}"
|
|
165
|
+
[ -z "$project_root" ] && project_root="."
|
|
166
|
+
elif [[ "$dir" == *".claude"* ]]; then
|
|
167
|
+
project_root="${dir%/.claude*}"
|
|
168
|
+
[ -z "$project_root" ] && project_root="."
|
|
169
|
+
else
|
|
170
|
+
project_root="$dir"
|
|
171
|
+
fi
|
|
172
|
+
|
|
173
|
+
echo -e " ${GREEN:-}✓${NC:-} Antigravity → GEMINI.md + .agent/ (en $project_root/)"
|
|
161
174
|
|
|
162
175
|
if [ "$locale" != "en" ] && [ -f "$home/GEMINI.${locale}.md" ]; then
|
|
163
|
-
cp "$home/GEMINI.${locale}.md" "$
|
|
176
|
+
cp "$home/GEMINI.${locale}.md" "$project_root/GEMINI.md" 2>/dev/null || true
|
|
164
177
|
elif [ -f "$home/GEMINI.md" ]; then
|
|
165
|
-
cp "$home/GEMINI.md" "$
|
|
178
|
+
cp "$home/GEMINI.md" "$project_root/" 2>/dev/null || true
|
|
166
179
|
else
|
|
167
180
|
echo -e " ${YELLOW:-}⚠${NC:-} GEMINI.md not found in $home — skipping" >&2
|
|
168
181
|
fi
|
|
169
182
|
|
|
170
183
|
if [ -d "$home/.agent" ]; then
|
|
171
|
-
mkdir -p "$
|
|
172
|
-
cp -r "$home/.agent/"* "$
|
|
184
|
+
mkdir -p "$project_root/.agent" 2>/dev/null || true
|
|
185
|
+
cp -r "$home/.agent/"* "$project_root/.agent/" 2>/dev/null || true
|
|
173
186
|
fi
|
|
174
187
|
}
|
|
175
188
|
|
|
@@ -225,7 +238,7 @@ _gen_continue() {
|
|
|
225
238
|
cat > "$dir/.continue/config/don-cheli.json" 2>/dev/null << 'CONTEOF' || true
|
|
226
239
|
{
|
|
227
240
|
"name": "don-cheli-sdd",
|
|
228
|
-
"version": "1.16.
|
|
241
|
+
"version": "1.16.2",
|
|
229
242
|
"description": "Don Cheli SDD Framework",
|
|
230
243
|
"rules": [
|
|
231
244
|
"All production code requires tests (TDD: RED → GREEN → REFACTOR)",
|
package/scripts/instalar.sh
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
set -euo pipefail
|
|
6
6
|
|
|
7
|
-
VERSION="1.16.
|
|
7
|
+
VERSION="1.16.2"
|
|
8
8
|
REPO_URL="https://github.com/doncheli/don-cheli-sdd"
|
|
9
9
|
CLEANUP_TMPDIR=""
|
|
10
10
|
|
|
@@ -336,6 +336,7 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
336
336
|
|
|
337
337
|
# Step 1: Tool Selection (if not provided via flag)
|
|
338
338
|
if [ -z "$TOOLS_FLAG" ]; then
|
|
339
|
+
GUM_TOOLS_OK=false
|
|
339
340
|
if [ "$HAS_GUM" = true ]; then
|
|
340
341
|
TOOLS_RAW=$(printf "Claude Code\nCodex\nCursor\nAntigravity\nWindsurf\nAmp\nContinue.dev\nOpenCode\nTodos" | \
|
|
341
342
|
gum choose --no-limit \
|
|
@@ -345,21 +346,25 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
345
346
|
--selected.foreground="120" \
|
|
346
347
|
< /dev/tty 2>/dev/null) || true
|
|
347
348
|
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
349
|
+
if [ -n "$TOOLS_RAW" ]; then
|
|
350
|
+
TOOLS_FLAG=""
|
|
351
|
+
while IFS= read -r tool; do
|
|
352
|
+
case "$tool" in
|
|
353
|
+
"Claude Code") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}claude" ;;
|
|
354
|
+
"Codex") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}codex" ;;
|
|
355
|
+
"Cursor") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}cursor" ;;
|
|
356
|
+
"Antigravity") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}antigravity" ;;
|
|
357
|
+
"Windsurf") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}windsurf" ;;
|
|
358
|
+
"Amp") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}amp" ;;
|
|
359
|
+
"Continue.dev") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}continue" ;;
|
|
360
|
+
"OpenCode") TOOLS_FLAG="${TOOLS_FLAG:+$TOOLS_FLAG,}opencode" ;;
|
|
361
|
+
"Todos") TOOLS_FLAG="claude,codex,cursor,antigravity,windsurf,amp,continue,opencode" ;;
|
|
362
|
+
esac
|
|
363
|
+
done <<< "$TOOLS_RAW"
|
|
364
|
+
GUM_TOOLS_OK=true
|
|
365
|
+
fi
|
|
366
|
+
fi
|
|
367
|
+
if [ "$GUM_TOOLS_OK" = false ]; then
|
|
363
368
|
echo -e " ${BOLD}¿Dónde quieres instalar Don Cheli SDD?${NC}"
|
|
364
369
|
echo ""
|
|
365
370
|
echo -e " ${CYAN}1)${NC} Claude Code (CLAUDE.md + comandos)"
|
|
@@ -373,7 +378,10 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
373
378
|
echo -e " ${CYAN}9)${NC} Todos"
|
|
374
379
|
echo ""
|
|
375
380
|
echo -ne " ${BOLD}▸ Elige (números separados por coma): ${NC}"
|
|
376
|
-
|
|
381
|
+
TOOLS_CHOICE=""
|
|
382
|
+
read -r TOOLS_CHOICE < /dev/tty 2>/dev/null || read -r TOOLS_CHOICE 2>/dev/null || TOOLS_CHOICE=""
|
|
383
|
+
if [ -z "$TOOLS_CHOICE" ]; then
|
|
384
|
+
echo -e " ${YELLOW}⚠ No se pudo leer input. Usando: Todos${NC}"
|
|
377
385
|
TOOLS_CHOICE="9"
|
|
378
386
|
fi
|
|
379
387
|
|
|
@@ -398,6 +406,7 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
398
406
|
|
|
399
407
|
# Step 2: Profile Selection (if not provided via flag)
|
|
400
408
|
if [ -z "$PROFILE_FLAG" ]; then
|
|
409
|
+
GUM_PROFILE_OK=false
|
|
401
410
|
if [ "$HAS_GUM" = true ]; then
|
|
402
411
|
PROFILE_CHOICE=$(printf "👻 Phantom Coder [Full-stack] — Pipeline completo, TDD, quality gates\n💀 Reaper Sec [Seguridad] — OWASP, auditoría, pentest workflow\n🏗 System Architect [Arquitectura] — Blueprints, SOLID, APIs, migraciones\n⚡ Speedrunner [MVP/Startup] — PoC, estimados, validación veloz\n🔮 The Oracle [Razonamiento] — 15 modelos mentales, análisis profundo\n🥷 Dev Dojo [Aprendizaje] — Documentación viva, ADRs, Obsidian\n⚙️ Custom [Manual] — Seleccionar skills y comandos manualmente" | \
|
|
403
412
|
gum choose \
|
|
@@ -406,17 +415,21 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
406
415
|
--cursor.foreground="212" \
|
|
407
416
|
< /dev/tty 2>/dev/null) || true
|
|
408
417
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
418
|
+
if [ -n "$PROFILE_CHOICE" ]; then
|
|
419
|
+
case "$PROFILE_CHOICE" in
|
|
420
|
+
*Phantom*) PROFILE_FLAG="phantom" ;;
|
|
421
|
+
*Reaper*) PROFILE_FLAG="reaper" ;;
|
|
422
|
+
*Architect*) PROFILE_FLAG="architect" ;;
|
|
423
|
+
*Speedrun*) PROFILE_FLAG="speedrun" ;;
|
|
424
|
+
*Oracle*) PROFILE_FLAG="oracle" ;;
|
|
425
|
+
*Dojo*) PROFILE_FLAG="dojo" ;;
|
|
426
|
+
*Custom*) PROFILE_FLAG="custom" ;;
|
|
427
|
+
*) PROFILE_FLAG="phantom" ;;
|
|
428
|
+
esac
|
|
429
|
+
GUM_PROFILE_OK=true
|
|
430
|
+
fi
|
|
431
|
+
fi
|
|
432
|
+
if [ "$GUM_PROFILE_OK" = false ]; then
|
|
420
433
|
echo ""
|
|
421
434
|
echo -e " ${BOLD}Elige tu perfil de desarrollador:${NC}"
|
|
422
435
|
echo ""
|
|
@@ -429,7 +442,10 @@ if [ "$INTERACTIVE_MODE" = true ]; then
|
|
|
429
442
|
echo -e " ${CYAN}7)${NC} ⚙️ Custom ${DIM}[Manual]${NC} Seleccionar todo manualmente"
|
|
430
443
|
echo ""
|
|
431
444
|
echo -ne " ${BOLD}▸ ${NC}"
|
|
432
|
-
|
|
445
|
+
PROFILE_CHOICE=""
|
|
446
|
+
read -r PROFILE_CHOICE < /dev/tty 2>/dev/null || read -r PROFILE_CHOICE 2>/dev/null || PROFILE_CHOICE=""
|
|
447
|
+
if [ -z "$PROFILE_CHOICE" ]; then
|
|
448
|
+
echo -e " ${YELLOW}⚠ No se pudo leer input. Usando: Phantom Coder${NC}"
|
|
433
449
|
PROFILE_CHOICE="1"
|
|
434
450
|
fi
|
|
435
451
|
|