-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
85 lines (71 loc) · 2.09 KB
/
Copy pathMakefile
File metadata and controls
85 lines (71 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
.PHONY: build test clean run-srv run-client generate proto-gen help
# Default target
help:
@echo "Available targets:"
@echo " build - Build all binaries"
@echo " test - Run all tests"
@echo " clean - Clean build artifacts"
@echo " run-srv - Run the agent assistant server"
@echo " generate - Generate protobuf code"
@echo " proto-gen - Alias for generate"
@echo " help - Show this help message"
# Build all binaries
build:
@mkdir -p bin/
@echo "Building agent assistant server..."
go build -o bin/agentassistant-srv ./cmd/agentassistant-srv
@echo "Building agent assistant MCP..."
go build -o bin/agentassistant-mcp ./cmd/agentassistant-mcp
@echo "Building agent assistant input..."
go build -o bin/agentassistant-input ./cmd/agentassistant-input
@echo "Build complete!"
# Run tests
test:
@echo "Running tests..."
go test -v ./internal/service
go test -v ./...
# Clean build artifacts
clean:
@echo "Cleaning build artifacts..."
rm -rf bin/
go clean
# Run the server
run-srv:
@echo "Starting Agent Assistant server..."
go run ./cmd/agentassistant-srv
# Generate protobuf code
generate: proto-gen
proto-gen:
@echo "Generating protobuf code..."
protoc -Iproto --go_out=paths=source_relative:./agentassistproto --connect-go_out=paths=source_relative:./agentassistproto --connect-go_opt=package_suffix="" proto/agentassist.proto
#cd web and call protogen
cd web && pnpm run proto:gen
cd -
#cd flutter client
cd flutterclient && ./generate_proto.sh
cd -
@echo "Protobuf generation complete!"
# Install dependencies
deps:
@echo "Installing dependencies..."
go mod tidy
go mod download
# Format code
fmt:
@echo "Formatting code..."
go fmt ./...
# Lint code
lint:
@echo "Linting code..."
golangci-lint run
# Run server in development mode with auto-restart
dev:
@echo "Starting development server..."
@which air > /dev/null || (echo "Installing air..." && go install github.com/cosmtrek/air@latest)
air -c .air.toml
# Create directories
dirs:
mkdir -p bin/
# Full build pipeline
all: clean deps generate fmt test build
@echo "Full build pipeline complete!"