Contribuir

Contribuir a SSH-Frontière

Las contribuciones son bienvenidas, incluidas las contribuciones asistidas o generadas por inteligencia artificial. SSH-Frontière se desarrolla con agentes Claude Code.

Antes de comenzar

Abra un issue para discutir el cambio propuesto. Esto evita trabajo innecesario y permite validar el enfoque.

Proceso

1. Issue       -> discutir el cambio
2. Fork        -> git checkout -b feature/mi-contribucion
3. TDD         -> RED (test que falla) -> GREEN (codigo minimo) -> refactorizar
4. Verificar   -> make lint && make test && make audit
5. Pull request -> describir, referenciar el issue, CI verde

Requisitos de calidad

SSH-Frontière es un componente de seguridad. Los requisitos son estrictos:

ReglaDetalle
Cobertura de tests90% minimo para el codigo anadido
Sin unwrap()Usar expect() con // INVARIANT: o ? / map_err()
Sin unsafeProhibido por #[deny(unsafe_code)]
800 lineas maxPor archivo fuente
60 lineas maxPor funcion
Formateocargo fmt obligatorio
Lintscargo clippy -- -D warnings (pedantic)

Dependencias

Cero dependencias no vitales. Antes de proponer una nueva dependencia:

  1. Verifique que la stdlib de Rust no cubre la necesidad
  2. Evalue con la matriz de dependencias (puntuacion minima 3.5/5)
  3. Documente la evaluacion en docs/searches/

Dependencias autorizadas actualmente: serde, serde_json, toml.

Convenciones de commit

Mensajes en ingles, formato type(scope): description:

Tipos: feat, fix, refactor, test, docs.

Contribuciones IA

Las contribuciones generadas por IA se aceptan en las mismas condiciones que las contribuciones humanas:

Seguridad

Reportar una vulnerabilidad

No reporte vulnerabilidades a traves de los issues publicos. Contacte directamente al mantenedor para una divulgacion responsable.

Revision reforzada

Las PR que afectan a estos archivos se someten a una revision de seguridad reforzada:

Buenas primeras contribuciones

Licencia

SSH-Frontière se distribuye bajo EUPL-1.2. Al enviar una pull request, acepta que su contribucion se distribuya bajo los terminos de esta licencia.

Para los detalles completos, consulte el archivo CONTRIBUTING.md en el repositorio.