Las contribuciones a Bedrud son bienvenidas. Esta guía describe el proceso para enviar cambios.
Nota: La guía de contribución oficial se encuentra en la raíz del repositorio: CONTRIBUTING.md. Esta página se conserva únicamente como referencia.
Primeros pasos
- Haz un fork del repositorio
- Clona tu fork
- Crea una rama de feature desde
main - Realiza tus cambios
- Envía un pull request
Requisitos previos
- Go 1.22+
- Bun (para el frontend web)
- Rust (para la app de escritorio)
- Make
- Git
Configuración del entorno de desarrollo
# After forking on GitHub, clone tu fork
git clone https://github.com/<tu-usuario>/bedrud.git
cd bedrud
make init
make devConsulta el Flujo de trabajo de desarrollo para obtener instrucciones detalladas de configuración.
Estructura del proyecto
| Directorio | Lenguaje | Descripción |
|---|---|---|
server/ | Go | API del backend y LiveKit integrado |
apps/web/ | TypeScript/React | Frontend web |
apps/desktop/ | Rust + Slint | App de escritorio |
apps/android/ | Kotlin | App de Android |
apps/ios/ | Swift | App de iOS |
agents/ | Python | Agentes bot |
packages/ | TypeScript | Definiciones de tipos compartidos |
tools/cli/ | Python | CLI de despliegue |
docs/ | Markdown | Documentación |
Estilo de código
| Lenguaje | Estándar |
|---|---|
| Go | gofmt |
| TypeScript/React | Biome |
| Kotlin | Valores por defecto de Android Studio |
| Swift | Valores por defecto de Xcode |
| Python | ruff |
Proceso de pull request
- Nomenclatura de ramas:
feature/descripción,fix/descripciónodocs/descripción - Mensajes de commit:
<acción> <qué> por <por qué>(p.ej.,add user model for auth feature,fix login redirect for expired sessions) - Verificaciones de CI: Todas las verificaciones de GitHub Actions deben pasar
- Descripción: Incluye qué cambió y por qué
Verificaciones de CI
Cada PR ejecuta estas verificaciones automáticamente:
| Verificación | Qué valida |
|---|---|
| Server | go vet, compilación, tests |
| Web | Verificación de tipos TypeScript, build |
| Android | Lint, tests unitarios |
| iOS | Compilación, test (simulador) |
Reportar problemas
Abre issues en GitHub Issues incluyendo:
- Pasos para reproducir
- Comportamiento esperado vs. comportamiento real
- Detalles del entorno (SO, navegador, versión de la app)
Documentación
La documentación se encuentra en docs/ y se genera con MkDocs Material.
Vista previa local
pip install mkdocs-material
mkdocs serveLuego abre http://localhost:8000 en tu navegador.
Estructura
Las páginas de documentación se organizan por tema. La navegación se define en mkdocs.yml en la raíz del proyecto.
Licencia
Al contribuir, aceptas que tus contribuciones se licenciarán bajo la Licencia Apache 2.0.