Gracias por contribuir a DNSpect.
- Haz fork y crea una rama descriptiva (
feat/...,fix/...,docs/...). - Ejecuta los controles de calidad locales antes de abrir el PR:
- Backend:
ruff check . && ruff format --check . && black --check . && mypy && bandit -q -c pyproject.toml -r app && pytest -q - Backend (SAST adicional):
make backend-semgrep - Frontend:
npm run lint && npm run typecheck && npm run build
- Backend:
- Escribe cambios pequeños y enfocados.
- Actualiza documentación y tests cuando aplique.
- Abre PR con descripción clara, motivación y evidencia de pruebas.
- Linux/macOS:
scripts/dev.sh - Windows:
scripts/dev.ps1
- El cambio resuelve un problema real y está acotado.
- No hay
shell=Trueni ejecución arbitraria. - Validaciones de entrada se mantienen estrictas.
- Tests y checks pasan localmente.
- README/docs actualizados si cambió comportamiento.
- No se añadieron secretos, telemetría o dependencias cloud no solicitadas.