Contribuir
Contribuir a Soundsible
Gracias por su interés en contribuir: cada informe de error, idea y pull request ayuda.
Requisitos previos
- Python 3.10+, git, FFmpeg
- Node.js 20+ y npm: necesarios para crear o desarrollar el reproductor SolidJS en
ui_web/(el paquete de producción enui_web/dist/no se incluye en el repositorio)
Cómo empezar
-
Crear un fork y clonar
git clone https://github.com/Arzuparreta/soundsible.git cd soundsible -
Entorno Python
Deje que
run.pyinicie el venv en el primer lanzamiento o créelo manualmente:python3 -m venv venv ./venv/bin/pip install -r requirements.txt -
Dependencias del reproductor web (una sola vez). El motor reconstruye
ui_web/distautomáticamente cuando cambian las fuentes.cd ui_web && npm ci && cd ..O compilar explícitamente:
python3 scripts/ensure_ui_dist.py --force -
Ejecutar pruebas
PYTHONPATH=. ./venv/bin/python -m pytest tests/ -qPruebas unitarias de front-end:
cd ui_web && npm test -
Ejecute la aplicación en desarrollo
Lanzador (panel de control del navegador):
./venv/bin/python start_launcher.pyAbra
http://localhost:5099y haga clic en Iniciar. Solo configuración por primera vez:python3 run.py --setup.Menú terminal:
python3 run.py # choose "Start Station Engine & Open Station"Dirección del reproductor:
http://localhost:5005/player/(predeterminado) yhttp://localhost:5005/player/desktop/(arranque del shell de escritorio).
Desarrollo front-end
Con Station Engine ejecutándose en el puerto 5005:
cd ui_web
npm install # or npm ci
npm run dev
Abra http://localhost:5173/player/: Vite redirige /api y /socket.io en el motor. Consulte ui_web/README.md para obtener detalles de compilación y verificación.
Informar errores y solicitar funciones
- Utiliza las incidencias de GitHub.
- Al informar un error, incluya:
- SO, versión Python, versión Node.js (si está relacionado con el frontend).
- Cómo instaló e inició Soundsible.
- Lo que esperabas vs lo que pasó.
- Cualquier registro o seguimiento de pila relevante.
Enviar pull requests
- Cree una rama de funciones desde
main. Todo llega amaina través de una pull request; no se hacen commits directamente en esa rama. - Haga cambios pequeños y enfocados.
- Agregue o actualice pruebas al tocar la lógica no trivial:
- Python:
PYTHONPATH=. ./venv/bin/python -m pytest tests/ -q - Interfaz:
cd ui_web && npm test
- Python:
- Ejecute la aplicación localmente para verificar los flujos principales (inicio, reproducción de música, navegación básica).
- Abra un PR contra
main, con una descripción clara de lo que cambió y por qué. CI se ejecuta en la pull request, así que deje que finalicen las comprobaciones antes de solicitar una revisión.
Estilo de código
- Usa patrones modernos de Python (3.10+).
- Utilice nombres descriptivos y mantenga las funciones enfocadas.
- Haga coincidir el estilo existente de los archivos que toque.