This repository has been archived by the owner on Feb 1, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathjustfile
76 lines (59 loc) · 1.42 KB
/
justfile
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
# just is a handy way to save and run project-specific commands # https://just.systems/
# List all recipes
default:
@just --list
# Format all Go files
fmt:
go fmt ./...
# Run tests
test:
go test -v ./...
# Run tests with coverage
test-coverage:
go test -v -coverprofile=coverage.out ./...
go tool cover -html=coverage.out -o coverage.html
# Build the project
build:
go build -v ./...
# Build the CLI
build-cli:
go build -v -o bin/evo ./cmd/evo
# Install the CLI to $GOPATH/bin
install: build-cli
go install ./cmd/evo
# Run the main application
run:
go run ./cmd/evo
# Install dependencies
deps:
go mod download
go mod tidy
# Verify dependencies
verify:
go mod verify
# Run linter (requires golangci-lint)
lint:
golangci-lint run
# Clean build artifacts
clean:
go clean
rm -f coverage.out coverage.html
# Update dependencies to latest versions
update-deps:
go get -u ./...
go mod tidy
# Run security check (requires gosec)
security-check:
gosec ./...
# Generate documentation
docs:
godoc -http=:6060
# Create a new release tag
release VERSION:
git tag -a {{VERSION}} -m "Release {{VERSION}}"
git push origin {{VERSION}}
# Install development tools
install-tools:
go install golang.org/x/tools/cmd/godoc@latest
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
go install github.com/securego/gosec/v2/cmd/gosec@latest