@link-assistant/hive-mind 1.72.2 → 1.72.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/CHANGELOG.md +6 -0
- package/package.json +2 -1
- package/src/i18n.lib.mjs +35 -32
- package/src/locales/en.lino +878 -310
- package/src/locales/hi.lino +878 -310
- package/src/locales/ru.lino +878 -310
- package/src/locales/zh.lino +878 -310
package/src/locales/en.lino
CHANGED
|
@@ -1,312 +1,880 @@
|
|
|
1
1
|
en
|
|
2
|
-
error
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
error
|
|
3
|
+
label "Error"
|
|
4
|
+
invalid
|
|
5
|
+
github
|
|
6
|
+
url
|
|
7
|
+
label "Error: Invalid GitHub URL format"
|
|
8
|
+
monitoring "Error: Invalid GitHub URL for monitoring"
|
|
9
|
+
solve "Error: Invalid GitHub URL for solve command"
|
|
10
|
+
url
|
|
11
|
+
type "Error: Invalid GitHub URL format"
|
|
12
|
+
language "Invalid language '{{value}}'. Supported: {{supported}}"
|
|
13
|
+
missing
|
|
14
|
+
required
|
|
15
|
+
url "Error: Missing required github issue or pull request URL"
|
|
16
|
+
unable
|
|
17
|
+
determine
|
|
18
|
+
version "Error: Unable to determine version"
|
|
19
|
+
url
|
|
20
|
+
type
|
|
21
|
+
not
|
|
22
|
+
supported "URL type '{{type}}' is not supported"
|
|
23
|
+
failed
|
|
24
|
+
to
|
|
25
|
+
get
|
|
26
|
+
current
|
|
27
|
+
user "Error: Failed to get current user"
|
|
28
|
+
branch "Failed to get current branch"
|
|
29
|
+
default
|
|
30
|
+
branch "Failed to get default branch name"
|
|
31
|
+
initialize
|
|
32
|
+
repository "Error: Failed to initialize repository"
|
|
33
|
+
create
|
|
34
|
+
fork "Failed to create fork after all retries"
|
|
35
|
+
add
|
|
36
|
+
upstream
|
|
37
|
+
remote "Failed to add upstream remote"
|
|
38
|
+
pr
|
|
39
|
+
fork
|
|
40
|
+
remote "Failed to add pr-fork remote"
|
|
41
|
+
checkout "Failed to checkout {{branch}}"
|
|
42
|
+
sync "Failed to sync {{branch}} with upstream"
|
|
43
|
+
fetch
|
|
44
|
+
upstream "Failed to fetch upstream"
|
|
45
|
+
from
|
|
46
|
+
pr
|
|
47
|
+
fork "Failed to fetch from pr-fork"
|
|
48
|
+
fork
|
|
49
|
+
not
|
|
50
|
+
accessible "Fork exists but not accessible after multiple retries"
|
|
51
|
+
pr
|
|
52
|
+
does
|
|
53
|
+
not
|
|
54
|
+
exist "Error: PR #{{prNumber}} does not exist in {{owner}}/{{repo}}"
|
|
55
|
+
youtrack
|
|
56
|
+
url
|
|
57
|
+
detected
|
|
58
|
+
no
|
|
59
|
+
config "Error: YouTrack URL detected but YouTrack configuration not found"
|
|
60
|
+
telegram
|
|
61
|
+
bot
|
|
62
|
+
token
|
|
63
|
+
not
|
|
64
|
+
set "Error: TELEGRAM_BOT_TOKEN environment variable or --token option is not set"
|
|
65
|
+
success
|
|
66
|
+
label "Success"
|
|
67
|
+
readme
|
|
68
|
+
created "README.md created successfully"
|
|
69
|
+
process
|
|
70
|
+
completed "Process completed"
|
|
71
|
+
error
|
|
72
|
+
reported
|
|
73
|
+
to
|
|
74
|
+
sentry "Error reported to Sentry successfully"
|
|
75
|
+
language
|
|
76
|
+
set "Language set to {{language}}"
|
|
77
|
+
warning
|
|
78
|
+
label "Warning"
|
|
79
|
+
session
|
|
80
|
+
log
|
|
81
|
+
not
|
|
82
|
+
found "Warning: Session log for {{session}} not found, but continuing with resume attempt"
|
|
83
|
+
failed
|
|
84
|
+
to
|
|
85
|
+
create
|
|
86
|
+
readme "Failed: Could not create README.md"
|
|
87
|
+
fetch
|
|
88
|
+
branches "Warning: Failed to fetch branches from remote"
|
|
89
|
+
could
|
|
90
|
+
not
|
|
91
|
+
determine
|
|
92
|
+
root
|
|
93
|
+
repository "Could not determine root repository"
|
|
94
|
+
token
|
|
95
|
+
scopes "Warning: Could not determine token scopes from auth status"
|
|
96
|
+
check
|
|
97
|
+
fork
|
|
98
|
+
status "Warning: Could not check fork status: {{message}}"
|
|
99
|
+
github
|
|
100
|
+
permissions "Warning: Could not check GitHub permissions: {{message}}"
|
|
101
|
+
convert
|
|
102
|
+
pr
|
|
103
|
+
draft
|
|
104
|
+
status "Warning: Could not check/convert PR draft status"
|
|
105
|
+
search
|
|
106
|
+
for
|
|
107
|
+
existing
|
|
108
|
+
prs "Warning: Could not search for existing PRs: {{message}}"
|
|
109
|
+
get
|
|
110
|
+
current
|
|
111
|
+
user "Warning: Could not get current GitHub user"
|
|
112
|
+
convert
|
|
113
|
+
pr
|
|
114
|
+
to
|
|
115
|
+
draft "Warning: Could not convert PR to draft"
|
|
116
|
+
ready
|
|
117
|
+
label "Warning: Could not convert PR to ready"
|
|
118
|
+
status "Warning: Could not convert PR to ready status"
|
|
119
|
+
post
|
|
120
|
+
work
|
|
121
|
+
start
|
|
122
|
+
comment "Warning: Could not post work start comment"
|
|
123
|
+
end
|
|
124
|
+
comment "Warning: Could not post work end comment"
|
|
125
|
+
assign
|
|
126
|
+
user "Could not assign user"
|
|
127
|
+
no
|
|
128
|
+
linked
|
|
129
|
+
issue
|
|
130
|
+
found "Warning: No linked issue found in PR body"
|
|
131
|
+
error
|
|
132
|
+
during
|
|
133
|
+
auto
|
|
134
|
+
pr
|
|
135
|
+
creation "Warning: Error during auto PR creation: {{message}}"
|
|
136
|
+
pr
|
|
137
|
+
created
|
|
138
|
+
but
|
|
139
|
+
no
|
|
140
|
+
url "Warning: PR created but no URL returned"
|
|
5
141
|
failed "Failed"
|
|
6
|
-
info
|
|
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
|
-
telegram
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
142
|
+
info
|
|
143
|
+
label "Info"
|
|
144
|
+
expected
|
|
145
|
+
github
|
|
146
|
+
url
|
|
147
|
+
format "Expected: https://github.com/owner or https://github.com/owner/repo"
|
|
148
|
+
you
|
|
149
|
+
can
|
|
150
|
+
use
|
|
151
|
+
formats "You can use any of these formats:"
|
|
152
|
+
format
|
|
153
|
+
https
|
|
154
|
+
owner
|
|
155
|
+
label "- https://github.com/owner"
|
|
156
|
+
repo "- https://github.com/owner/repo"
|
|
157
|
+
http
|
|
158
|
+
owner "- http://github.com/owner (will be converted to https)"
|
|
159
|
+
github
|
|
160
|
+
owner "- github.com/owner (will add https://)"
|
|
161
|
+
owner
|
|
162
|
+
label "- owner (will be converted to https://github.com/owner)"
|
|
163
|
+
repo "- owner/repo (will be converted to https://github.com/owner/repo)"
|
|
164
|
+
full
|
|
165
|
+
log
|
|
166
|
+
file "Full log file: {{path}}"
|
|
167
|
+
process
|
|
168
|
+
exited
|
|
169
|
+
with
|
|
170
|
+
code "Process exited with code {{code}}"
|
|
171
|
+
current
|
|
172
|
+
configuration "Current Configuration:"
|
|
173
|
+
process
|
|
174
|
+
using
|
|
175
|
+
repository
|
|
176
|
+
fallback "Using repository-by-repository fallback for {{scope}}: {{owner}}"
|
|
177
|
+
fetching
|
|
178
|
+
repository
|
|
179
|
+
list "Fetching repository list..."
|
|
180
|
+
command "Command: {{command}}"
|
|
181
|
+
check
|
|
182
|
+
number "Check #{{iteration}}:"
|
|
183
|
+
time
|
|
184
|
+
current "Current time: {{time}}"
|
|
185
|
+
limits
|
|
186
|
+
additional
|
|
187
|
+
codex
|
|
188
|
+
limits "Additional Codex limits"
|
|
189
|
+
balance "balance"
|
|
190
|
+
claude
|
|
191
|
+
5
|
|
192
|
+
hour
|
|
193
|
+
session "Claude 5 hour session"
|
|
194
|
+
limits "Claude limits"
|
|
195
|
+
codex
|
|
196
|
+
5
|
|
197
|
+
hour
|
|
198
|
+
session "Codex 5 hour session"
|
|
199
|
+
credits "Codex credits"
|
|
200
|
+
limits "Codex limits"
|
|
201
|
+
cpu
|
|
202
|
+
label "CPU"
|
|
203
|
+
cores
|
|
204
|
+
used "CPU cores used"
|
|
205
|
+
current
|
|
206
|
+
time "Current time"
|
|
207
|
+
week
|
|
208
|
+
all
|
|
209
|
+
models "Current week (all models)"
|
|
210
|
+
sonnet
|
|
211
|
+
only "Current week (Sonnet only)"
|
|
212
|
+
disabled
|
|
213
|
+
by
|
|
214
|
+
admin "`--show-limits` is disabled by the bot administrator."
|
|
215
|
+
disk
|
|
216
|
+
space "Disk space"
|
|
217
|
+
duration
|
|
218
|
+
day
|
|
219
|
+
short "d"
|
|
220
|
+
hour
|
|
221
|
+
short "h"
|
|
222
|
+
minute
|
|
223
|
+
short "m"
|
|
224
|
+
second
|
|
225
|
+
short "s"
|
|
226
|
+
end "End"
|
|
227
|
+
five
|
|
228
|
+
hour
|
|
229
|
+
session "5h session"
|
|
230
|
+
min
|
|
231
|
+
load
|
|
232
|
+
avg "5m load avg"
|
|
233
|
+
github
|
|
234
|
+
api "GitHub API"
|
|
235
|
+
limits
|
|
236
|
+
at
|
|
237
|
+
end "Limits at end"
|
|
238
|
+
start "Limits at start"
|
|
239
|
+
change "Limits change"
|
|
240
|
+
na "N/A"
|
|
241
|
+
note
|
|
242
|
+
delta
|
|
243
|
+
approx "Note: delta is approximate (parallel sessions share the same budget)."
|
|
244
|
+
passed "passed"
|
|
245
|
+
plan "Plan"
|
|
246
|
+
ram "RAM"
|
|
247
|
+
reason
|
|
248
|
+
claude
|
|
249
|
+
5
|
|
250
|
+
hour
|
|
251
|
+
session "Claude 5 hour session limit is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
252
|
+
running "Claude process is already running"
|
|
253
|
+
weekly "Claude weekly limit is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
254
|
+
codex
|
|
255
|
+
5
|
|
256
|
+
hour
|
|
257
|
+
session "Codex 5 hour session limit is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
258
|
+
running "Codex process is already running"
|
|
259
|
+
weekly "Codex weekly limit is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
260
|
+
cpu
|
|
261
|
+
usage "CPU usage is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
262
|
+
disk
|
|
263
|
+
usage "Disk usage is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
264
|
+
gemini
|
|
265
|
+
running "Gemini CLI process is already running"
|
|
266
|
+
github
|
|
267
|
+
api "GitHub API usage is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
268
|
+
min
|
|
269
|
+
interval "Minimum interval between commands not reached"
|
|
270
|
+
qwen
|
|
271
|
+
running "Qwen Code process is already running"
|
|
272
|
+
ram
|
|
273
|
+
usage "RAM usage is {{currentPercent}}% (threshold: {{thresholdPercent}})"
|
|
274
|
+
threshold
|
|
275
|
+
exceeded "{{metric}} threshold exceeded"
|
|
276
|
+
remaining "{{duration}} remaining"
|
|
277
|
+
requests "requests"
|
|
278
|
+
resets
|
|
279
|
+
at "Resets {{time}}"
|
|
280
|
+
in "Resets in {{duration}}"
|
|
281
|
+
resource
|
|
282
|
+
limit
|
|
283
|
+
exceeded "Resource limit exceeded"
|
|
284
|
+
solve
|
|
285
|
+
queue
|
|
286
|
+
status "Solve Queue Status"
|
|
287
|
+
queue
|
|
288
|
+
completed "Completed"
|
|
289
|
+
failed "Failed"
|
|
290
|
+
and
|
|
291
|
+
more "and {{count}} more"
|
|
292
|
+
pending "pending"
|
|
293
|
+
processing "processing"
|
|
294
|
+
processes "{{count}} processes"
|
|
295
|
+
status
|
|
296
|
+
cancelled "cancelled"
|
|
297
|
+
failed "failed"
|
|
298
|
+
queued "queued"
|
|
299
|
+
started "started"
|
|
300
|
+
starting "starting"
|
|
301
|
+
waiting "waiting"
|
|
302
|
+
waiting
|
|
303
|
+
current
|
|
304
|
+
command "waiting for current command"
|
|
305
|
+
in
|
|
306
|
+
queue "Waiting in queue"
|
|
307
|
+
queues "Queues"
|
|
308
|
+
seven
|
|
309
|
+
day
|
|
310
|
+
all
|
|
311
|
+
models "7d all models"
|
|
312
|
+
sonnet
|
|
313
|
+
only "7d Sonnet only"
|
|
314
|
+
session "session"
|
|
315
|
+
start "Start"
|
|
316
|
+
subscription
|
|
317
|
+
ends
|
|
318
|
+
label "Subscription ends {{time}}"
|
|
319
|
+
in "Subscription ends in {{duration}} ({{time}})"
|
|
320
|
+
status "Subscription: {{status}}"
|
|
321
|
+
trial
|
|
322
|
+
ends
|
|
323
|
+
label "Trial ends {{time}}"
|
|
324
|
+
in "Trial ends in {{duration}} ({{time}})"
|
|
325
|
+
unavailable "unavailable"
|
|
326
|
+
unlimited "unlimited"
|
|
327
|
+
used "used"
|
|
328
|
+
week "week"
|
|
329
|
+
weekly "Weekly"
|
|
330
|
+
telegram
|
|
331
|
+
fetching
|
|
332
|
+
limits "🔄 Fetching usage limits..."
|
|
333
|
+
gathering
|
|
334
|
+
version "🔄 Gathering version information..."
|
|
335
|
+
usage
|
|
336
|
+
limits
|
|
337
|
+
title "📊 *Usage Limits*"
|
|
338
|
+
version
|
|
339
|
+
information
|
|
340
|
+
title "🤖 *Version Information*"
|
|
341
|
+
only
|
|
342
|
+
in
|
|
343
|
+
groups "❌ The /version command only works in group chats. Please add this bot to a group and make it an admin."
|
|
344
|
+
formatting
|
|
345
|
+
fallback
|
|
346
|
+
warning "⚠️ Formatting error detected. Showing plain text fallback."
|
|
347
|
+
limits
|
|
348
|
+
only
|
|
349
|
+
in
|
|
350
|
+
groups "❌ The /limits command only works in group chats. Please add this bot to a group and make it an admin."
|
|
351
|
+
solve
|
|
352
|
+
only
|
|
353
|
+
in
|
|
354
|
+
groups "❌ The {{commandDisplay}} command only works in group chats. Please add this bot to a group and make it an admin."
|
|
355
|
+
queue
|
|
356
|
+
only
|
|
357
|
+
in
|
|
358
|
+
groups "❌ The /solve_queue command only works in group chats. Please add this bot to a group and make it an admin."
|
|
359
|
+
disabled "❌ The solve command is disabled on this bot instance."
|
|
360
|
+
rejected """
|
|
361
|
+
❌ Solve command rejected.
|
|
362
|
+
|
|
363
|
+
{{infoBlock}}
|
|
364
|
+
|
|
365
|
+
🚫 Reason: {{reason}}
|
|
366
|
+
"""
|
|
367
|
+
queued "📋 Solve command queued ({{tool}} queue position #{{position}})"
|
|
368
|
+
waiting "⏳ Waiting ({{tool}} queue #{{position}})"
|
|
369
|
+
invalid
|
|
370
|
+
url
|
|
371
|
+
help """
|
|
372
|
+
Example: `/solve https://github.com/owner/repo/issues/123`
|
|
373
|
+
|
|
374
|
+
Or reply to a message containing a GitHub link with `/solve`
|
|
375
|
+
"""
|
|
376
|
+
hive
|
|
377
|
+
only
|
|
378
|
+
in
|
|
379
|
+
groups "❌ The /hive command only works in group chats. Please add this bot to a group and make it an admin."
|
|
380
|
+
disabled "❌ The /hive command is disabled on this bot instance."
|
|
381
|
+
invalid
|
|
382
|
+
url
|
|
383
|
+
help "Example: `/hive https://github.com/owner/repo`"
|
|
384
|
+
no
|
|
385
|
+
label "❌ No"
|
|
386
|
+
github
|
|
387
|
+
link
|
|
388
|
+
in
|
|
389
|
+
reply """
|
|
390
|
+
❌ No GitHub issue/PR link found in the replied message.
|
|
391
|
+
|
|
392
|
+
Example: Reply to a message containing a GitHub issue link with `/solve`
|
|
393
|
+
|
|
394
|
+
Or with options: `/solve --model opus`
|
|
395
|
+
"""
|
|
396
|
+
invalid
|
|
397
|
+
options """
|
|
398
|
+
❌ Invalid options: {{message}}
|
|
399
|
+
|
|
400
|
+
Use /help to see available options
|
|
401
|
+
"""
|
|
402
|
+
isolation "❌ Invalid --isolation value '{{value}}'. Must be: screen, tmux, or docker"
|
|
403
|
+
locked
|
|
404
|
+
isolation "❌ Invalid locked --isolation value '{{value}}'. Must be: screen, tmux, or docker"
|
|
405
|
+
option
|
|
406
|
+
syntax
|
|
407
|
+
check "Please check your option syntax."
|
|
408
|
+
url
|
|
409
|
+
status
|
|
410
|
+
active """
|
|
411
|
+
❌ This URL is {{statusText}}.
|
|
412
|
+
|
|
413
|
+
URL: {{url}}
|
|
414
|
+
Status: {{status}}
|
|
415
|
+
|
|
416
|
+
💡 Use /solve_queue to check the queue status.
|
|
417
|
+
"""
|
|
418
|
+
session
|
|
419
|
+
running """
|
|
420
|
+
❌ A working session is already running for this URL.
|
|
421
|
+
|
|
422
|
+
URL: {{url}}
|
|
423
|
+
Session: `{{session}}`
|
|
424
|
+
|
|
425
|
+
💡 Wait for the current session to complete, or use /solve\_stop to cancel it.
|
|
426
|
+
"""
|
|
427
|
+
issues
|
|
428
|
+
list
|
|
429
|
+
error """
|
|
430
|
+
URL points to the issues list page, but you need a specific issue
|
|
431
|
+
|
|
432
|
+
💡 How to fix:
|
|
433
|
+
1. Open the repository: {{url}}
|
|
434
|
+
2. Click on a specific issue
|
|
435
|
+
3. Copy the URL (it should end with /issues/NUMBER)
|
|
436
|
+
|
|
437
|
+
Example: `{{example}}`
|
|
438
|
+
"""
|
|
439
|
+
pulls
|
|
440
|
+
list
|
|
441
|
+
error """
|
|
442
|
+
URL points to the pull requests list page, but you need a specific pull request
|
|
443
|
+
|
|
444
|
+
💡 How to fix:
|
|
445
|
+
1. Open the repository: {{url}}
|
|
446
|
+
2. Click on a specific pull request
|
|
447
|
+
3. Copy the URL (it should end with /pull/NUMBER)
|
|
448
|
+
|
|
449
|
+
Example: `{{example}}`
|
|
450
|
+
"""
|
|
451
|
+
repo
|
|
452
|
+
error """
|
|
453
|
+
URL points to a repository, but you need a specific {{allowedTypes}}
|
|
454
|
+
|
|
455
|
+
💡 How to fix:
|
|
456
|
+
1. Go to: {{url}}/issues
|
|
457
|
+
2. Click on an issue to solve
|
|
458
|
+
3. Use the full URL with the issue number
|
|
459
|
+
|
|
460
|
+
Example: `{{example}}`
|
|
461
|
+
"""
|
|
462
|
+
must
|
|
463
|
+
be
|
|
464
|
+
type "URL must be a GitHub {{allowedTypes}} (not {{type}})"
|
|
465
|
+
language
|
|
466
|
+
invalid """
|
|
467
|
+
❌ Invalid language. Supported: {{supported}}.
|
|
468
|
+
Usage: /language <code>
|
|
469
|
+
"""
|
|
470
|
+
set "✅ Language set to *{{language}}*."
|
|
471
|
+
current """
|
|
472
|
+
🌐 Current language: *{{language}}*.
|
|
473
|
+
Supported: {{supported}}.
|
|
474
|
+
Usage: /language <code>
|
|
475
|
+
"""
|
|
476
|
+
yes "✅ Yes"
|
|
477
|
+
info
|
|
478
|
+
requested
|
|
479
|
+
by
|
|
480
|
+
label "Requested by"
|
|
481
|
+
issue
|
|
482
|
+
label "Issue"
|
|
483
|
+
pull
|
|
484
|
+
request
|
|
485
|
+
label "Pull request"
|
|
486
|
+
url
|
|
487
|
+
label "URL"
|
|
488
|
+
options
|
|
489
|
+
label "🛠 Options"
|
|
490
|
+
locked
|
|
491
|
+
options
|
|
492
|
+
label "🔒 Locked options"
|
|
493
|
+
help
|
|
494
|
+
title "🤖 *SwarmMindBot Help*"
|
|
495
|
+
status
|
|
496
|
+
stopped "🛑 *Bot Status: STOPPED*"
|
|
497
|
+
reason "Reason: {{reason}}"
|
|
498
|
+
stopped "Stopped: {{stoppedAt}}"
|
|
499
|
+
resume "Use /start (chat owner only) to resume."
|
|
500
|
+
diagnostic
|
|
501
|
+
information "📋 *Diagnostic Information:*"
|
|
502
|
+
chat
|
|
503
|
+
id "• Chat ID: `{{chatId}}`"
|
|
504
|
+
type "• Chat Type: {{chatType}}"
|
|
505
|
+
title "• Chat Title: {{chatTitle}}"
|
|
506
|
+
topic
|
|
507
|
+
id "• Topic ID: `{{topicId}}`"
|
|
508
|
+
available
|
|
509
|
+
commands "📝 *Available Commands:*"
|
|
510
|
+
solve
|
|
511
|
+
enabled "*/solve* (aliases: */do*, */continue*, */claude*, */codex*, */opencode*, */agent*, */gemini*, */qwen*) - Solve a GitHub issue"
|
|
512
|
+
usage "Usage: `/solve <github-url> [options]`"
|
|
513
|
+
example "Example: `/solve https://github.com/owner/repo/issues/123 --model sonnet`"
|
|
514
|
+
alias
|
|
515
|
+
detail "Tool aliases imply `--tool <tool>`: `/codex <github-url>` equals `/solve <github-url> --tool codex`"
|
|
516
|
+
reply "Or reply to a message with a GitHub link: `/solve`"
|
|
517
|
+
disabled "*/solve* (aliases: */do*, */continue*, */claude*, */codex*, */opencode*, */agent*, */gemini*, */qwen*) - ❌ Disabled"
|
|
518
|
+
queue "`/solve_queue` - Show solve queue status"
|
|
519
|
+
locked
|
|
520
|
+
options "🔒 Locked options: `{{options}}`"
|
|
521
|
+
task
|
|
522
|
+
enabled "*/task* - Create a GitHub issue from a repository link and issue text"
|
|
523
|
+
usage "Usage: `/task <github-repository-url>` followed by issue text, or reply with `/task`"
|
|
524
|
+
example "Example: `/task https://github.com/owner/repo` then the issue text on following lines"
|
|
525
|
+
disabled "*/task* / */split* - ❌ Disabled"
|
|
526
|
+
split
|
|
527
|
+
enabled "*/split* - Split a GitHub issue into smaller issues"
|
|
528
|
+
usage "Usage: `/split <github-issue-url> [options]` or `/task --split <github-issue-url>`"
|
|
529
|
+
example "Example: `/split https://github.com/owner/repo/issues/123 --split-count 2`"
|
|
530
|
+
hive
|
|
531
|
+
enabled "*/hive* - Run hive command"
|
|
532
|
+
usage "Usage: `/hive <github-url> [options]`"
|
|
533
|
+
example "Example: `/hive https://github.com/owner/repo`"
|
|
534
|
+
disabled "*/hive* - ❌ Disabled"
|
|
535
|
+
limits "*/limits* - Show usage limits"
|
|
536
|
+
version "*/version* - Show bot and runtime versions"
|
|
537
|
+
language "*/language* `[en|ru|zh|hi]` - Set or show your preferred reply language (in-memory only, per-user)"
|
|
538
|
+
accept
|
|
539
|
+
invites "`/accept_invites` - Accept all pending GitHub invitations"
|
|
540
|
+
merge
|
|
541
|
+
label "*/merge* - Merge queue (experimental)"
|
|
542
|
+
usage "Usage: `/merge <github-repo-url>`"
|
|
543
|
+
description "Merges all PRs with 'ready' label sequentially."
|
|
544
|
+
subscribe "*/subscribe* / */unsubscribe* - 🔔 Get private DM forward of /solve completion (experimental, #1688)"
|
|
545
|
+
help "*/help* - Show this help message"
|
|
546
|
+
stop
|
|
547
|
+
start "*/stop* / */start* - Stop or resume accepting new tasks (owner only)"
|
|
548
|
+
uuid "*/stop* `<uuid>` - Send CTRL+C to an isolated solve/hive session (owner only). Also works as a reply to a message containing the UUID."
|
|
549
|
+
log "*/log* - Fetch isolation session log (owner only). Usage: `/log <uuid>` or reply with `/log`"
|
|
550
|
+
terminal
|
|
551
|
+
watch "*/terminal\\_watch* (alias: */watch*) - Live-update an isolation session log (chat owner or session requester). Usage: `/terminal_watch <uuid>`, `/watch <uuid>`, or reply with either command"
|
|
552
|
+
notifications "🔔 *Session Notifications:* Completion notifications are automatic; use /subscribe for private DM forwards."
|
|
553
|
+
isolation
|
|
554
|
+
mode "🔒 *Isolation Mode:* `{{isolationBackend}}` (experimental)"
|
|
555
|
+
group
|
|
556
|
+
note "⚠️ *Note:* /solve, /do, /continue, /claude, /codex, /opencode, /agent, /gemini, /qwen, /task, /split, /hive, /solve\\_queue, /limits, /version, /accept\\_invites, /merge, /stop and /start commands only work in group chats. /terminal\\_watch, /watch, /subscribe and /unsubscribe work in private and group chats."
|
|
557
|
+
common
|
|
558
|
+
options "🔧 *Common Options:*"
|
|
559
|
+
model
|
|
560
|
+
option "• `--model <model>` or `-m` - {{modelDescription}}"
|
|
561
|
+
base
|
|
562
|
+
branch
|
|
563
|
+
option "• `--base-branch <branch>` or `-b` - Target branch for PR (default: repo default branch)"
|
|
564
|
+
think
|
|
565
|
+
option "• `--think <level>` - Thinking level (off/low/medium/high/xhigh/max) | `--thinking-budget <num>` - Token budget (0-63999)"
|
|
566
|
+
verbose
|
|
567
|
+
option "• `--verbose` or `-v` - Verbose output | `--attach-logs` - Attach logs to PR"
|
|
568
|
+
show
|
|
569
|
+
limits
|
|
570
|
+
option "• `--show-limits` - Experimental: embed Claude/Codex usage at start, end and delta (#594)"
|
|
571
|
+
tip "💡 *Tip:* Many more options available. See full documentation for complete list."
|
|
572
|
+
restricted
|
|
573
|
+
mode "🔒 *Restricted Mode:* Authorized: {{authorized}}"
|
|
574
|
+
allow
|
|
575
|
+
topic
|
|
576
|
+
hint "💡 To allow this topic: `{{allowTopicHint}}`"
|
|
577
|
+
troubleshooting
|
|
578
|
+
header "🔧 *Troubleshooting:*"
|
|
579
|
+
body """
|
|
580
|
+
If bot is not receiving messages:
|
|
581
|
+
1. Check privacy mode in @BotFather
|
|
582
|
+
• Send `/setprivacy` to @BotFather
|
|
583
|
+
• Choose 'Disable' for your bot
|
|
584
|
+
• Remove bot from group and re-add
|
|
585
|
+
2. Or make bot an admin in the group
|
|
586
|
+
3. Restart bot with `--verbose` flag for diagnostics
|
|
587
|
+
"""
|
|
588
|
+
waiting
|
|
589
|
+
label "⏳ Waiting"
|
|
590
|
+
reason
|
|
591
|
+
label "Reason"
|
|
592
|
+
did
|
|
593
|
+
you
|
|
594
|
+
mean "💡 Did you mean: `{{suggestion}}`"
|
|
595
|
+
missing
|
|
596
|
+
github
|
|
597
|
+
url "Missing GitHub URL. Usage: /{{commandName}} <github-url> [options]"
|
|
598
|
+
first
|
|
599
|
+
arg
|
|
600
|
+
must
|
|
601
|
+
be
|
|
602
|
+
github
|
|
603
|
+
url "First argument must be a GitHub URL"
|
|
604
|
+
work
|
|
605
|
+
session
|
|
606
|
+
starting "🔄 Starting..."
|
|
607
|
+
executing "⏳ Executing..."
|
|
608
|
+
finished "Work session finished successfully"
|
|
609
|
+
failed "Work session failed (exit code: {{exitCode}})"
|
|
610
|
+
duration
|
|
611
|
+
label "Duration"
|
|
612
|
+
session
|
|
613
|
+
label "Session"
|
|
614
|
+
isolation
|
|
615
|
+
label "Isolation"
|
|
616
|
+
error
|
|
617
|
+
executing
|
|
618
|
+
command "❌ Error executing {{commandName}} command"
|
|
619
|
+
language
|
|
620
|
+
en "English"
|
|
621
|
+
ru "Russian"
|
|
622
|
+
zh "Chinese"
|
|
623
|
+
hi "Hindi"
|
|
624
|
+
version
|
|
625
|
+
ai
|
|
626
|
+
agents "AI Agents"
|
|
627
|
+
browsers "Browsers"
|
|
628
|
+
browser
|
|
629
|
+
automation "Browser Automation"
|
|
630
|
+
connected "connected"
|
|
631
|
+
development
|
|
632
|
+
tools "Development Tools"
|
|
633
|
+
environment "Environment"
|
|
634
|
+
architecture "Architecture"
|
|
635
|
+
kernel "Kernel"
|
|
636
|
+
not
|
|
637
|
+
connected "not connected"
|
|
638
|
+
os "OS"
|
|
639
|
+
platform "Platform"
|
|
640
|
+
process
|
|
641
|
+
running
|
|
642
|
+
restart
|
|
643
|
+
needed "Process running: `{{processVersion}}` (restart needed)"
|
|
644
|
+
system "System"
|
|
645
|
+
version "Version"
|
|
646
|
+
prompt
|
|
647
|
+
user
|
|
648
|
+
issue
|
|
649
|
+
to
|
|
650
|
+
solve "Issue to solve: {{issueUrl}}"
|
|
651
|
+
linked
|
|
652
|
+
to
|
|
653
|
+
pr "Issue to solve: Issue linked to PR #{{prNumber}}"
|
|
654
|
+
prepared
|
|
655
|
+
branch "Your prepared branch: {{branchName}}"
|
|
656
|
+
working
|
|
657
|
+
directory "Your prepared working directory: {{tempDir}}"
|
|
658
|
+
tmp
|
|
659
|
+
directory "Your prepared tmp directory for logs and downloads: {{workspaceTmpDir}}"
|
|
660
|
+
pull
|
|
661
|
+
request "Your prepared Pull Request: {{prUrl}}"
|
|
662
|
+
forked
|
|
663
|
+
repository "Your forked repository: {{forkedRepo}}"
|
|
664
|
+
original
|
|
665
|
+
repository "Original repository (upstream): {{owner}}/{{repo}}"
|
|
666
|
+
fork
|
|
667
|
+
actions
|
|
668
|
+
url "GitHub Actions on your fork: {{forkActionsUrl}}"
|
|
669
|
+
continue "Continue."
|
|
670
|
+
proceed "Proceed."
|
|
671
|
+
system
|
|
672
|
+
intro "You are an AI issue solver. When you investigate issues, prefer root-cause analysis. When you communicate, prefer facts you have checked yourself or cite sources that provide evidence, such as quoted code or references to documents or web pages. When you are unsure or working from assumptions, test them yourself or ask clarifying questions."
|
|
673
|
+
workspace
|
|
674
|
+
instructions """
|
|
675
|
+
Workspace tmp directory.
|
|
676
|
+
- Use {{workspaceTmpDir}} for all temporary files, logs, and downloads.
|
|
677
|
+
- When saving command output to files, save to {{workspaceTmpDir}}/command-output.log.
|
|
678
|
+
- When downloading CI logs, save to {{workspaceTmpDir}}/ci-logs/.
|
|
679
|
+
- When saving diffs for review, save to {{workspaceTmpDir}}/diffs/.
|
|
680
|
+
- When creating debug files, save to {{workspaceTmpDir}}/debug/.
|
|
681
|
+
"""
|
|
682
|
+
general
|
|
683
|
+
guidelines
|
|
684
|
+
header "General guidelines."
|
|
685
|
+
body """
|
|
686
|
+
- When you execute commands and the output becomes large, save the logs to files for easier review.
|
|
687
|
+
- When running commands, avoid setting a timeout yourself. Let them run as long as needed. The default timeout of 2 minutes is usually enough, and once commands finish, review the logs in the file.
|
|
688
|
+
- When running sudo commands, especially package installations like apt-get, yum, or npm install, run them in the background to avoid timeout issues and permission errors when the process needs to be killed. Use the run_in_background parameter or append & to the command.
|
|
689
|
+
"""
|
|
690
|
+
purpose
|
|
691
|
+
subagent " - When the task is large and requires processing many files or folders, use `general-purpose` sub-agents to delegate work. Each separate file or folder can be delegated to a sub-agent for more efficient processing."
|
|
692
|
+
issue
|
|
693
|
+
reporting " - When you spot errors, bugs, or minor issues during the working session that are unrelated to the main task requirements, create issues to track them when they do not already exist. The issue should include reproducible examples, ideally a minimum reproducible example, workarounds, and suggestions for fixing the issue in code. For issues in the current repository, use gh issue create --repo {{owner}}/{{repo}} --title \"Issue title\" --body \"Issue description\". For issues in third-party GitHub repositories used by the working repository, use gh issue create --repo owner/repo --title \"Issue title\" --body \"Issue description\". When similar issues may already exist, check first with gh issue list --repo owner/repo --search \"keywords\" to avoid duplicates. If a similar issue already exists, add a comment with gh issue comment <issue-number> --repo owner/repo --body \"Comment text\" describing your specific case, including anonymized logs with personal or sensitive data redacted, reproduction steps, a minimum reproducible example when practical, workarounds, and suggestions for a fix."
|
|
694
|
+
ci
|
|
695
|
+
investigation """
|
|
696
|
+
- When CI is failing or user reports failures, consider adding a detailed investigation protocol to your todo list with these steps:
|
|
697
|
+
Step 1: List recent runs with timestamps using: gh run list --repo {{owner}}/{{repo}} --branch {{branchName}} --limit 5 --json databaseId,conclusion,createdAt,headSha
|
|
698
|
+
Step 2: Verify runs are after the latest commit by checking timestamps and SHA
|
|
699
|
+
Step 3: For each non-passing run, download logs to preserve them: gh run view {run-id} --repo {{owner}}/{{repo}} --log > ci-logs/{workflow}-{run-id}.log
|
|
700
|
+
Step 4: Read each downloaded log file with the Read tool to understand the actual failures
|
|
701
|
+
Step 5: Report findings with specific errors and line numbers from logs
|
|
702
|
+
This detailed investigation is especially helpful when user mentions CI failures, asks to investigate logs, you see non-passing status, or when finalizing a PR.
|
|
703
|
+
Note: If user says failing but tools show passing, this might indicate stale data - consider downloading fresh logs and checking timestamps to resolve the discrepancy.
|
|
704
|
+
"""
|
|
705
|
+
examples """
|
|
706
|
+
CI investigation with workspace tmp directory.
|
|
707
|
+
- When downloading CI run logs:
|
|
708
|
+
gh run view RUN_ID --repo {{owner}}/{{repo}} --log > {{workspaceTmpDir}}/ci-logs/run-RUN_ID.log
|
|
709
|
+
- When downloading failed job logs:
|
|
710
|
+
gh run view RUN_ID --repo {{owner}}/{{repo}} --log-failed > {{workspaceTmpDir}}/ci-logs/run-RUN_ID-failed.log
|
|
711
|
+
- When listing CI runs with details:
|
|
712
|
+
gh run list --repo {{owner}}/{{repo}} --branch {{branchName}} --limit 5 --json databaseId,conclusion,createdAt,headSha > {{workspaceTmpDir}}/ci-logs/recent-runs.json
|
|
713
|
+
- When saving PR diff for review:
|
|
714
|
+
gh pr diff {{prNumber}} --repo {{owner}}/{{repo}} > {{workspaceTmpDir}}/diffs/pr-{{prNumber}}.diff
|
|
715
|
+
- When saving command output with stderr:
|
|
716
|
+
npm test 2>&1 | tee {{workspaceTmpDir}}/test-output.log
|
|
717
|
+
- When investigating issue details:
|
|
718
|
+
gh issue view {{issueNumber}} --repo {{owner}}/{{repo}} --json body,comments > {{workspaceTmpDir}}/issue-{{issueNumber}}.json
|
|
719
|
+
"""
|
|
720
|
+
large
|
|
721
|
+
files " - When a code or log file has more than 1500 lines, read it in chunks of 1500 lines."
|
|
722
|
+
complex
|
|
723
|
+
problems " - When facing a complex problem, do as much tracing as possible and turn on all verbose modes."
|
|
724
|
+
divide
|
|
725
|
+
and
|
|
726
|
+
conquer " - When you face something extremely hard, use divide and conquer."
|
|
727
|
+
initial
|
|
728
|
+
research
|
|
729
|
+
header "Initial research."
|
|
730
|
+
body """
|
|
731
|
+
- When you start, create a detailed plan for yourself and follow your todo list step by step. Add as many relevant points from these guidelines to the todo list as practical so you can track the work clearly.
|
|
732
|
+
- When the user mentions CI failures or asks to investigate logs, consider adding these todos to track the investigation: (1) list recent CI runs with timestamps, (2) download logs from failed runs to the ci-logs/ directory, (3) analyze error messages and identify the root cause, (4) implement a fix, (5) verify that the fix resolves the specific errors found in the logs.
|
|
733
|
+
- When you read the issue, read all details and comments thoroughly.
|
|
734
|
+
- When you see screenshots or images in issue descriptions, pull request descriptions, comments, or discussions, download the image to a local file first, then use the Read tool to view and analyze it. Before reading downloaded images with the Read tool, verify that the file is a valid image rather than HTML by using a CLI tool such as the file command. When corrupted or non-image files, such as GitHub Not Found pages saved as .png, are read, they can cause Could not process image errors and crash the AI solver process. When the file command shows HTML, text, or ASCII text, the download failed, so do not call Read on that file. Instead: (1) when images are from GitHub issues or PRs, such as URLs containing github.com/user-attachments, retry with: curl -L -H "Authorization: token $(gh auth token)" -o <filename> "<url>" (2) when the retry still fails, skip the image and note that it was unavailable.
|
|
735
|
+
- When you need issue details, use gh issue view https://github.com/{{owner}}/{{repo}}/issues/{{issueNumber}}.
|
|
736
|
+
- When you need related code, use gh search code --owner {{owner}} [keywords].
|
|
737
|
+
- When you need repo context, read files in your working directory.
|
|
738
|
+
"""
|
|
739
|
+
tail """
|
|
740
|
+
- When the issue is not defined clearly enough, write a comment with clarifying questions.
|
|
741
|
+
- When accessing GitHub Gists (especially private ones), use gh gist view command instead of direct URL fetching to ensure proper authentication.
|
|
742
|
+
- When you are fixing a bug, find the actual root cause first and run as many experiments as needed.
|
|
743
|
+
- When you are fixing a bug and the code does not have enough tracing or logs, add them and keep them in the code with the default state switched off.
|
|
744
|
+
- When you need comments on a pull request, note that GitHub has three different comment types with different API endpoints:
|
|
745
|
+
1. PR review comments (inline code comments): gh api repos/{{owner}}/{{repo}}/pulls/{{prNumber}}/comments --paginate
|
|
746
|
+
2. PR conversation comments (general discussion): gh api repos/{{owner}}/{{repo}}/issues/{{prNumber}}/comments --paginate
|
|
747
|
+
3. PR reviews (approve/request changes): gh api repos/{{owner}}/{{repo}}/pulls/{{prNumber}}/reviews --paginate
|
|
748
|
+
Note: The command "gh pr view --json comments" only returns conversation comments and misses review comments.
|
|
749
|
+
- When you need the latest comments on the issue, use gh api repos/{{owner}}/{{repo}}/issues/{{issueNumber}}/comments --paginate.
|
|
750
|
+
"""
|
|
751
|
+
explore
|
|
752
|
+
subagent " - When you need to learn something about the codebase structure, patterns, or how things work, use the Task tool with subagent_type=Explore to thoroughly explore the codebase."
|
|
753
|
+
check
|
|
754
|
+
sibling
|
|
755
|
+
prs " - When you study related work, study the most recent related pull requests."
|
|
756
|
+
case
|
|
757
|
+
studies " - When working on this issue, create a comprehensive case study in the ./docs/case-studies/issue-{{issueNumber}}/ directory. Download all logs and data related to the issue to the repository. Perform deep case study analysis by searching online for additional facts and data, reconstructing the timeline/sequence of events, identifying root causes of the problem, and proposing possible solutions. Include files like README.md (executive summary, problem statement, timeline, root cause), TECHNICAL_SUMMARY.md (deep technical analysis), ANALYSIS.md (detailed investigation findings), improvements.md (proposed solutions), and supporting logs/data files."
|
|
758
|
+
solution
|
|
759
|
+
development """
|
|
760
|
+
Solution development and testing.
|
|
761
|
+
- When issue is solvable, first create a test that reproduces the problem, then implement the fix.
|
|
762
|
+
- When implementing features, search for similar existing implementations in the codebase and use them as examples instead of implementing everything from scratch.
|
|
763
|
+
- When coding, commit each atomic step that is useful on its own to the pull request branch so interrupted work remains preserved in the pull request.
|
|
764
|
+
- When you test:
|
|
765
|
+
start from testing of small functions using separate scripts;
|
|
766
|
+
write unit tests with mocks for easy and quick start.
|
|
767
|
+
- When you test integrations, use existing framework.
|
|
768
|
+
- When you test solution draft, include automated checks in pr.
|
|
769
|
+
- When you write or modify tests, consider setting reasonable timeouts at test, suite, and CI job levels so failures surface quickly instead of hanging.
|
|
770
|
+
- When you see repeated test timeout patterns in CI, investigate the root cause rather than increasing timeouts.
|
|
771
|
+
- When the issue is unclear, write a comment on the issue with questions.
|
|
772
|
+
- When you encounter problems that you cannot solve yourself and need human help, write a comment on the pull request asking for help.
|
|
773
|
+
- When you need human help, use gh pr comment {{prNumber}} --body "your message" to comment on existing PR.
|
|
774
|
+
"""
|
|
775
|
+
reproducible
|
|
776
|
+
testing """
|
|
777
|
+
Reproducible testing.
|
|
778
|
+
- When fixing a bug, create a test that reproduces the problem before implementing the fix. When you cannot reproduce the problem, you cannot verify the fix.
|
|
779
|
+
- When encountering logic bugs, write an automated test that fails due to the bug, then implement the fix to make it pass.
|
|
780
|
+
- When encountering UI bugs, capture a screenshot showing the problem state, then create a visual regression test or manual verification screenshot after the fix.
|
|
781
|
+
- When creating tests, prefer minimum reproducible examples, meaning the simplest test case that demonstrates the issue.
|
|
782
|
+
- When submitting a fix, include in the PR description: (1) how to reproduce the issue, (2) the automated test that verifies the fix, (3) before/after screenshots for UI issues.
|
|
783
|
+
- When a bug fix does not have a reproducing test, treat the fix as incomplete because regressions can occur later without notice.
|
|
784
|
+
"""
|
|
785
|
+
preparing
|
|
786
|
+
pr """
|
|
787
|
+
Preparing pull request.
|
|
788
|
+
- When you code, follow contributing guidelines.
|
|
789
|
+
- When you commit, write clear message.
|
|
790
|
+
- When you need examples of style, use gh pr list --repo {{owner}}/{{repo}} --state merged --search [keywords].
|
|
791
|
+
- When you open pr, describe solution draft and include tests.
|
|
792
|
+
- When there is a package with version and GitHub Actions workflows for automatic release, update the version (or other necessary release trigger) in your pull request to prepare for next release.
|
|
793
|
+
- When you update existing pr {{prNumber}}, use gh pr edit to modify title and description.
|
|
794
|
+
- When you are about to commit or push code, run local CI checks first if they are available in contributing guidelines (like ruff check, mypy, eslint, etc.) to catch errors before pushing.
|
|
795
|
+
- When you finalize the pull request:
|
|
796
|
+
follow style from merged prs for code, title, and description,
|
|
797
|
+
check that no uncommitted changes corresponding to the original requirements are left behind,
|
|
798
|
+
check that the default branch is merged into the pull request branch,
|
|
799
|
+
check that all CI checks are passing if they exist before you finish,
|
|
800
|
+
check for latest comments on the issue and pull request to ensure no recent feedback was missed,
|
|
801
|
+
double-check that all changes in the pull request address the original requirements of the issue,
|
|
802
|
+
check for newly introduced bugs in the pull request by carefully reading gh pr diff,
|
|
803
|
+
check that no previously existing features were removed without an explicit request in the issue description, issue comments, or pull request comments.
|
|
804
|
+
- When you finish implementation, use gh pr ready {{prNumber}}.
|
|
805
|
+
"""
|
|
806
|
+
workflow """
|
|
807
|
+
Workflow and collaboration.
|
|
808
|
+
- When you check branch, verify with git branch --show-current.
|
|
809
|
+
- When you push, push only to branch {{branchName}}.
|
|
810
|
+
- When you finish, create a pull request from branch {{branchName}}. (Note: PR {{prNumber}} already exists, update it instead)
|
|
811
|
+
- When you organize workflow, use pull requests instead of direct merges to default branch (main or master).
|
|
812
|
+
- When you manage commits, preserve commit history for later analysis.
|
|
813
|
+
- When you contribute, keep repository history forward-moving with regular commits, pushes, and reverts if needed.
|
|
814
|
+
- When you face conflict that you cannot resolve yourself, ask for help.
|
|
815
|
+
- When you collaborate, respect branch protections by working only on {{branchName}}.
|
|
816
|
+
- When you mention a result, include the pull request URL or comment URL.
|
|
817
|
+
- When you need to create pr, remember pr {{prNumber}} already exists for this branch.
|
|
818
|
+
"""
|
|
819
|
+
self
|
|
820
|
+
review
|
|
821
|
+
header """
|
|
822
|
+
Self review.
|
|
823
|
+
- When you check your solution draft, run all tests locally.
|
|
824
|
+
- When you check your solution draft, verify git status shows a clean working tree with no uncommitted changes.
|
|
825
|
+
- When you compare with repo style, use gh pr diff [number].
|
|
826
|
+
- When you finalize, confirm code, tests, and description are consistent.
|
|
827
|
+
"""
|
|
828
|
+
ensure
|
|
829
|
+
all
|
|
830
|
+
requirements " - When no explicit feedback or requirements are provided, ensure all changes are correct, consistent, validated, tested, logged, and aligned with all discussed requirements by checking the issue description and all comments on the issue and pull request. Check that all CI or CD checks are passing."
|
|
831
|
+
github
|
|
832
|
+
cli
|
|
833
|
+
patterns """
|
|
834
|
+
GitHub CLI command patterns.
|
|
835
|
+
- When fetching lists from GitHub API, use the --paginate flag to ensure all results are returned (GitHub returns max 30 per page by default).
|
|
836
|
+
- When listing PR review comments (inline code comments), use gh api repos/OWNER/REPO/pulls/NUMBER/comments --paginate.
|
|
837
|
+
- When listing PR conversation comments, use gh api repos/OWNER/REPO/issues/NUMBER/comments --paginate.
|
|
838
|
+
- When listing PR reviews, use gh api repos/OWNER/REPO/pulls/NUMBER/reviews --paginate.
|
|
839
|
+
- When listing issue comments, use gh api repos/OWNER/REPO/issues/NUMBER/comments --paginate.
|
|
840
|
+
- When adding PR comment, use gh pr comment NUMBER --body "text" --repo OWNER/REPO.
|
|
841
|
+
- When adding issue comment, use gh issue comment NUMBER --body "text" --repo OWNER/REPO.
|
|
842
|
+
- When viewing PR details, use gh pr view NUMBER --repo OWNER/REPO.
|
|
843
|
+
- When filtering with jq, use gh api repos/{{owner}}/{{repo}}/pulls/{{prNumber}}/comments --paginate --jq reverse-then-slice-first-five.
|
|
844
|
+
"""
|
|
845
|
+
playwright
|
|
846
|
+
mcp """
|
|
847
|
+
Playwright MCP usage (browser automation via mcp__playwright__* tools).
|
|
848
|
+
- When you develop frontend web applications (HTML, CSS, JavaScript, React, Vue, Angular, etc.), use Playwright MCP tools to test the UI in a real browser.
|
|
849
|
+
- When WebFetch tool fails to retrieve expected content (e.g., returns empty content, JavaScript-rendered pages, or login-protected pages), use Playwright MCP tools (browser_navigate, browser_snapshot) as a fallback for web browsing.
|
|
850
|
+
- When WebSearch tool fails or returns insufficient results, use Playwright MCP tools (browser_navigate, browser_snapshot) as a fallback for internet search.
|
|
851
|
+
- When you need to interact with dynamic web pages that require JavaScript execution, use Playwright MCP tools.
|
|
852
|
+
- When you need to visually verify how a web page looks or take screenshots, use browser_take_screenshot from Playwright MCP.
|
|
853
|
+
- When you need to fill forms, click buttons, or perform user interactions on web pages, use Playwright MCP tools (browser_click, browser_type, browser_fill_form).
|
|
854
|
+
- When you need to test responsive design or different viewport sizes, use browser_resize from Playwright MCP.
|
|
855
|
+
- When you finish using the browser, close it with browser_close to free resources.
|
|
856
|
+
- When reproducing UI bugs, use browser_take_screenshot to capture the problem state before implementing any fix.
|
|
857
|
+
- When fixing UI bugs, take before/after screenshots to provide visual evidence of the fix for human verification.
|
|
858
|
+
- When creating UI tests, save baseline screenshots to the repository for visual regression testing.
|
|
859
|
+
- When verifying UI fixes, compare screenshots to ensure the fix does not introduce unintended visual changes.
|
|
860
|
+
"""
|
|
861
|
+
plan
|
|
862
|
+
subagent """
|
|
863
|
+
Plan sub-agent usage.
|
|
864
|
+
- When you start working on a task, consider using the Plan sub-agent to research the codebase and create an implementation plan.
|
|
865
|
+
- When using the Plan sub-agent, you can add it as the first item in your todo list.
|
|
866
|
+
- When you delegate planning, use the Task tool with subagent_type="Plan" before starting implementation work.
|
|
867
|
+
"""
|
|
868
|
+
visual
|
|
869
|
+
ui """
|
|
870
|
+
Visual UI work and screenshots.
|
|
871
|
+
- When you work on visual UI changes (frontend, CSS, HTML, design), include a render or screenshot of the final result in the pull request description.
|
|
872
|
+
- When you need to show visual results, take a screenshot and save it to the repository (e.g., in a docs/screenshots/ or assets/ folder).
|
|
873
|
+
- When you save screenshots to the repository, use permanent links in the pull request description markdown (e.g., https://github.com/{{screenshotRepoPath}}/blob/{{branchName}}/docs/screenshots/result.png?raw=true).
|
|
874
|
+
- When uploading images, commit them to the branch first, then reference them using the GitHub blob URL format with ?raw=true suffix (works for both public and private repositories).
|
|
875
|
+
- When the visual result is important for review, mention it explicitly in the pull request description with the embedded image.
|
|
876
|
+
- When fixing UI bugs, capture both the "before" (problem) and "after" (fixed) screenshots as evidence for human verification.
|
|
877
|
+
- When reporting UI bugs, include a screenshot of the problem state to enable visual verification of the fix.
|
|
878
|
+
- When the fix is visual, include side-by-side or sequential comparison of before/after states in the PR description.
|
|
879
|
+
- When possible, create automated visual regression tests to prevent the UI bug from recurring.
|
|
880
|
+
"""
|