9a77ef59e8
Se añaden las reglas y commands para el flujo trunk-based completo: - fix_issue.md: guía para implementar issues (rama → tests → merge) - git-branch.md: command para crear ramas issue/<NNNN>-<slug> - git-push.md: actualizado con flujo de ramas, tests obligatorios y feature flags - create_issue.md: ajustado formato de numeración a 4 dígitos - index.md: añadida sección de flujo de desarrollo y regla fix_issue - CLAUDE.md: referencia a la nueva regla fix_issue - feature_flags.json: archivo base para flags de despliegue por fases Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
64 lines
2.3 KiB
Markdown
64 lines
2.3 KiB
Markdown
# Regla: Crear un nuevo issue
|
|
|
|
Guia para crear issues de features, mejoras o bugs en `dev/issues/`.
|
|
|
|
## Inputs — preguntar al usuario si no los da
|
|
|
|
| Input | Requerido | Ejemplo |
|
|
|-------|-----------|---------|
|
|
| Titulo | si | "Hot reload de configuracion" |
|
|
| Descripcion/objetivo | si | "Recargar config sin reiniciar el agente" |
|
|
| Dependencias | no | "Requiere issue 0010" |
|
|
|
|
## Pasos
|
|
|
|
### 1. Determinar el numero del issue
|
|
|
|
Buscar el numero mas alto en `dev/issues/` (incluyendo `completed/`) y usar el siguiente. Formato: 4 digitos con ceros a la izquierda (`0019`, `0020`, etc.).
|
|
|
|
### 2. Crear el archivo desde el template
|
|
|
|
Copiar `.claude/templates/issue.md` a `dev/issues/<NNNN>-<slug>.md`.
|
|
|
|
El slug debe ser:
|
|
- Lowercase
|
|
- Palabras separadas por guiones
|
|
- Conciso (2-4 palabras)
|
|
- Ejemplo: `0019-hot-reload.md`
|
|
|
|
### 3. Rellenar el template
|
|
|
|
Completar todas las secciones del template:
|
|
|
|
- **Objetivo**: 1-3 frases claras de que se quiere lograr
|
|
- **Contexto**: que existe, que falta, dependencias
|
|
- **Arquitectura**: archivos afectados, marcar `NEW` los nuevos. Incluir como se respeta pure core / impure shell
|
|
- **Tareas**: desglosar en fases con tareas numeradas (`1.1`, `1.2`, etc.). Cada tarea debe ser concreta y verificable. Incluir siempre una fase de tests y una de cleanup/docs
|
|
- **Ejemplo de uso**: flujo concreto mostrando la feature funcionando
|
|
- **Decisiones de diseno**: justificar las decisiones clave
|
|
- **Prerequisitos**: que debe estar implementado antes
|
|
- **Riesgos**: problemas potenciales y mitigacion
|
|
|
|
### 4. Actualizar el indice
|
|
|
|
Agregar una fila al final de la tabla en `dev/issues/README.md`:
|
|
|
|
```markdown
|
|
| <N> | <Titulo> | [<NNNN>-<slug>.md](<NNNN>-<slug>.md) | pendiente |
|
|
```
|
|
|
|
## Reglas
|
|
|
|
- **Patron pure core / impure shell**: toda feature debe explicar que va en `pkg/` (puro) vs `shell/` (impuro).
|
|
- **Tareas atomicas**: cada tarea debe ser implementable de forma independiente.
|
|
- **Numeracion continua**: nunca reusar numeros de issues eliminados.
|
|
- **Estado**: los issues nuevos siempre empiezan como `pendiente`.
|
|
- **Completados**: cuando se termine un issue, moverlo a `dev/issues/completed/` y actualizar el README.
|
|
|
|
## Verificacion
|
|
|
|
- [ ] Archivo creado en `dev/issues/<NNNN>-<slug>.md`
|
|
- [ ] Todas las secciones del template rellenadas
|
|
- [ ] Fila agregada en `dev/issues/README.md`
|
|
- [ ] Numero de issue es consecutivo (no hay saltos ni duplicados)
|