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 run
y 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.