¡Gracias por tu interés en contribuir a Meir Consultores de Energía! Este documento proporciona pautas para contribuir al proyecto.
- Código de Conducta
- ¿Cómo Puedo Contribuir?
- Proceso de Desarrollo
- Estándares de Código
- Proceso de Pull Request
- Reportar Bugs
- Sugerir Mejoras
Este proyecto se adhiere a un código de conducta. Al participar, se espera que mantengas este código. Por favor, reporta comportamientos inaceptables a francisco.barrientos@meir.cl.
Comportamientos que contribuyen a crear un ambiente positivo:
- Usar lenguaje acogedor e inclusivo
- Respetar diferentes puntos de vista y experiencias
- Aceptar críticas constructivas con gracia
- Enfocarse en lo que es mejor para la comunidad
- Mostrar empatía hacia otros miembros de la comunidad
Comportamientos inaceptables:
- Uso de lenguaje o imágenes sexualizadas
- Trolling, comentarios insultantes o despectivos
- Acoso público o privado
- Publicar información privada de otros sin permiso
- Otras conductas que puedan considerarse inapropiadas
Los bugs se rastrean como issues de GitHub. Antes de crear un issue:
- Verifica que el bug no haya sido reportado previamente
- Determina en qué repositorio debería crearse el issue
- Recopila información sobre el bug
Crea un issue incluyendo:
- Título claro y descriptivo
- Pasos para reproducir el problema
- Comportamiento esperado vs comportamiento actual
- Capturas de pantalla si es aplicable
- Información del entorno (navegador, OS, versión)
Las sugerencias de mejoras también se rastrean como issues de GitHub.
Crea un issue incluyendo:
- Título claro y descriptivo
- Descripción detallada de la mejora sugerida
- Explicación de por qué esta mejora sería útil
- Ejemplos de cómo funcionaría la mejora
¿No estás seguro por dónde empezar? Busca issues etiquetados como:
good first issue- Issues apropiados para principianteshelp wanted- Issues que necesitan ayuda
# Fork el repositorio en GitHub desde https://github.com/Iyov/Meir.cl
# Luego clona tu fork
git clone https://github.com/tu-usuario/Meir.cl.git
cd meir.cl# Crea una rama desde main
git checkout -b feature/nombre-descriptivoConvención de nombres de ramas:
feature/- Nuevas característicasfix/- Corrección de bugsdocs/- Cambios en documentaciónstyle/- Cambios de formato (no afectan el código)refactor/- Refactorización de códigotest/- Agregar o modificar testschore/- Tareas de mantenimiento
- Escribe código limpio y legible
- Sigue los estándares de código del proyecto
- Comenta tu código cuando sea necesario
- Actualiza la documentación si es necesario
git add .
git commit -m "tipo: descripción breve del cambio"Convención de commits (Conventional Commits):
tipo(alcance opcional): descripción
[cuerpo opcional]
[footer opcional]
Tipos de commit:
feat: Nueva característicafix: Corrección de bugdocs: Cambios en documentaciónstyle: Formato, punto y coma faltantes, etc.refactor: Refactorización de códigotest: Agregar testschore: Tareas de mantenimiento
Ejemplos:
git commit -m "feat: agregar botón de WhatsApp flotante"
git commit -m "fix: corregir validación de formulario"
git commit -m "docs: actualizar README con instrucciones de instalación"git push origin feature/nombre-descriptivoAbre un Pull Request en GitHub con:
- Título descriptivo
- Descripción detallada de los cambios
- Referencias a issues relacionados
- Capturas de pantalla si hay cambios visuales
- Usar HTML5 semántico
- Incluir atributos
alten todas las imágenes - Usar atributos ARIA cuando sea apropiado
- Mantener la indentación consistente (2 espacios)
<!-- ✅ Bueno -->
<section id="about" class="about">
<h2>Quiénes Somos</h2>
<img src="logo.png" alt="Logo de Meir Consultores" />
</section>
<!-- ❌ Malo -->
<div id="about">
<h2>Quiénes Somos</h2>
<img src="logo.png" />
</div>- Usar variables CSS para colores y valores reutilizables
- Seguir metodología BEM para nombres de clases
- Mantener la especificidad baja
- Agrupar propiedades relacionadas
/* ✅ Bueno */
.contact-form {
display: flex;
flex-direction: column;
gap: 1rem;
}
.contact-form__input {
padding: 0.75rem;
border: 1px solid var(--border);
border-radius: 0.25rem;
}
/* ❌ Malo */
.form input {
padding: 12px;
border: 1px solid #ccc;
}- Usar ES6+ features
- Usar
constylet, evitarvar - Nombres descriptivos para variables y funciones
- Comentar código complejo
- Manejar errores apropiadamente
// ✅ Bueno
const initializeContactForm = () => {
const form = document.getElementById('contactForm');
if (!form) {
console.error('Contact form not found');
return;
}
form.addEventListener('submit', handleFormSubmit);
};
// ❌ Malo
function init() {
var f = document.getElementById('contactForm');
f.addEventListener('submit', function(e) {
// código sin manejo de errores
});
}- Seguir pautas WCAG 2.1 Nivel AA
- Usar contraste de color adecuado (mínimo 4.5:1)
- Incluir atributos ARIA cuando sea necesario
- Asegurar navegación por teclado
- Probar con lectores de pantalla
- Optimizar imágenes antes de commit
- Minimizar CSS y JS en producción
- Usar lazy loading para imágenes
- Evitar bloqueo del renderizado
- El código sigue los estándares del proyecto
- Has ejecutado pruebas locales
- Has actualizado la documentación si es necesario
- Tu código no genera nuevas advertencias
- Has agregado tests si es aplicable
- Todos los tests pasan
## Descripción
Breve descripción de los cambios
## Tipo de cambio
- [ ] Bug fix
- [ ] Nueva característica
- [ ] Breaking change
- [ ] Documentación
## ¿Cómo se ha probado?
Describe las pruebas realizadas
## Checklist
- [ ] Mi código sigue los estándares del proyecto
- [ ] He realizado una auto-revisión de mi código
- [ ] He comentado mi código en áreas difíciles de entender
- [ ] He actualizado la documentación
- [ ] Mis cambios no generan nuevas advertencias
- [ ] He agregado tests que prueban mi fix/feature
- [ ] Tests nuevos y existentes pasan localmente- Todos los PRs requieren al menos una revisión aprobatoria
- Los mantenedores pueden solicitar cambios
- Responde a los comentarios de revisión de manera constructiva
- Realiza los cambios solicitados
- Los PRs serán merged por los mantenedores
- Se usará "Squash and merge" para mantener un historial limpio
- La rama será eliminada después del merge
- Actualiza a la última versión
- Busca en issues existentes
- Reproduce el bug de manera consistente
**Descripción del Bug**
Descripción clara y concisa del bug.
**Para Reproducir**
Pasos para reproducir el comportamiento:
1. Ve a '...'
2. Haz clic en '...'
3. Desplázate hasta '...'
4. Ver error
**Comportamiento Esperado**
Descripción clara de lo que esperabas que sucediera.
**Capturas de Pantalla**
Si es aplicable, agrega capturas de pantalla.
**Entorno:**
- OS: [e.g. Windows 10]
- Navegador: [e.g. Chrome 96]
- Versión: [e.g. 1.0.0]
**Contexto Adicional**
Cualquier otra información relevante.**¿Tu solicitud está relacionada con un problema?**
Descripción clara del problema. Ej: Siempre me frustra cuando [...]
**Describe la solución que te gustaría**
Descripción clara de lo que quieres que suceda.
**Describe alternativas que has considerado**
Descripción de soluciones o características alternativas.
**Contexto Adicional**
Cualquier otra información o capturas de pantalla.Si tienes preguntas sobre cómo contribuir, puedes:
- Abrir un issue con la etiqueta
question - Enviar un email a francisco.barrientos@meir.cl
- Contactar en LinkedIn
¡Gracias por contribuir a Meir Consultores de Energía! 🎉