Feat: Agregar estructura PWA Nuxt4 y configuración de desarrollo

Configuración PWA:
- Agregar estructura completa de Nuxt4 para PWA
- Configurar .env.example con variables de entorno
- Preparar aplicación para instalación offline

Configuración Claude Code:
- Agregar .claude/ con settings y hooks
- Configurar entorno de desarrollo con Claude

CI/CD:
- Agregar .gitea/workflows para Gitea Actions
- Preparar pipeline de despliegue automático

Docker:
- Actualizar docker-compose.yml con servicios PWA
- Configurar networking entre servicios

Git:
- Actualizar .gitignore para excluir archivos de build
- Ignorar node_modules y archivos temporales
This commit is contained in:
2025-10-17 17:57:18 -06:00
parent b341cca989
commit d1aeb88409
53 changed files with 23586 additions and 36 deletions

152
.claude/hooks/README.md Normal file
View File

@@ -0,0 +1,152 @@
# Gitea Actions Monitor Hook
Este hook monitorea automáticamente tus Gitea Actions después de hacer `git push` y te notifica cuando terminan.
## Configuración
### 1. Crear un token de acceso en Gitea
1. Ve a: https://gitea.nucleoriofrio.com/user/settings/applications
2. En la sección **"Generate New Token"**:
- **Token Name**: `claude-code-monitor` (o el nombre que prefieras)
- **Select Permissions**: Marca `read:repository` o `repo` (lectura de repositorio)
3. Click en **"Generate Token"**
4. **IMPORTANTE**: Copia el token inmediatamente (solo se muestra una vez)
### 2. Configurar la variable de entorno
Agrega el token a tu archivo de configuración de shell:
**Para Bash** (`~/.bashrc`):
```bash
export GITEA_TOKEN='tu_token_aqui'
```
**Para Zsh** (`~/.zshrc`):
```bash
export GITEA_TOKEN='tu_token_aqui'
```
**Para Fish** (`~/.config/fish/config.fish`):
```fish
set -x GITEA_TOKEN 'tu_token_aqui'
```
Luego recarga la configuración:
```bash
source ~/.bashrc # o ~/.zshrc o reinicia la terminal
```
### 3. Verificar que funciona
Verifica que la variable está configurada:
```bash
echo $GITEA_TOKEN
```
Deberías ver tu token.
## Uso
Una vez configurado, el hook se activa automáticamente cuando Claude Code ejecuta `git push`:
1. Claude ejecuta `git push`
2. El hook verifica que Actions estén habilitadas
3. El hook se activa automáticamente y comienza a monitorear
4. **Claude se congela** mientras espera a que termine la Gitea Action (máximo 10 minutos)
5. Puedes presionar **Ctrl+C** para interrumpir la espera si es necesario
6. Cuando termine, Claude te muestra información detallada:
**Ejemplo de action exitosa:**
```
✅ Gitea Action completada: EXITOSO
📋 Detalles:
• Workflow: build-and-deploy (build-and-deploy.yml)
• Run #3
• Evento: push
• Branch: master
• Commit: a1b2c3d4
• Título: Update README: Add Claude Code hooks feature
• Duración: 5m 23s
• Iniciado: 2025-10-12T14:30:05Z
• Finalizado: 2025-10-12T14:35:28Z
🔗 Ver logs completos:
https://gitea.nucleoriofrio.com/nucleo000/plantillaNuxtAuthentikProxy/actions/runs/123
```
**Si las Actions no están habilitadas:**
```
⚠️ Git push exitoso, pero las Gitea Actions NO están habilitadas en este repositorio.
📝 Para habilitar Actions:
1. Ve a: https://gitea.nucleoriofrio.com/nucleo000/plantillaNuxtAuthentikProxy/settings
2. Busca la sección 'Actions' o 'Workflows'
3. Activa las Actions
```
## Configuración Avanzada
### Cambiar el timeout
Edita `.claude/settings.local.json` y modifica el valor `timeout` (en segundos):
```json
{
"hooks": {
"PostToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/monitor-gitea-action.sh",
"timeout": 300 // 5 minutos en lugar de 10
}
]
}
]
}
}
```
### Cambiar el intervalo de polling
Edita `.claude/hooks/monitor-gitea-action.sh` y modifica:
```bash
POLL_INTERVAL=10 # Consultar cada 10 segundos (puedes cambiar a 5, 15, 30, etc.)
```
## Troubleshooting
### El hook no se activa
1. Verifica que el archivo de configuración es correcto: `cat .claude/settings.local.json`
2. Reinicia Claude Code para que recargue la configuración
3. Revisa los logs con `claude --debug`
### Error "falta GITEA_TOKEN"
El token no está configurado. Sigue los pasos de configuración arriba.
### Timeout: La action todavía está corriendo
La action tardó más de 10 minutos. Puedes:
- Aumentar el `timeout` en la configuración
- Verificar el estado manualmente en Gitea
- Optimizar tu Gitea Action para que sea más rápida
### El script no puede conectarse a la API
1. Verifica que puedes acceder a Gitea: `curl https://gitea.nucleoriofrio.com`
2. Verifica que el token es válido:
```bash
curl -H "Authorization: token $GITEA_TOKEN" \
https://gitea.nucleoriofrio.com/api/v1/repos/nucleo000/plantillaNuxtAuthentikProxy/actions/tasks?limit=1
```
## Desactivar el hook
Si quieres desactivar temporalmente el hook, comenta o elimina la sección `hooks` en `.claude/settings.local.json`.