¡Gracias por tu interés en contribuir! Este documento proporciona directrices e instrucciones para contribuir a este proyecto.
- Sé respetuoso y profesional
- Bienvenido a personas de todos los orígenes
- Enfócate en lo que es mejor para el proyecto
- Reporta el acoso a los mantenedores
¿Encontraste un bug? ¡Por favor abre un issue!
- Verifica si el bug ya ha sido reportado
- Incluye pasos para reproducir
- Describe el comportamiento esperado vs el actual
- Incluye información de tu entorno (OS, versión de Node, etc.)
¿Tienes una idea? ¡Nos encantaría escucharla!
- Verifica si ya ha sido sugerida
- Describe el caso de uso
- Explica cómo beneficiará a los usuarios
- Proporciona ejemplos si es posible
¡Las mejoras de documentación siempre son bienvenidas!
- Corrige errores tipográficos
- Aclara explicaciones
- Agrega ejemplos
- Mejora el formato
-
Haz fork del repositorio
# Haz clic en "Fork" en GitHub -
Clona tu fork
git clone https://github.com/tunombre/github-repo-analyzer.git cd github-repo-analyzer -
Crea una rama
git checkout -b feature/nombre-de-tu-caracteristica # o git checkout -b fix/tu-bug-fix -
Instala dependencias
npm install
-
Realiza tus cambios
- Escribe tu código
- Sigue el estilo de código existente
- Agrega comentarios para lógica compleja
-
Prueba tus cambios
npm run lint npm run type-check npm run build npm run dev
-
Confirma tus cambios
git add . git commit -m "Descripción de los cambios"
-
Sube a tu fork
git push origin feature/nombre-de-tu-caracteristica
-
Crea un Pull Request
- Ve a GitHub y haz clic en "New Pull Request"
- Describe tus cambios
- Referencia cualquier issue relacionado
- Espera la revisión
- Usa TypeScript para todo el código nuevo
- Define tipos e interfaces adecuados
- Evita el tipo
anya menos que sea necesario - Usa modo estricto
- Usa componentes funcionales con hooks
- Usa la directiva
'use client'para componentes del cliente - Mantén los componentes enfocados y reutilizables
- Agrega tipado adecuado de props
src/
├── components/ - Componentes React
│ └── ComponentName/
│ └── index.tsx
├── lib/ - Funciones de utilidad y llamadas API
├── types/ - Definiciones de tipos TypeScript
└── app/ - Páginas de Next.js
- Componentes: PascalCase (ej:
ChatComponent) - Archivos: kebab-case para utilidades, PascalCase para componentes
- Funciones: camelCase (ej:
getRepositoryInfo) - Constantes: UPPER_SNAKE_CASE (ej:
API_KEY)
- Indentación de 2 espacios
- Usa comillas simples para strings
- Usa nombres de variables descriptivos
- Mantén funciones pequeñas y enfocadas
- Agrega comentarios para lógica compleja
'use client';
import { useState } from 'react';
import { MyType } from '@/types';
interface MyComponentProps {
title: string;
onSubmit: (data: MyType) => void;
}
export default function MyComponent({
title,
onSubmit,
}: MyComponentProps) {
const [state, setState] = useState('');
const handleClick = () => {
// Implementación
};
return (
<div className="flex flex-col gap-4">
<h1>{title}</h1>
<button onClick={handleClick}>Enviar</button>
</div>
);
}Aunque aún no tenemos pruebas automatizadas, por favor:
- Prueba tus cambios localmente
- Prueba con diferentes repositorios
- Prueba casos de error
- Verifica la compilación de TypeScript:
npm run type-check - Ejecuta linter:
npm run lint
- Actualiza documentación si es necesario
- Sigue la plantilla de PR (si se proporciona)
- Mantén PRs enfocados en una sola característica/fix
- Proporciona contexto sobre por qué se necesita el cambio
- Sé responsivo a la retroalimentación
feat: Agregar descripción de característicafix: Corregir descripción de bugdocs: Actualizar documentaciónstyle: Cambios de formato o estilorefactor: Refactorización de código
## Descripción
Descripción breve de cambios
## Issues Relacionados
Corrige #123
## Cambios Realizados
- Cambio 1
- Cambio 2
## Pruebas Realizadas
¿Cómo probaste esto?
## Capturas de pantalla (si aplicable)
Agrega capturas de pantalla para cambios en UI# Actualiza tu fork con la rama main
git fetch upstream
git rebase upstream/main
# Realiza cambios y confirma
git commit -m "feat: Agregar nueva característica"
# Sube a tu fork
git push origin feature/tu-caracteristica
# Crea PR en GitHub- Minimiza llamadas a API
- Usa caché cuando sea apropiado
- Optimiza renderización de componentes
- Carga componentes perezosamente si es necesario
- Usa HTML semántico
- Incluye texto alternativo para imágenes
- Asegúrate de que la navegación por teclado funcione
- Prueba con lectores de pantalla
- Mantén README.md actualizado
- Documenta nuevas funciones en comentarios de código
- Actualiza QUICK_START.md si el flujo de trabajo cambia
- Agrega ejemplos si es aplicable
Familiarízate con:
src/app/- Páginas del enrutador de aplicaciones de Next.jssrc/components/- Componentes Reactsrc/lib/- Funciones de utilidadsrc/types/- Definiciones de tipos TypeScript
- Crea carpeta:
src/components/ComponentName/ - Crea archivo:
src/components/ComponentName/index.tsx - Agrega tipos TypeScript adecuados
- Usa
'use client'si es necesario - Exporta el componente
- Crea/actualiza archivo en
src/lib/ - Define tipos en
src/types/ - Agrega manejo de errores
- Documenta parámetros y tipo de retorno
- Prueba con llamadas API reales
- Crea archivo en
src/app/page-name/page.tsx - Usa diseño apropiado
- Sigue convenciones de Next.js
- Agrega metadatos/SEO apropiados
- Verifica issues y PRs existentes
- Pregunta en comentarios de issue/PR
- Discute ideas antes de cambios mayores
- Revisa código existente para convenciones
Los contribuidores serán:
- Listados en README.md (si lo desean)
- Acreditados en mensajes de commit
- Reconocidos por contribuciones significativas
Al contribuir, aceptas que tus contribuciones serán licenciadas bajo la Licencia MIT.
Siéntete libre de:
- Abrir un issue para preguntas
- Iniciar una discusión
- Comentar en issues relacionados
- Preguntar en pull requests
¡Gracias por contribuir! 🙌