Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
161 lines (120 loc) · 4.63 KB
/
Copy pathMakefile
File metadata and controls
161 lines (120 loc) · 4.63 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
.PHONY: help build build-meta build-windows run test test-unit test-int test-docker test-docker-online test-redteam test-redteam-signal test-redteam-rules-signal playground playground-down devc devc-up devc-down devc-restart devc-reset devc-status dev-docker dev-docker-down docker-build docker-build-multiarch lint fmt fmt-check check install clean ui-install ui-build ui-dev build-all verify verify-shell verify-down verify-status verify-reset
help:
@echo "Common tasks:"
@echo " make build # build binary"
@echo " make run # run local binary help"
@echo " make test # unit + integration tests"
@echo " make test-unit # unit tests only"
@echo " make test-int # integration tests only"
@echo " make test-docker # docker offline sandbox (build + unit + integration)"
@echo " make test-docker-online # docker online install/update tests"
@echo " make test-redteam # red team supply-chain security tests"
@echo " make test-redteam-signal # verify red team test fails on intentional mutation"
@echo " make test-redteam-rules-signal # verify red team test fails when critical builtin rules are disabled"
@echo " make playground # start playground + enter shell (one step)"
@echo " make playground-down # stop and remove playground"
@echo " make devc # start devcontainer + enter shell (one step)"
@echo " make devc-up # start devcontainer (no shell)"
@echo " make devc-down # stop devcontainer"
@echo " make devc-restart # restart devcontainer"
@echo " make devc-reset # full reset (remove volumes)"
@echo " make devc-status # show devcontainer status"
@echo " make verify # host verify env: real AI CLIs, throwaway config"
@echo " make verify-shell # enter the verify env shell"
@echo " make verify-down # stop the verify dashboard"
@echo " make verify-status # show verify env paths and state"
@echo " make verify-reset # delete the throwaway HOME"
@echo " make lint # go vet"
@echo " make fmt # format Go files"
@echo " make check # fmt-check + lint + test"
@echo " make ui-dev # Go API server + Vite dev server (requires local Go)"
@echo " make dev-docker # Go API in Docker + auto-rebuild (pair with: cd ui && pnpm run dev)"
@echo " make dev-docker-down # stop dev Docker container"
@echo " make build-all # ui-build + build"
@echo " make clean # remove build artifacts"
@echo ""
@echo "Advanced (run scripts directly):"
@echo " ./scripts/sandbox.sh <up|down|shell|reset|status|logs|bare>"
@echo " ./scripts/test.sh --cover"
@echo " ./scripts/test_install.sh"
@echo " docker compose -f docker-compose.sandbox.yml --profile dev up -d # start without watch"
BINARY ?= bin/skillshare
build:
mkdir -p $(dir $(BINARY)) && go build -o $(BINARY) ./cmd/skillshare
build-meta:
./scripts/build.sh
build-windows:
./scripts/build-windows.sh $(SHARED)
run: build
$(BINARY) --help
test:
./scripts/test.sh
test-unit:
./scripts/test.sh --unit
test-int:
./scripts/test.sh --int
test-docker:
./scripts/test_docker.sh
test-docker-online:
./scripts/test_docker_online.sh
test-redteam: build
./scripts/red_team_test.sh
test-redteam-signal:
./scripts/test_redteam_signal.sh
test-redteam-rules-signal:
./scripts/test_redteam_rules_signal.sh
playground:
./scripts/sandbox_playground_up.sh
./scripts/sandbox_playground_shell.sh
playground-down:
./scripts/sandbox_playground_down.sh
devc:
./scripts/devc.sh up && ./scripts/devc.sh shell
devc-up:
./scripts/devc.sh up
devc-down:
./scripts/devc.sh down
devc-restart:
./scripts/devc.sh restart
devc-reset:
./scripts/devc.sh reset
devc-status:
./scripts/devc.sh status
verify:
./scripts/verify.sh up
verify-shell:
./scripts/verify.sh shell
verify-down:
./scripts/verify.sh down
verify-status:
./scripts/verify.sh status
verify-reset:
./scripts/verify.sh reset
dev-docker:
docker compose -f docker-compose.sandbox.yml --profile dev watch
dev-docker-down:
docker compose -f docker-compose.sandbox.yml --profile dev down
docker-build:
docker build -f docker/production/Dockerfile -t skillshare .
docker-build-multiarch:
docker buildx build --platform linux/amd64,linux/arm64 -f docker/production/Dockerfile -t skillshare .
lint:
go vet ./...
fmt:
gofmt -w ./cmd ./internal ./tests
fmt-check:
test -z "$$(gofmt -l ./cmd ./internal ./tests)"
check: fmt-check lint test
install:
go install ./cmd/skillshare
ui-install:
cd ui && pnpm install
ui-build: ui-install
cd ui && pnpm run build
ui-dev:
@trap 'kill 0' EXIT; \
air & \
cd ui && pnpm run dev
build-all: ui-build build
clean:
rm -rf bin $(BINARY) coverage.out