@walwal-harness/cli 5.9.1 → 5.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/scripts/harness-gotcha-memory.sh +10 -2
- package/scripts/harness-tmux.sh +32 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walwal-harness/cli",
|
|
3
|
-
"version": "5.9.
|
|
3
|
+
"version": "5.9.3",
|
|
4
4
|
"description": "Production harness for AI agent engineering — Solo/Team mode, Planner, Generator(BE/FE), Evaluator chain (Code-Quality → Functional → Visual), optional Brainstormer. Supports React, Next.js, and Flutter FE stacks.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"walwal-harness": "bin/init.js"
|
|
@@ -54,7 +54,12 @@ RESET="\033[0m"
|
|
|
54
54
|
BG_YELLOW="\033[43m"
|
|
55
55
|
|
|
56
56
|
REFRESH_SEC="${HARNESS_REFRESH:-5}"
|
|
57
|
-
|
|
57
|
+
# 단독 mode 패널은 전체 표시 (충분한 세로 공간), 통합 뷰만 최근 3 개로 압축.
|
|
58
|
+
if [ "$MODE" = "all" ]; then
|
|
59
|
+
RECENT_N="${HARNESS_GOTCHA_RECENT:-3}"
|
|
60
|
+
else
|
|
61
|
+
RECENT_N="${HARNESS_GOTCHA_RECENT:-9999}"
|
|
62
|
+
fi
|
|
58
63
|
|
|
59
64
|
# 렌더 캐시 — 내용이 바뀌지 않으면 redraw 스킵
|
|
60
65
|
LAST_SIG=""
|
|
@@ -104,9 +109,12 @@ count_items() {
|
|
|
104
109
|
}
|
|
105
110
|
|
|
106
111
|
# 최근 N개 항목 제목 추출 (### 헤딩 — 파일 하단부가 최신이라 tail)
|
|
112
|
+
# rule_id 마커 주석(<!-- rule_id: ... -->) 은 시각적 노이즈라 제거
|
|
107
113
|
recent_titles() {
|
|
108
114
|
local f="$1" n="$2"
|
|
109
|
-
grep '^### ' "$f" 2>/dev/null
|
|
115
|
+
grep '^### ' "$f" 2>/dev/null \
|
|
116
|
+
| tail -n "$n" \
|
|
117
|
+
| sed -E 's/^### //; s/[[:space:]]*<!--[[:space:]]*rule_id:[[:space:]]*[^>]*-->[[:space:]]*$//'
|
|
110
118
|
}
|
|
111
119
|
|
|
112
120
|
# agent 이름 → 파일 basename 매핑 (정확/접두 일치)
|
package/scripts/harness-tmux.sh
CHANGED
|
@@ -112,28 +112,37 @@ launch_iterm2_team() {
|
|
|
112
112
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-prompt-history.sh' '${PROJECT_ROOT}'"
|
|
113
113
|
end tell
|
|
114
114
|
|
|
115
|
-
-- Split right →
|
|
116
|
-
set
|
|
117
|
-
tell
|
|
118
|
-
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}'"
|
|
115
|
+
-- Split right → Gotchas (top of Rules column, full-height initially)
|
|
116
|
+
set gotchaPane to (split vertically with default profile)
|
|
117
|
+
tell gotchaPane
|
|
118
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode gotcha"
|
|
119
119
|
|
|
120
|
-
--
|
|
120
|
+
-- IMPORTANT: Team 컬럼을 먼저 분리 (전체 높이 유지). 그 후에 gotchaPane 을 horizontal 분할.
|
|
121
121
|
set t1Pane to (split vertically with default profile)
|
|
122
122
|
tell t1Pane
|
|
123
123
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}' --team 1"
|
|
124
124
|
|
|
125
|
-
-- Split down → Team 2
|
|
126
125
|
set t2Pane to (split horizontally with default profile)
|
|
127
126
|
tell t2Pane
|
|
128
127
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}' --team 2"
|
|
129
128
|
|
|
130
|
-
-- Split down → Team 3
|
|
131
129
|
set t3Pane to (split horizontally with default profile)
|
|
132
130
|
tell t3Pane
|
|
133
131
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}' --team 3"
|
|
134
132
|
end tell
|
|
135
133
|
end tell
|
|
136
134
|
end tell
|
|
135
|
+
|
|
136
|
+
-- Team 컬럼 분리 후, gotchaPane (Rules 컬럼) 을 horizontal 두 번 split → Conventions / Memory
|
|
137
|
+
set convPane to (split horizontally with default profile)
|
|
138
|
+
tell convPane
|
|
139
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode conventions"
|
|
140
|
+
|
|
141
|
+
set memPane to (split horizontally with default profile)
|
|
142
|
+
tell memPane
|
|
143
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode memory"
|
|
144
|
+
end tell
|
|
145
|
+
end tell
|
|
137
146
|
end tell
|
|
138
147
|
end tell
|
|
139
148
|
end tell
|
|
@@ -163,16 +172,27 @@ launch_iterm2_solo() {
|
|
|
163
172
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-prompt-history.sh' '${PROJECT_ROOT}'"
|
|
164
173
|
end tell
|
|
165
174
|
|
|
166
|
-
-- Split right →
|
|
167
|
-
set
|
|
168
|
-
tell
|
|
169
|
-
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}'"
|
|
175
|
+
-- Split right → Gotchas (top of Rules column, full-height initially)
|
|
176
|
+
set gotchaPane to (split vertically with default profile)
|
|
177
|
+
tell gotchaPane
|
|
178
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode gotcha"
|
|
170
179
|
|
|
171
|
-
--
|
|
180
|
+
-- Monitor 컬럼을 먼저 분리 (전체 높이 유지)
|
|
172
181
|
set monPane to (split vertically with default profile)
|
|
173
182
|
tell monPane
|
|
174
183
|
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-monitor.sh' '${PROJECT_ROOT}'"
|
|
175
184
|
end tell
|
|
185
|
+
|
|
186
|
+
-- Monitor 분리 후, gotchaPane (Rules 컬럼) 을 horizontal 두 번 split → Conventions / Memory
|
|
187
|
+
set convPane to (split horizontally with default profile)
|
|
188
|
+
tell convPane
|
|
189
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode conventions"
|
|
190
|
+
|
|
191
|
+
set memPane to (split horizontally with default profile)
|
|
192
|
+
tell memPane
|
|
193
|
+
write text "cd '${PROJECT_ROOT}' && bash '${SCRIPT_DIR}/harness-gotcha-memory.sh' '${PROJECT_ROOT}' --mode memory"
|
|
194
|
+
end tell
|
|
195
|
+
end tell
|
|
176
196
|
end tell
|
|
177
197
|
end tell
|
|
178
198
|
end tell
|