Skip to content

Latest commit

 

History

History
120 lines (104 loc) · 4.31 KB

File metadata and controls

120 lines (104 loc) · 4.31 KB

CONTRIBUTING

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.

  1. 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.

  1. Código de conducta

Revisa Code_Of_Conduct.md para las normas de comportamiento y cómo reportar incumplimientos.

  1. 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.
  1. Cómo proponer una característica

  • Abre una Issue usando la plantilla "Feature request" describiendo el caso de uso y la solución propuesta.
  1. Flujo de trabajo para contribuir (fork & PR)

  1. Haz fork del repositorio y clona tu fork:

    git clone https://github.com/tu-usuario/OTManager.Wapi.git
    cd OTManager.Wapi
  2. Crea una rama para tu trabajo (nombres sugeridos):

    • feature/
    • fix/
    • docs/
    git checkout -b feature/mi-nueva-funcionalidad
  3. 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
  4. Realiza cambios pequeños y con commits atómicos.

  5. Ejecuta pruebas y formatea el código (ver sección herramientas).

  6. Publica tu rama y abre un Pull Request usando la plantilla PR disponible.

  7. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. Seguridad

Revisa SECURITY.md para el proceso de reporte de vulnerabilidades y prácticas de seguridad.

  1. Contacto

Si tienes dudas sobre cómo contribuir, abre una Issue etiquetada como "help wanted" o contacta a los mantenedores.