# Guía de Contribución

¡Gracias por tu interés en contribuir a **Plantilla de Mensajes Git**! Este es un
repositorio de documentación (la plantilla `.gitmessage` y su guía de uso), así que
las contribuciones son principalmente mejoras de texto, ejemplos y estructura.

## Tabla de Contenidos

- [Cómo empezar](#cómo-empezar)
- [Flujo de trabajo](#flujo-de-trabajo)
- [Estándares de documentación](#estándares-de-documentación)
- [Commits y mensajes](#commits-y-mensajes)
- [Pull Requests](#pull-requests)

## Cómo empezar

1. Haz un **fork** del repositorio.
2. Clónalo en tu máquina:

   ```bash
   git clone https://github.com/tu-usuario/gitmessage-template-es.git
   cd gitmessage-template-es
   ```

3. Crea una rama para tu cambio (ver más abajo).

No hay dependencias que instalar ni build que ejecutar: basta con un editor de texto.

## Flujo de trabajo

Usamos un flujo simple basado en ramas cortas sobre `main`.

### Estrategia de branching

| Rama      | Propósito                                         | Origen | Destino |
| --------- | ------------------------------------------------- | ------ | ------- |
| `main`    | Contenido publicado. Siempre estable.             | —      | —       |
| `feat/*`  | Nueva funcionalidad o sección.                    | `main` | `main`  |
| `fix/*`   | Corrección de un error o inconsistencia.          | `main` | `main`  |
| `docs/*`  | Cambios solo de redacción/documentación.          | `main` | `main`  |
| `chore/*` | Tareas de mantenimiento, tooling, configuración.  | `main` | `main`  |

### Nombrado de ramas

- En minúsculas, con prefijo de tipo y descripción en `kebab-case`:
  `feat/ejemplo-en-ingles`, `fix/typo-readme`, `docs/aclarar-footer`.

### Flujo típico

```bash
git checkout main
git pull origin main
git checkout -b docs/mi-mejora
# ... edita ...
git add .
git commit   # usa la plantilla de este repo (ver abajo)
git push origin docs/mi-mejora
# abre un Pull Request hacia main
```

## Estándares de documentación

- Codificación UTF-8, finales de línea LF (ver [`.editorconfig`](.editorconfig)).
- Markdown claro y consistente con el estilo existente.
- Mantén las líneas del cuerpo de los ejemplos dentro de las convenciones que
  documenta el propio proyecto (título ≤ 50, cuerpo ≤ 72 caracteres).

## Commits y mensajes

Este repositorio **provee y usa** su propia plantilla de commits. Configúrala y
aprovéchala al contribuir:

```bash
git config commit.template .gitmessage
```

Seguimos [Conventional Commits](https://www.conventionalcommits.org/es/v1.0.0/):

```
<tipo>: <descripción breve en imperativo>
```

Tipos comunes: `feat`, `fix`, `docs`, `style`, `refactor`, `chore`.

Ejemplos:

```
docs: aclara el uso del footer en el README
fix: corrige el máximo de caracteres del título
feat: agrega ejemplo de commit con coautor
```

## Pull Requests

- Usa la [plantilla de PR](.github/PULL_REQUEST_TEMPLATE.md) (se carga automáticamente).
- Un PR por cambio lógico; mantenlos pequeños y enfocados.
- Vincula los issues relacionados (`Closes #123`).
- Describe **qué** cambias y **por qué**.

¡Tu ayuda es bienvenida! 🙌
