Instalación para Desarrollo Local Bare-Metal¶
Esta guía explica cómo compilar y ejecutar Bruce directamente en tu estación de trabajo sin necesidad de Docker.
1. Requisitos Previos¶
1. Entorno de Go¶
- Go 1.23 o superior es necesario:
2. Compilador de C (CGO Requerido)¶
Bruce utiliza mattn/go-sqlite3, que requiere CGO para compilar SQLite:
- macOS: Instala las herramientas de línea de comandos de Xcode:
build-essential:
- Linux (Fedora/RHEL):
3. Instancia de Redis¶
Bruce requiere Redis para gestionar las colas de Asynq: - macOS (Homebrew):
- Linux: - Con Docker (Alternativa):2. Compilación y Ejecución¶
-
Clonar el repositorio:
-
Configurar
Asegúrate de queconfig.yml:redis.addrapunte alocalhost:6379: -
Ejecutar directamente con
go run: -
O compilar el binario:
-
Verificar: Abre
http://localhost:8080en tu navegador.
3. Ejecución de Pruebas¶
# Ejecutar todas las pruebas unitarias y de integración
go test -v ./...
# Pruebas con detector de condiciones de carrera (race conditions)
CGO_ENABLED=1 go test -race ./...
# Análisis estático
go vet ./...
4. Desarrollo Frontend¶
La interfaz web de Bruce utiliza JavaScript Vanilla, CSS y HTML integrados directamente en el binario de Go:
- Los recursos frontend se encuentran en web/public/.
- No requiere Node.js para compilar ni empaquetadores como Webpack o Vite.
- Al editar cualquier archivo en web/public/, reinicia go run cmd/bruce/main.go para volver a embutir los recursos.
Opcional: Pruebas E2E con Playwright¶
Para ejecutar las pruebas automatizadas del navegador: