 56ea52b743
			
		
	
	56ea52b743
	
	
	
		
			
			- Replace incremental sync with full scan for new repositories - Add initial_scan status to bypass Since parameter filtering - Implement council formation detection for Design Brief issues - Add version display to WHOOSH UI header for debugging - Fix Docker token authentication with trailing newline removal - Add comprehensive council orchestration with Docker Swarm integration - Include BACKBEAT prototype integration for distributed timing - Support council-specific agent roles and deployment strategies - Transition repositories to active status after content discovery Key architectural improvements: - Full scan approach for new project detection vs incremental sync - Council formation triggered by chorus-entrypoint labeled Design Briefs - Proper token handling and authentication for Gitea API calls - Support for both initial discovery and ongoing task monitoring This enables autonomous project kickoff workflows where Design Brief issues automatically trigger formation of specialized agent councils for new projects. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # BACKBEAT prototype Makefile
 | |
| # Provides development and deployment workflows for the BACKBEAT system
 | |
| 
 | |
| # Variables
 | |
| PROJECT_NAME = backbeat
 | |
| DOCKER_REGISTRY = registry.home.deepblack.cloud
 | |
| VERSION ?= v1.0.0
 | |
| CLUSTER_NAME ?= chorus-dev
 | |
| 
 | |
| # Go build variables
 | |
| GOOS ?= linux
 | |
| GOARCH ?= amd64
 | |
| CGO_ENABLED ?= 0
 | |
| 
 | |
| # Build flags
 | |
| LDFLAGS = -w -s -X main.version=$(VERSION)
 | |
| BUILD_FLAGS = -a -installsuffix cgo -ldflags "$(LDFLAGS)"
 | |
| 
 | |
| .PHONY: all build test clean docker docker-push run-dev stop-dev logs fmt vet deps help
 | |
| 
 | |
| # Default target
 | |
| all: build
 | |
| 
 | |
| # Help target
 | |
| help:
 | |
| 	@echo "BACKBEAT prototype Makefile"
 | |
| 	@echo ""
 | |
| 	@echo "Available targets:"
 | |
| 	@echo "  build         - Build all Go binaries"
 | |
| 	@echo "  test          - Run all tests"
 | |
| 	@echo "  clean         - Clean build artifacts"
 | |
| 	@echo "  docker        - Build all Docker images"
 | |
| 	@echo "  docker-push   - Push Docker images to registry"
 | |
| 	@echo "  run-dev       - Start development environment with docker-compose"
 | |
| 	@echo "  stop-dev      - Stop development environment"
 | |
| 	@echo "  logs          - Show logs from development environment"
 | |
| 	@echo "  fmt           - Format Go code"
 | |
| 	@echo "  vet           - Run Go vet"
 | |
| 	@echo "  deps          - Download Go dependencies"
 | |
| 	@echo ""
 | |
| 	@echo "Environment variables:"
 | |
| 	@echo "  VERSION       - Version tag for builds (default: v1.0.0)"
 | |
| 	@echo "  CLUSTER_NAME  - Cluster name for development (default: chorus-dev)"
 | |
| 
 | |
| # Build all binaries
 | |
| build:
 | |
| 	@echo "Building BACKBEAT binaries..."
 | |
| 	@mkdir -p bin/
 | |
| 	GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_FLAGS) -o bin/pulse ./cmd/pulse
 | |
| 	GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_FLAGS) -o bin/reverb ./cmd/reverb
 | |
| 	GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=$(CGO_ENABLED) go build $(BUILD_FLAGS) -o bin/agent-sim ./cmd/agent-sim
 | |
| 	@echo "✓ Binaries built in bin/"
 | |
| 
 | |
| # Run tests
 | |
| test:
 | |
| 	@echo "Running tests..."
 | |
| 	go test -v -race -cover ./...
 | |
| 	@echo "✓ Tests completed"
 | |
| 
 | |
| # Clean build artifacts
 | |
| clean:
 | |
| 	@echo "Cleaning build artifacts..."
 | |
| 	rm -rf bin/
 | |
| 	docker system prune -f --volumes
 | |
| 	@echo "✓ Clean completed"
 | |
| 
 | |
| # Format Go code
 | |
| fmt:
 | |
| 	@echo "Formatting Go code..."
 | |
| 	go fmt ./...
 | |
| 	@echo "✓ Code formatted"
 | |
| 
 | |
| # Run Go vet
 | |
| vet:
 | |
| 	@echo "Running Go vet..."
 | |
| 	go vet ./...
 | |
| 	@echo "✓ Vet completed"
 | |
| 
 | |
| # Download dependencies
 | |
| deps:
 | |
| 	@echo "Downloading dependencies..."
 | |
| 	go mod download
 | |
| 	go mod tidy
 | |
| 	@echo "✓ Dependencies updated"
 | |
| 
 | |
| # Build Docker images
 | |
| docker:
 | |
