Plantilla README
Una plantilla README lista para producción para proyectos open-source e internos.
Overview
Un README es la puerta de entrada de tu proyecto. Combínalo con la Guía de Contribución y el Código de Conducta para estándares de comunidad. Es lo primero que los desarrolladores ven en GitHub, npm, PyPI o Docker Hub. Un README bien estructurado reduce la fricción de onboarding, responde preguntas comunes y establece expectativas para los contribuidores.
Esta plantilla proporciona una estructura probada en batalla que puedes copiar, adaptar y usar en minutos.
When to Use
Usa esta plantilla cuando:
- Empieces un nuevo proyecto open-source
- Documentes una biblioteca o herramienta interna
- Publiques un paquete en un registro público
- Entregues un proyecto a otro equipo
Solution
Copia la plantilla siguiente y reemplaza los marcadores [entre corchetes]:
# [Nombre del Proyecto]
[](LICENSE)
> [Descripción de una línea de lo que hace este proyecto.]
## Tabla de Contenidos
- [Overview](#overview)
- [Instalación](#instalación)
- [Uso](#uso)
- [Referencia API](#referencia-api)
- [Contribución](#contribución)
- [Licencia](#licencia)
## Descripción del Proyecto
[2-3 párrafos explicando qué hace el proyecto, por qué existe y quién debería usarlo.]
## Instalación
### Prerrequisitos
- [Node.js 18+](https://nodejs.org/)
- [Python 3.10+](https://python.org/)
### Inicio Rápido
```bash
## Clonar el repositorio
git clone https://github.com/username/repo.git
cd repo
## Instalar dependencias
npm install
## Ejecutar el proyecto
npm run dev
Uso
Ejemplo Básico
import { myFunction } from 'my-package';
const result = myFunction({ option: true });
console.log(result);
Configuración
| Opción | Tipo | Default | Descripción |
|---|---|---|---|
timeout | number | 5000 | Timeout de petición en milisegundos |
retries | number | 3 | Número de intentos de reintento |
Referencia API
Ver API.md para la documentación API completa.
Contribución
Aceptamos contribuciones. Lee CONTRIBUTING.md para más detalles.
Licencia
MIT © [Nombre del Autor]
## Explanation
Cada sección sirve un propósito específico:
- **Badges**: Comunican instantáneamente el estado del build, versión y licencia
- **One-liner**: Engancha al lector en menos de 10 segundos
- **Tabla de Contenidos**: Esencial para READMEs largos; auto-generada en GitHub
- **Instalación**: Reduce la barrera para el primer éxito; incluye comandos copiar-pegar
- **Uso**: Muestra un ejemplo mínimo antes de explicar casos límite
- **Referencia API**: Enlaza a documentación detallada; mantén el README escaneable
- **Contribución**: Establece expectativas para PRs, issues y estilo de código. Enlaza a la [Guía de Contribución](/docs/contributing-guide/) para detalles.
- **Licencia**: Protege legalmente tanto a autores como usuarios
## Ejemplo de README
```text
=== README: payment-service ===
# Payment Service
Servicio de procesamiento de pagos para la plataforma.
## Inicio Rapido
Requisitos:
- Node.js 20+
- Docker 24+
- PostgreSQL 16+
Instalacion:
git clone https://github.com/company/payment-service.git
cd payment-service
npm install
cp .env.example .env # editar con tus valores
docker compose up -d # postgres y redis
npm run db:migrate
npm run dev
Tests:
npm test # tests unitarios
npm run test:e2e # tests end-to-end
npm run test:cov # coverage report
## Arquitectura
Client -> API Gateway -> payment-service -> PostgreSQL
-> Redis (cache)
-> Carrier API (shipping)
## Endpoints
POST /payments Crear un pago
GET /payments/:id Obtener un pago
POST /payments/:id/refund Reembolsar un pago
GET /health Health check
## Configuracion
Variable | Requerido | Default | Descripcion
------------------|-----------|---------|------------------
DATABASE_URL | Si | - | URL de PostgreSQL
REDIS_URL | Si | - | URL de Redis
CARRIER_API_KEY | Si | - | API key del carrier
LOG_LEVEL | No | info | Nivel de logging
PORT | No | 3000 | Puerto del servidor
## Monitoreo
- Dashboard: https://grafana.company.com/d/payment
- Logs: https://kibana.company.com/app/discover#/payment
- Alertas: PagerDuty service PD-1234
- SLO: 99.9% disponibilidad, p95 < 500ms
## Contribuir
Ver CONTRIBUTING.md para el flujo de contribucion.
Contacto: #payments-team en Slack.
Variants
| Tipo de Proyecto | Secciones a Agregar | Secciones a Omitir |
|---|---|---|
| Biblioteca / SDK | Referencia API, Changelog | Screenshots |
| Herramienta CLI | Comandos, Flags, Config | Arquitectura |
| App Web | Screenshots, Demo, Deploy | Referencia API |
| Herramienta Interna | Onboarding, Slack interno | Licencia, Contribución |
Lo que funciona
- Mantén las primeras 100 líneas escaneables — la mayoría de lectores no scrollean más allá
- Usa un GIF demo o screenshot — prueba visual supera párrafos
- Enlaza, no incluyas — documentación detallada pertenece a
/docs, no al README - Actualiza el TOC — TOCs obsoletos frustran; usa
doctoco auto-genera - Agrega una sección de troubleshooting — recopila los 3 problemas principales de tu issue tracker
- Incluye un link de changelog — los usuarios necesitan saber qué cambió entre versiones. Usa la Plantilla de Changelog para estructura.
Common Mistakes
- Sin instrucciones de instalación — asume que el lector tiene cero contexto
- Prerrequisitos faltantes — síndrome de “funciona en mi máquina”
- Bloques de texto gigantes — divide en secciones, listas y tablas
- Ejemplos obsoletos — código roto erosiona la confianza inmediatamente
- Sin licencia — bloquea legalmente el uso y la contribución
- Copiar de otro proyecto — links obsoletos y nombres de proyectos incorrectos
Troubleshooting
- Pipeline fails silently: enable verbose logging and store pipeline artifacts between stages so you can inspect the exact state that failed.
- Container crashes on startup: check that environment variables, secrets, and config files are mounted correctly. Read the first 50 lines of logs before scaling replicas.
- Deployment rolls back repeatedly: verify health checks, resource limits, and startup probes. A failing readiness probe is a common cause of rolling restarts.
- Slow CI builds: cache dependencies and docker layers. Split large test suites into parallel jobs to reduce wall-clock time.
- Drift between environments: use infrastructure-as-code and immutable artifacts.
Lectura Adicional
- Documentación oficial: consulta la referencia actualizada del framework o herramienta utilizada.
- Guías relacionadas: explora las guías de devops y documentation para profundizar.
- Patrones complementarios: revisa los patrones de diseño aplicables a tu stack tecnológico.
- Postmortems públicos: estudia incidentes reales de equipos que enfrentaron problemas similares en producción.
Notas de Producción
- Despliega gradualmente usando canary o blue-green para detectar regresiones temprano.
- Configura alertas para errores, latencia p99 y tasa de fallos antes de habilitar en producción.
- Documenta el rollback en el runbook; prueba el procedimiento en staging al menos una vez por trimestre.
- Revisa logs estructurados con correlation IDs para trazar requests end-to-end en incidentes.
Puntos Clave
- Aplica plantilla readme cuando necesites una solución práctica para tu caso de uso.
- Monitorea el rendimiento después de implementar; mide latencia, errores y uso de recursos antes y después.
- Revisa la sección de Troubleshooting ante errores comunes; la mayoría tienen causa raíz documentada con solución.
- Mantén dependencias actualizadas y ejecuta tests en CI para prevenir regresiones en producción.
Errores Comunes en Producción
- Dejar campos requeridos vacíos o usar respuestas vagas de una palabra.
- Llenar el documento una vez y nunca actualizarlo cuando cambia el alcance o las decisiones.
- Guardar el documento donde el equipo no lo busque durante incidentes o revisiones.
- No asignar un responsable, fecha límite o cadencia de revisión.
- Copiar texto base sin eliminar secciones que no aplican.
- Saltar el control de versiones, lo que impide rollback y responsabilidad.
- No vincular el documento con decisiones relacionadas o acciones de seguimiento.
- Evitar revisiones trimestrales que retirarían secciones obsoletas o sin uso.
Preguntas frecuentes
¿Qué tan largo debe ser un README?
Lo más corto posible mientras responda: ¿Qué es esto? ¿Cómo lo instalo? ¿Cómo lo uso? ¿Dónde obtengo ayuda?
¿Debería incluir una Tabla de Contenidos?
Sí, si el README excede 300 líneas. GitHub auto-genera una desde los encabezados H2, pero un TOC manual es más flexible.
¿Puedo usar HTML en un README?
Sí, GitHub Flavored Markdown soporta un subconjunto de HTML. Úsalo con moderación para layout (ej. centrado de badges) pero prefiere Markdown para contenido.
Recursos Relacionados
Patron Factory
Crea objetos sin especificar la clase exacta a instanciar. Un patrón de diseño creacional para la creación flexible de objetos.
RecipeFlujo de Trabajo Git
Una estrategia de branching práctica para equipos: ramas de feature, pull requests e historial limpio de commits.
GuideGuía de Diseño de APIs REST
Una Referencia Detallada para diseñar APIs REST limpias, escalables y mantenibles.
DocPlantilla de Changelog
Plantilla de changelog estructurada siguiendo las convenciones de Keep a Changelog para registrar versiones del proyecto.
DocPlantilla de Código de Conducta
Plantilla de código de conducta comunitaria para establecer estándares de colaboración inclusivos y respetuosos.
DocPlantilla de Guía de Contribución
Una plantilla lista para usar con directrices de contribución para proyectos open-source e internos.