Gracias por tu interés en contribuir a OTManager.Wapi. Este documento proporciona las pautas esenciales para colaborar en este proyecto de software libre. Para evitar duplicar información, las secciones sobre seguridad y conducta se encuentran en SECURITY.md y Code_Of_Conduct.md respectivamente.
- Resumen
OTManager.Wapi es un proyecto en .NET 9 (API y Blazor) que utiliza Entity Framework Core para persistencia. Intentamos mantener contribuciones claras, probadas y acordes con las reglas de estilo del proyecto.
- Código de conducta
Revisa Code_Of_Conduct.md para las normas de comportamiento y cómo reportar incumplimientos.
- Cómo reportar un bug
- Abre una Issue nueva usando la plantilla "Bug report" (usa 'New issue' -> seleccionar plantilla).
- Incluye pasos para reproducir, comportamiento esperado, comportamiento real, versión de .NET (debe ser .NET 9), sistema operativo, y logs relevantes.
- Cómo proponer una característica
- Abre una Issue usando la plantilla "Feature request" describiendo el caso de uso y la solución propuesta.
- Flujo de trabajo para contribuir (fork & PR)
-
Haz fork del repositorio y clona tu fork:
git clone https://github.com/tu-usuario/OTManager.Wapi.git cd OTManager.Wapi -
Crea una rama para tu trabajo (nombres sugeridos):
- feature/
- fix/
- docs/
git checkout -b feature/mi-nueva-funcionalidad
-
Asegúrate de que tu rama esté actualizada con la rama principal upstream:
git remote add upstream https://github.com/organizacion/OTManager.Wapi.git git fetch upstream git rebase upstream/main
-
Realiza cambios pequeños y con commits atómicos.
-
Ejecuta pruebas y formatea el código (ver sección herramientas).
-
Publica tu rama y abre un Pull Request usando la plantilla PR disponible.
-
Requisitos y herramientas para el desarrollo
- .NET 9 SDK instalado
- SQL Server (o proveedor EF Core compatible) para ejecutar migraciones locales
- dotnet-ef (si trabajas con migraciones):
dotnet tool install --global dotnet-ef
- Ejecutar el proyecto localmente
- Restaurar dependencias:
dotnet restore
- Aplicar migraciones (si corresponde):
dotnet ef database update --project src/OTManager.Data/OTManager.Data.csproj --startup-project src/OTManager.Api/OTManager.Api.csproj
- Ejecutar la API y la UI:
dotnet run --project src/OTManager.Api/OTManager.Api.csproj dotnet run --project src/OTManager.Web/OTManager.Web.csproj
- Estilo de código y linters
- Sigue las reglas de C# y .editorconfig del repositorio (si existe).
- Usa dotnet format para formatear tu código antes de subirlo:
dotnet tool restore dotnet format
- Pruebas
- Añade/actualiza pruebas unitarias para cualquier cambio en la lógica de negocio.
- Ejecuta todas las pruebas antes de abrir PR:
dotnet test
- Convenciones de commits
Usa mensajes claros y preferiblemente el estándar "Conventional Commits":
- feat: Nueva funcionalidad
- fix: Corrección de bug
- docs: Cambios en documentación
- style: Formateo, espacios, punto y coma
- refactor: Refactorización sin cambiar comportamiento
- test: Añadir/ajustar pruebas
- chore: Cambios en build o herramientas
- Proceso de Pull Request
- Crea PR contra la rama main (o la rama de desarrollo si el proyecto la usa).
- Usa la plantilla de PR ubicada en
.github/PULL_REQUEST_TEMPLATE.md. - Describe qué hace el cambio, por qué es necesario y cómo probarlo.
Checklist sugerida para PRs (ver plantilla):
- El código compila y pasa las pruebas locales
- Agregado/actualizado tests
- Documentación actualizada si aplica
- Se formateó el código
- No incluye secretos en el commit
- Seguridad
Revisa SECURITY.md para el proceso de reporte de vulnerabilidades y prácticas de seguridad.
- Contacto
Si tienes dudas sobre cómo contribuir, abre una Issue etiquetada como "help wanted" o contacta a los mantenedores.