📋 Roadmap: gh-clone-org
Estado actual : Script bash funcional (v0.1.0) con ~160 líneas, 12 commits, extensión de gh CLI.
Objetivo : Convertirlo en una herramienta robusta, segura y con buena cobertura de tests.
🔴 Alta prioridad
1. Soporte de tokens seguros (breaking change de gh CLI)
Estado : Abierto como issue Add support for secure token storage #1 (notificación del equipo de gh CLI)
Problema : El script usa gh api directamente, que funciona con tokens en texto plano
Solución : Verificar que gh api sigue funcionando con keyring (debería, ya que shellea a gh)
Impacto : Si no se migra, el extension se romperá cuando keyring sea obligatorio
Estimación : 1-2h
2. Filtros de repositorios
Problema : Clonea TODOS los repos de la org, sin excepciones
Features :
--include-pattern / --exclude-pattern (glob patterns)
--skip-archived (saltar repos archivados)
--skip-forks (saltar forks)
--max-depth / --limit (límite de repos)
Estimación : 4-6h
3. Rate limiting y reintentos
Problema : No maneja rate limits de GitHub API ni fallos de red
Features :
Detectar 403 Too Many Requests y respetar X-RateLimit-Reset
Reintentos automáticos con backoff exponencial
Mostrar progreso con contador (X/Y repos clonados)
Estimación : 3-4h
🟡 Media prioridad
4. Modo dry-run
Mostrar qué repos se clonarían sin ejecutar git clone
--dry-run o -n
Estimación : 1-2h
5. Soporte para repos individuales (no solo orgs)
gh clone-org user/repo → clonar un repo específico
gh clone-org user → clonar todos los repos de un usuario
Estimación : 2-3h
6. Perfiles de configuración
Archivos .gh-clone-org.yaml con presets:
profiles :
dev :
skip_archived : true
skip_forks : true
exclude : ["*.github", "docs-*"]
full :
# clone everything
Estimación : 3-4h
7. Logs y verbosidad
--verbose / -v para ver cada clone en tiempo real
--quiet para modo silencioso
Log a archivo opcional
Estimación : 1-2h
🟢 Baja prioridad
8. Tests automatizados
Tests para parsing de argumentos
Tests para filtrado de repos
Mock de gh api responses
Estimación : 4-6h
9. CI/CD
Workflow de GitHub Actions
ShellCheck en CI
Release automático con tags
Estimación : 2-3h
10. Documentación
README con ejemplos más detallados
Man page / --help mejorado
Screenshots/gifs de uso
Contributing guide
Estimación : 2-3h
11. Performance
--parallel=N para controlar concurrencia (no solo nproc)
--bare mode para clones ligeros
Cache de URLs SSH/HTTPS
Estimación : 3-4h
12. Migración a Go (opcional, largo plazo)
Mejorar rendimiento y portabilidad
Binarios precompilados para Linux/macOS/Windows
Compilar con go build → gh extension install
Estimación : 2-3 días
📊 Resumen
Prioridad
Issues
Estimación total
🔴 Alta
1, 2, 3
~8-10h
🟡 Media
4, 5, 6, 7
~8-11h
🟢 Baja
8, 9, 10, 11, 12
~12-18h
Total
12 features
~28-39h
🗓️ Sugerencia de fases
Fase 1 (crítico): #1 secure tokens + #3 rate limits → 4-6h
Fase 2 (core): #2 filters + #4 dry-run + #7 verbose → 6-8h
Fase 3 (mejoras): #5 user support + #6 profiles + #8 tests → 7-10h
Fase 4 (pulido): #9 CI + #10 docs + #11 perf → 7-10h
Fase 5 (opcional): #12 Go rewrite → 2-3 días
📋 Roadmap: gh-clone-org
Estado actual: Script bash funcional (v0.1.0) con ~160 líneas, 12 commits, extensión de gh CLI.
Objetivo: Convertirlo en una herramienta robusta, segura y con buena cobertura de tests.
🔴 Alta prioridad
1. Soporte de tokens seguros (breaking change de gh CLI)
gh apidirectamente, que funciona con tokens en texto planogh apisigue funcionando con keyring (debería, ya que shellea a gh)2. Filtros de repositorios
--include-pattern/--exclude-pattern(glob patterns)--skip-archived(saltar repos archivados)--skip-forks(saltar forks)--max-depth/--limit(límite de repos)3. Rate limiting y reintentos
403 Too Many Requestsy respetarX-RateLimit-Reset🟡 Media prioridad
4. Modo dry-run
git clone--dry-runo-n5. Soporte para repos individuales (no solo orgs)
gh clone-org user/repo→ clonar un repo específicogh clone-org user→ clonar todos los repos de un usuario6. Perfiles de configuración
.gh-clone-org.yamlcon presets:7. Logs y verbosidad
--verbose/-vpara ver cada clone en tiempo real--quietpara modo silencioso🟢 Baja prioridad
8. Tests automatizados
gh apiresponses9. CI/CD
10. Documentación
--helpmejorado11. Performance
--parallel=Npara controlar concurrencia (no solonproc)--baremode para clones ligeros12. Migración a Go (opcional, largo plazo)
go build→gh extension install📊 Resumen
🗓️ Sugerencia de fases
Fase 1 (crítico): #1 secure tokens + #3 rate limits → 4-6h
Fase 2 (core): #2 filters + #4 dry-run + #7 verbose → 6-8h
Fase 3 (mejoras): #5 user support + #6 profiles + #8 tests → 7-10h
Fase 4 (pulido): #9 CI + #10 docs + #11 perf → 7-10h
Fase 5 (opcional): #12 Go rewrite → 2-3 días