Social Bot Scheduler

🤝 Guía de Contribución#

¡Gracias por tu interés en fortalecer el Social Bot Scheduler! Este proyecto es un laboratorio de ingeniería y agradecemos cualquier mejora que ayude a la comunidad a dominar la orquestación de sistemas políglotas.


🚀 ¿Cómo puedes contribuir?#

1. 🐞 Reportar Errores (Bugs)#

Si encuentras un fallo técnico, por favor abre un Issue con:

  • 🎯 Comportamiento Esperado: Qué debería haber pasado.
  • ❌ Comportamiento Actual: Qué sucedió realmente.
  • 🛠️ Pasos para Reproducir: Comandos o acciones que provocan el error.

2. 💡 Proponer Mejoras#

¿Tienes una idea para un nuevo "Eje Tecnológico" o un motor de base de datos? Abre una propuesta con la etiqueta enhancement. Nos encantan los desafíos multi-stack.

3. 📥 Enviar Pull Requests#

  1. Haz un Fork de este repositorio.
  2. Crea una rama para tu mejora: git checkout -b feature/nueva-mejora.
  3. Realiza tus cambios asegurándote de seguir los estándares del proyecto.
  4. Envía un Pull Request detallando el impacto técnico de tu cambio.

📏 Estándares del Laboratorio#

  • 📄 Documentación: Todo caso de uso nuevo debe incluir su propio README.md con la matriz tecnológica correspondiente.
  • 🐳 Docker-First: Cualquier servicio de destino debe ser fácilmente desplegable mediante contenedores.
  • 🧩 Simplicidad Industrial: El código debe ser legible para principiantes, pero seguir patrones de diseño profesionales (Mediator, Circuit Breaker, etc.).
  • 🧪 Validación: Asegúrate de que hub.py doctor pase sin errores tras tus cambios.
  • 🔒 Seguridad: Ejecuta python scripts/check_runtime_security.py antes de hacer push para verificar que no hay tags :latest, puertos mal bindeados o secretos expuestos.
  • 📝 Line endings: El repositorio usa .gitattributes para forzar LF en scripts shell y archivos de código. Si contribuyes desde Windows, configura tu editor para respetar estos ajustes. Nunca edites scripts .sh con CRLF — fallarán dentro de los contenedores Linux con el error bad interpreter.
  • 🛡️ Headers: Si añades un nuevo servicio web Apache, monta apache/security-headers.conf en /etc/apache2/conf-enabled/ e incluye command: sh -c "a2enmod headers && apache2-foreground" en el Compose.

🛤️ Ciclo de Desarrollo#

Seguimos un flujo de trabajo simplificado basado en GitFlow. La rama main es el estándar de estabilidad del laboratorio.


¡Construyamos juntos el futuro de la automatización agnóstica!