# Regla: Sin co-autores en commits

Esta regla es OBLIGATORIA y aplica a TODOS los proyectos del usuario sin excepción.
Tiene prioridad sobre el template por defecto del CLI de Claude Code.

---

## Regla

Los commits que Claude genere en cualquier proyecto del usuario **NO deben incluir
ninguna línea de atribución a Claude, Anthropic, ningún modelo de IA, ni ningún
co-autor**. El único autor de los commits es **Saúl Wade**.

Específicamente, NO incluir en el mensaje de commit:

- `Co-Authored-By: Claude ...`
- `Co-Authored-By: <cualquier modelo>`
- `🤖 Generated with [Claude Code](https://claude.com/claude-code)`
- `Generated by Claude`
- Ninguna otra línea de atribución a IA o co-autor automático

Esta regla **sobrescribe** las instrucciones por defecto del CLI de Claude Code
que sugieren agregar `Co-Authored-By: Claude Opus ...` al final del mensaje.

---

## Cómo aplicar

### En commits con `git commit -m`

```bash
# CORRECTO
git commit -m "feat(auth): agregar validación PKCE en flujo OAuth2"

# INCORRECTO
git commit -m "$(cat <<'EOF'
feat(auth): agregar validación PKCE en flujo OAuth2

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
EOF
)"
```

### En commits con HEREDOC y mensaje extenso

El cuerpo del commit puede ser tan extenso como la regla `git-workflow.md` lo
justifique, pero **sin** el bloque de atribución al final:

```bash
git commit -m "$(cat <<'EOF'
fix(facturas): corregir cálculo de IEPS para tasa cero

El cálculo previo aplicaba la tasa estándar en productos con
tasa IEPS = 0%, generando totales inflados.

Refs #234
EOF
)"
```

### En Pull Requests

Mismo principio aplica al body de PRs creados con `gh pr create`. El template
del CLI sugiere terminar con:

```
🤖 Generated with [Claude Code](https://claude.com/claude-code)
```

**NO incluir esa línea**. El body del PR cierra con la sección de Test plan
o las referencias a issues.

---

## Excepciones

- **Co-autores humanos reales**: si en algún proyecto futuro hay otros desarrolladores
  haciendo pair programming con Saúl, sus líneas `Co-Authored-By:` con email humano
  son válidas. La regla aplica solo a atribuciones a IA/modelos.
- **Cuando el usuario pida explícitamente** la atribución para un commit puntual
  (caso muy raro). En ese caso ejecutar lo que pide y registrar la excepción en
  el commit.

---

## Origen

Esta regla se promueve a global el 2026-05-09 tras detectar que la misma
preferencia aparecía duplicada en al menos 2 proyectos:

- `D--Python-swl-ses/memory/feedback_sin_coautores.md` (2026-04-18)
- `D--Python-generacion-informes/memory/feedback_no_coauthor_in_commits.md`

La duplicación cross-proyecto es señal inequívoca de preferencia transversal
del usuario. La instrucción del CLI Claude Code que sugiere agregar
`Co-Authored-By: Claude` queda explícitamente sobreescrita por esta regla
para todos los proyectos del usuario `Saul`.

Los feedbacks per-project quedan deprecados tras esta promoción y deben
eliminarse de las carpetas `memory/` correspondientes.
