d36231d3dc
Migra todos los comandos de .claude/commands/ a .claude/skills/ siguiendo la estructura oficial de Claude Code. Skills migrados (21 total): - Configuración: init, init-jupyter, nochanges, create-skill - Git: git-branch, git-push, git-recovery - Workspace: sync-repos, list-repos, cleanup-worktrees, import-repo, create-repo - Issues: create-issue, fix-issue, auto-fix, auto-create, quick-issue, issues-status, parallel-issues, execute-parallel, sort-issues Cada skill tiene: - Carpeta propia en .claude/skills/<nombre>/ - Archivo SKILL.md con frontmatter avanzado - disable-model-invocation: true (solo usuario invoca) Incluye README.md con documentación completa de todos los skills.
70 lines
1.6 KiB
Markdown
70 lines
1.6 KiB
Markdown
---
|
|
name: sync-repos
|
|
description: Sincroniza workspaces locales con repositorios en Gitea
|
|
argument-hint: [--dry-run]
|
|
disable-model-invocation: true
|
|
user-invocable: true
|
|
allowed-tools: Bash, Read, Write
|
|
---
|
|
|
|
# sync-repos
|
|
|
|
Sincroniza workspaces locales con repositorios en Gitea: detecta repos nuevos, clona faltantes, actualiza metadata.
|
|
|
|
## Sintaxis
|
|
|
|
```bash
|
|
/sync-repos # Sincronización con confirmación
|
|
/sync-repos --dry-run # Solo análisis, sin cambios
|
|
```
|
|
|
|
## Prerequisitos
|
|
|
|
- Variables de entorno: `GITEA_URL` y `GITEA_TOKEN`
|
|
- Feature flag `workspace_commands` habilitado
|
|
|
|
## Flujo
|
|
|
|
### 1. Verificar feature flag
|
|
|
|
Leer `feature_flags.json`. Si `workspace_commands.enabled: false`, informar y detener.
|
|
|
|
### 2. Detectar modo
|
|
|
|
- `--dry-run`: solo análisis
|
|
- Sin flags: mostrar plan y pedir confirmación
|
|
|
|
### 3. Ejecutar análisis
|
|
|
|
Usa `app.SyncWorkspacesCommand(config, dryRun)`:
|
|
1. Obtener workspaces locales desde SQLite
|
|
2. Consultar repos en Gitea
|
|
3. Comparar con `core.CompareWorkspaces()`
|
|
4. Mostrar plan: ToClone, ToUpdate, Orphans
|
|
|
|
### 4. Confirmación interactiva (si no --dry-run)
|
|
|
|
```
|
|
¿Ejecutar sincronización? (s/n):
|
|
```
|
|
|
|
### 5. Mostrar resultado
|
|
|
|
```
|
|
Sincronización completada.
|
|
Clonados: N
|
|
Actualizados: M
|
|
Huérfanos: X
|
|
```
|
|
|
|
## Decisiones de diseño
|
|
|
|
- Huérfanos NO se eliminan automáticamente
|
|
- Confirmación obligatoria antes de clonar
|
|
- Clonación secuencial (no paralela)
|
|
|
|
## Troubleshooting
|
|
|
|
- "GITEA_URL y GITEA_TOKEN requeridos": Configurar variables de entorno
|
|
- "error al obtener repositorios": Verificar token y conectividad
|