-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
213 lines (170 loc) · 6.27 KB
/
Copy pathMakefile
File metadata and controls
213 lines (170 loc) · 6.27 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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# =============================================================================
# ix-flow Makefile
# =============================================================================
# This Makefile provides backwards compatibility by delegating to pnpm scripts.
# All primary functionality is defined in package.json scripts section.
# Run 'pnpm run' to see all available scripts with descriptions.
# =============================================================================
# =============================================================================
# Core Development
# =============================================================================
.PHONY: build
build:
pnpm run build
.PHONY: test
test:
pnpm run test
.PHONY: test-json
test-json:
pnpm run test:json
.PHONY: lint
lint:
pnpm run lint
.PHONY: format
format:
pnpm run format
.PHONY: format-check
format-check:
pnpm run format:check
.PHONY: clean
clean:
pnpm run clean
# =============================================================================
# Agent-pty evals (drive the REAL claude agent; cost tokens + minutes — opt-in).
# Prereqs: tmux + claude on PATH, a built ../agent-pty, and a built ix-flow.
# =============================================================================
# Usage:
# make evals # canary subset (one per family)
# make evals MODEL=opus REPEATS=2
# make evals-all # full corpus
# make eval FILTER=EV-013 # a single scenario (keeps workdirs)
MODEL ?= sonnet
REPEATS ?= 1
.PHONY: evals
evals:
pnpm --dir ../cli-agent-evals run build
node ../cli-agent-evals/bin/cli-evals.js run --suite ./cli-agent-evals.config.mjs --canary --agent claude --model $(MODEL) --repeats $(REPEATS)
.PHONY: evals-all
evals-all:
pnpm --dir ../cli-agent-evals run build
node ../cli-agent-evals/bin/cli-evals.js run --suite ./cli-agent-evals.config.mjs --all --agent claude --model $(MODEL) --repeats $(REPEATS)
.PHONY: eval
eval:
pnpm --dir ../cli-agent-evals run build
node ../cli-agent-evals/bin/cli-evals.js run --suite ./cli-agent-evals.config.mjs --filter $(FILTER) --agent claude --model $(MODEL) --repeats $(REPEATS) --keep
.PHONY: evals-rebuild
evals-rebuild:
pnpm --dir ../cli-agent-evals run build
node ../cli-agent-evals/bin/cli-evals.js rebuild --suite ./cli-agent-evals.config.mjs --report evals/reports/latest.json
# =============================================================================
# Community install smoke test (clean-room Docker: public npm + agent plugins).
# Verifies an outside developer can `npm i -g @agent-ix/ix-flow` and install the
# plugin into Claude Code, OpenAI Codex, opencode, and GitHub Copilot.
# See smoke/README.md.
# =============================================================================
.PHONY: install-smoke
install-smoke:
./smoke/run.sh
# =============================================================================
# Package Management
# =============================================================================
.PHONY: install
install:
pnpm install
.PHONY: update-lock
update-lock:
pnpm run update-lock
.PHONY: add-packages
add-packages:
@echo "Adding packages: $(PACKAGES)"
pnpm run pkg:add $(PACKAGES)
.PHONY: add-dev-packages
add-dev-packages:
@echo "Adding dev packages: $(PACKAGES)"
pnpm run pkg:add-dev $(PACKAGES)
.PHONY: update-packages
update-packages:
pnpm run pkg:update
.PHONY: update-packages-latest
update-packages-latest:
pnpm run pkg:update-latest
.PHONY: use-local
use-local:
@echo "Switching $(p) to local..."
pnpm run pkg:use-local $(p)
.PHONY: use-upstream
use-upstream:
@echo "Switching $(p) to upstream..."
pnpm run pkg:use-upstream $(p)
.PHONY: refresh-local
refresh-local:
pnpm run pkg:refresh-local
# =============================================================================
# Versioning & Info
# =============================================================================
.PHONY: version
version:
@pnpm run version
.PHONY: info
info:
@pnpm run info
# =============================================================================
# Docker & Publishing
# =============================================================================
.PHONY: docker-build
docker-build:
pnpm run docker:build
.PHONY: tags
tags:
@pnpm run tags
# =============================================================================
# Test Results CLI
# =============================================================================
# Usage: make test-results-summary REPORT=report.json
# make test-results-groups REPORT=report.json
# make test-results-detail REPORT=report.json TEST="test name"
# make test-results-find REPORT=report.json PATTERN="test_"
# make test-results-failed REPORT=report.json
# make test-results-errors REPORT=report.json
# make test-results-warnings REPORT=report.json
REPORT ?= report.json
.PHONY: test-results-summary
test-results-summary:
pnpm run test-results:summary $(REPORT)
.PHONY: test-results-groups
test-results-groups:
pnpm run test-results:groups $(REPORT)
.PHONY: test-results-detail
test-results-detail:
pnpm run test-results:detail $(REPORT) "$(TEST)"
.PHONY: test-results-find
test-results-find:
pnpm run test-results:find $(REPORT) "$(PATTERN)"
.PHONY: test-results-failed
test-results-failed:
pnpm run test-results:failed $(REPORT)
.PHONY: test-results-errors
test-results-errors:
pnpm run test-results:errors $(REPORT)
.PHONY: test-results-warnings
test-results-warnings:
pnpm run test-results:warnings $(REPORT)
# =============================================================================
# Help
# =============================================================================
.PHONY: help
help:
@echo "ix-flow Makefile - Backwards compatibility wrapper"
@echo ""
@echo "This Makefile delegates to pnpm scripts defined in package.json"
@echo "Run 'pnpm run' to see all available scripts"
@echo ""
@echo "Common targets:"
@echo " make build - Build TypeScript"
@echo " make test - Run tests"
@echo " make lint - Run linter"
@echo " make format - Format code"
@echo " make clean - Remove build artifacts"
@echo " make install - Install dependencies"
@echo " make version - Show computed version"
@echo " make info - Show git info"