| 	@echo "Building Docker images..."
 | |
| 	docker build -t $(PROJECT_NAME)-pulse:$(VERSION) --target pulse .
 | |
| 	docker build -t $(PROJECT_NAME)-reverb:$(VERSION) --target reverb .
 | |
| 	docker build -t $(PROJECT_NAME)-agent-sim:$(VERSION) --target agent-sim .
 | |
| 	@echo "✓ Docker images built"
 | |
| 
 | |
| # Tag and push Docker images to registry
 | |
| docker-push: docker
 | |
| 	@echo "Pushing Docker images to $(DOCKER_REGISTRY)..."
 | |
| 	docker tag $(PROJECT_NAME)-pulse:$(VERSION) $(DOCKER_REGISTRY)/$(PROJECT_NAME)-pulse:$(VERSION)
 | |
| 	docker tag $(PROJECT_NAME)-reverb:$(VERSION) $(DOCKER_REGISTRY)/$(PROJECT_NAME)-reverb:$(VERSION)
 | |
| 	docker tag $(PROJECT_NAME)-agent-sim:$(VERSION) $(DOCKER_REGISTRY)/$(PROJECT_NAME)-agent-sim:$(VERSION)
 | |
| 	docker push $(DOCKER_REGISTRY)/$(PROJECT_NAME)-pulse:$(VERSION)
 | |
| 	docker push $(DOCKER_REGISTRY)/$(PROJECT_NAME)-reverb:$(VERSION)
 | |
| 	docker push $(DOCKER_REGISTRY)/$(PROJECT_NAME)-agent-sim:$(VERSION)
 | |
| 	@echo "✓ Docker images pushed"
 | |
| 
 | |
| # Start development environment
 | |
| run-dev:
 | |
| 	@echo "Starting BACKBEAT development environment..."
 | |
| 	docker-compose up -d --build
 | |
| 	@echo "✓ Development environment started"
 | |
| 	@echo ""
 | |
| 	@echo "Services available at:"
 | |
| 	@echo "  - Pulse node 1:    http://localhost:8080"
 | |
| 	@echo "  - Pulse node 2:    http://localhost:8081"
 | |
| 	@echo "  - Reverb service:  http://localhost:8082"
 | |
| 	@echo "  - NATS server:     http://localhost:8222"
 | |
| 	@echo "  - Prometheus:      http://localhost:9090"
 | |
| 	@echo "  - Grafana:         http://localhost:3000 (admin/admin)"
 | |
| 
 | |
| # Stop development environment
 | |
| stop-dev:
 | |
| 	@echo "Stopping BACKBEAT development environment..."
 | |
| 	docker-compose down
 | |
| 	@echo "✓ Development environment stopped"
 | |
| 
 | |
| # Show logs from development environment
 | |
| logs:
 | |
| 	docker-compose logs -f
 | |
| 
 | |
| # Show status of development environment
 | |
| status:
 | |
| 	@echo "BACKBEAT development environment status:"
 | |
| 	@echo ""
 | |
| 	docker-compose ps
 | |
| 	@echo ""
 | |
| 	@echo "Health checks:"
 | |
| 	@curl -s http://localhost:8080/health | jq '.' 2>/dev/null || echo "Pulse-1: Not responding"
 | |
| 	@curl -s http://localhost:8081/health | jq '.' 2>/dev/null || echo "Pulse-2: Not responding" 
 | |
| 	@curl -s http://localhost:8082/health | jq '.' 2>/dev/null || echo "Reverb: Not responding"
 | |
| 
 | |
| # Quick development cycle
 | |
| dev: clean fmt vet test build
 | |
| 	@echo "✓ Development cycle completed"
 | |
| 
 | |
| # Production build
 | |
| production: clean test
 | |
| 	@echo "Building for production..."
 | |
| 	@$(MAKE) build GOOS=linux GOARCH=amd64
 | |
| 	@$(MAKE) docker VERSION=$(VERSION)
 | |
| 	@echo "✓ Production build completed"
 | |
| 
 | |
| # Install development tools
 | |
| install-tools:
 | |
| 	@echo "Installing development tools..."
 | |
| 	go install golang.org/x/tools/cmd/goimports@latest
 | |
| 	go install honnef.co/go/tools/cmd/staticcheck@latest
 | |
| 	@echo "✓ Development tools installed"
 | |
| 
 | |
| # Run static analysis
 | |
| lint:
 | |
| 	@echo "Running static analysis..."
 | |
| 	@command -v staticcheck >/dev/null 2>&1 || { echo "staticcheck not installed. Run 'make install-tools' first."; exit 1; }
 | |
| 	staticcheck ./...
 | |
| 	@echo "✓ Static analysis completed"
 | |
| 
 | |
| # Full CI pipeline
 | |
| ci: deps fmt vet lint test build
 | |
| 	@echo "✓ CI pipeline completed"
 |