DocsProyectoContribuir

Guía de Contribución

EsHTML es un proyecto de código abierto que mejora con cada contribución. Ya sea que reportes un error, sugieras una mejora o contribuyas código, tu ayuda es valiosa.

¡Gracias por tu interés en contribuir a EsHTML! Este proyecto existe para hacer el desarrollo web más accesible a hablantes de español, y cada contribución nos acerca más a ese objetivo.

Formas de Contribuir

Reportar Errores

Encuentra un bug o algo que no funciona como esperabas? Ayúdanos reportándolo.

  • • Describe el problema claramente
  • • Incluye pasos para reproducirlo
  • • Menciona tu entorno (versión, sistema operativo)

Sugerir Mejoras

Tienes ideas para nuevas características o mejoras? Compártelas con nosotros.

  • • Explica el caso de uso
  • • Describe la solución propuesta
  • • Considera alternativas

Contribuir Código

Desarrolla nuevas características, corrige bugs o mejora el código existente.

  • • Fork del repositorio
  • • Crea una branch para tu cambio
  • • Escribe tests cuando sea aplicable

Mejorar Documentación

Ayuda a otros usuarios mejorando guías, tutoriales o ejemplos.

  • • Corrige errores o typos
  • • Añade ejemplos útiles
  • • Mejora explicaciones existentes

Cómo Reportar Problemas

Cuando encuentres un problema, por favor incluye la siguiente información:

1. Descripción del Problema

Explica claramente qué está mal. Qué esperabas que sucediera vs. qué realmente sucedió?

2. Pasos para Reproducir

Proporciona una lista paso a paso de cómo reproducir el problema:

  1. Ir a...
  2. Hacer clic en...
  3. Escribir...
  4. Ver error...

3. Entorno

Menciona tu configuración:

  • • Versión de html-es: 0.1.5
  • • Versión de Node.js: 18.0.0
  • • Sistema operativo: macOS / Windows / Linux

4. Código de Ejemplo (si aplica)

Si el problema está relacionado con código específico, incluye un ejemplo mínimo que lo reproduzca.

Cómo Enviar Pull Requests

Para contribuir código al proyecto, sigue estos pasos:

1

Fork del Repositorio

Haz un fork del repositorio en GitHub y clónalo a tu máquina local.

git clone https://github.com/tu-usuario/es-html.git cd es-html
2

Crea una Nueva Branch

Crea una branch descriptiva para tus cambios:

git checkout -b feature/nombre-descriptivo # o git checkout -b fix/descripcion-del-bug
3

Configura el Entorno de Desarrollo

Instala las dependencias y configura el proyecto:

# Transpilador (html-es) cd html-es npm install npm run build # Frontend (eshtml) cd ../eshtml npm install npm run dev
4

Realiza tus Cambios

Implementa tus cambios siguiendo las guías de estilo del proyecto:

  • • Escribe código claro y bien comentado
  • • Sigue las convenciones de nombres existentes
  • • Añade tests para nuevas características
  • • Actualiza la documentación si es necesario
5

Ejecuta los Tests

Asegúrate de que todos los tests pasen antes de enviar:

npm test npm run lint
6

Commit y Push

Haz commit de tus cambios con mensajes descriptivos:

git add . git commit -m "feat: descripción clara del cambio" git push origin feature/nombre-descriptivo
7

Abre un Pull Request

Ve a GitHub y crea un pull request desde tu branch. Incluye:

  • • Descripción clara de los cambios
  • • Referencias a issues relacionados
  • • Capturas de pantalla si es visual
  • • Notas sobre cómo probar los cambios

Guías de Estilo de Código

TypeScript

  • • Usa tipos explícitos cuando sea posible
  • • Evita el uso de any
  • • Sigue las convenciones de ESLint configuradas
  • • Documenta funciones públicas con JSDoc

React/Next.js

  • • Usa componentes funcionales con hooks
  • • Nombra componentes con PascalCase
  • • Mantén componentes pequeños y enfocados
  • • Usa TypeScript para props de componentes

Mensajes de Commit

Sigue la convención de Conventional Commits:

feat: añade nueva funcionalidad
fix: corrige bug en transpilador
docs: actualiza documentación
style: mejora formato del código
refactor: refactoriza componente
test: añade tests faltantes

Áreas de Contribución

EsHTML tiene dos áreas principales donde puedes contribuir:

Transpilador (Backend)

El núcleo del proyecto en TypeScript que convierte EsHTML a HTML.

  • • Ubicación: /html-es
  • • Lenguaje: TypeScript
  • • Tests: Jest
  • • Areas: Parser, transpilador, validación

Sitio Web (Frontend)

La plataforma educativa con documentación, playground y tutoriales.

  • • Ubicación: /eshtml
  • • Framework: Next.js + React
  • • Estilos: Tailwind CSS
  • • Areas: UI, docs, ejemplos, playground

Dudas?

Si tienes preguntas sobre cómo contribuir o necesitas ayuda con tu pull request, no dudes en contactar: