Guía de contribución — Shell Sentinel
Este resumen sintetiza las políticas internas que rigen la colaboración en Shell Sentinel: estructura del proyecto, estándares de documentación y mantenimiento de la experiencia web. Cualquier contribución debe seguir estas pautas para proteger la coherencia del producto.
Principios generales
- Aplicación orientada a terminal con sesiones SSH/SFTP persistentes y un asistente IA conversacional.
- Ecosistema en Python 3.10+, TUI con Textual, agentes Strands y herramientas MCP como Firecrawl.
- El trabajo diario se apoya en `make install`, `make format`, `make lint`, `make test` y `make run`.
Configuración y contenido
- Toda configuración vive en
conf/(evita hardcodear valores en el código). - Nuevas cadenas deben añadirse en
conf/locales/y utilizar_("clave")al referenciarlas. - El manual de usuario debe mantenerse en EN/ES/DE siempre que cambie un flujo.
- Documenta los proveedores personalizados en la guía técnica correspondiente y enlázalos desde la web.
Plugins y extensibilidad
- Los plugins se cargan desde
plugins/; cada uno debe registrar comandos, traducciones y documentación local. - No mezcles la documentación específica de un plugin con los manuales generales.
- Respetar los prompts sistema y evitar duplicar conexiones SSH/SFTP fuera de las tools oficiales.
Política de documentación web
- La web en
website/es parte integral del producto y debe reflejar cada cambio funcional o narrativo. - Cuando se actualicen manuales, comandos o proveedores, sincroniza el contenido del sitio (secciones, tarjetas, enlaces y traducciones).
- Los manuales en línea usan las páginas HTML de
website/manuals/; duplica cambios relevantes desdedocs/.
Flujo recomendado
- Activar entorno virtual (
source .venv/bin/activate). - Instalar dependencias (
make install). - Tras cambios:
make format,make lint,make test(si aplica). - Validar la TUI con
make runy la web conmake website-serve.
Consulta el portal interno de políticas para mayor detalle. Tras cada contribución, verifica que web, manuales y repositorio permanezcan coherentes.