@viberaven/cli 1.6.12 → 1.7.0
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/AGENTS.md +5 -5
- package/README.md +3 -3
- package/dist/cli.js +4900 -1898
- package/dist/github-ci.js +1645 -0
- package/dist/stack/app.js +14 -14
- package/dist/stack/scene.css +38 -0
- package/package.json +7 -6
- package/schemas/verification-plan.schema.json +350 -0
- package/schemas/verification-report.schema.json +550 -0
- package/templates/AGENTS.snippet.md +3 -3
- package/templates/CLAUDE.snippet.md +1 -1
- package/templates/CURSOR.snippet.md +1 -1
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "VibeRaven local independent verification report v1",
|
|
4
|
+
"description": "Generated by the local trusted runner only, never accepted as input. checked means an observation ran; outcome separately records passed/failed. Conditions are the single public evidence mapping. Stored initial Task contract metadata remains backward compatible. Runtime additionally verifies frozen plan, snapshot, artifact and receipt hashes and checks current source freshness.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"version": {
|
|
8
|
+
"const": 1
|
|
9
|
+
},
|
|
10
|
+
"taskId": {
|
|
11
|
+
"type": "string",
|
|
12
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
13
|
+
},
|
|
14
|
+
"contractHash": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
17
|
+
},
|
|
18
|
+
"planHash": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
21
|
+
},
|
|
22
|
+
"baselineHash": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
25
|
+
},
|
|
26
|
+
"candidateHash": {
|
|
27
|
+
"anyOf": [
|
|
28
|
+
{
|
|
29
|
+
"type": "string",
|
|
30
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "null"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"attemptId": {
|
|
38
|
+
"anyOf": [
|
|
39
|
+
{
|
|
40
|
+
"type": "string",
|
|
41
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"type": "null"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"status": {
|
|
49
|
+
"enum": [
|
|
50
|
+
"checked",
|
|
51
|
+
"failed",
|
|
52
|
+
"not_checked"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"stale": {
|
|
56
|
+
"type": "boolean"
|
|
57
|
+
},
|
|
58
|
+
"preparedAt": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1,
|
|
61
|
+
"maxLength": 40
|
|
62
|
+
},
|
|
63
|
+
"approvedAt": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1,
|
|
66
|
+
"maxLength": 40
|
|
67
|
+
},
|
|
68
|
+
"image": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"maxLength": 500
|
|
71
|
+
},
|
|
72
|
+
"adapterVersion": {
|
|
73
|
+
"const": "local-oracle-v1"
|
|
74
|
+
},
|
|
75
|
+
"baselineHeadSha": {
|
|
76
|
+
"anyOf": [
|
|
77
|
+
{
|
|
78
|
+
"type": "string",
|
|
79
|
+
"pattern": "^[a-f0-9]{40,64}$"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"type": "null"
|
|
83
|
+
}
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"candidateHeadSha": {
|
|
87
|
+
"anyOf": [
|
|
88
|
+
{
|
|
89
|
+
"type": "string",
|
|
90
|
+
"pattern": "^[a-f0-9]{40,64}$"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"type": "null"
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"conditions": {
|
|
98
|
+
"type": "array",
|
|
99
|
+
"items": {
|
|
100
|
+
"type": "object",
|
|
101
|
+
"properties": {
|
|
102
|
+
"conditionId": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"pattern": "^[a-z][a-z0-9_-]{0,39}$"
|
|
105
|
+
},
|
|
106
|
+
"status": {
|
|
107
|
+
"enum": [
|
|
108
|
+
"checked",
|
|
109
|
+
"not_checked"
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
"outcome": {
|
|
113
|
+
"enum": [
|
|
114
|
+
"passed",
|
|
115
|
+
"failed"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
"reason": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"maxLength": 500
|
|
121
|
+
},
|
|
122
|
+
"checkIds": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"items": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"pattern": "^[a-z][a-z0-9_-]{0,39}$"
|
|
127
|
+
},
|
|
128
|
+
"maxItems": 32
|
|
129
|
+
},
|
|
130
|
+
"receiptIds": {
|
|
131
|
+
"type": "array",
|
|
132
|
+
"items": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
135
|
+
},
|
|
136
|
+
"maxItems": 64
|
|
137
|
+
},
|
|
138
|
+
"provenance": {
|
|
139
|
+
"type": "object",
|
|
140
|
+
"properties": {
|
|
141
|
+
"kind": {
|
|
142
|
+
"const": "independent_local_verification"
|
|
143
|
+
},
|
|
144
|
+
"planHash": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
147
|
+
},
|
|
148
|
+
"baselineHash": {
|
|
149
|
+
"type": "string",
|
|
150
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
151
|
+
},
|
|
152
|
+
"candidateHash": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"pattern": "^(?:[a-f0-9]{64})?$"
|
|
155
|
+
},
|
|
156
|
+
"attemptId": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"pattern": "^(?:[a-f0-9-]{36})?$"
|
|
159
|
+
},
|
|
160
|
+
"adapterVersion": {
|
|
161
|
+
"const": "local-oracle-v1"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"required": [
|
|
165
|
+
"kind",
|
|
166
|
+
"planHash",
|
|
167
|
+
"baselineHash",
|
|
168
|
+
"candidateHash",
|
|
169
|
+
"attemptId",
|
|
170
|
+
"adapterVersion"
|
|
171
|
+
],
|
|
172
|
+
"additionalProperties": false
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"required": [
|
|
176
|
+
"conditionId",
|
|
177
|
+
"status",
|
|
178
|
+
"reason",
|
|
179
|
+
"checkIds",
|
|
180
|
+
"receiptIds",
|
|
181
|
+
"provenance"
|
|
182
|
+
],
|
|
183
|
+
"additionalProperties": false,
|
|
184
|
+
"oneOf": [
|
|
185
|
+
{
|
|
186
|
+
"properties": {
|
|
187
|
+
"status": {
|
|
188
|
+
"const": "checked"
|
|
189
|
+
},
|
|
190
|
+
"checkIds": {
|
|
191
|
+
"minItems": 1
|
|
192
|
+
},
|
|
193
|
+
"receiptIds": {
|
|
194
|
+
"minItems": 2
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"required": [
|
|
198
|
+
"outcome"
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"properties": {
|
|
203
|
+
"status": {
|
|
204
|
+
"const": "not_checked"
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"not": {
|
|
208
|
+
"required": [
|
|
209
|
+
"outcome"
|
|
210
|
+
]
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
]
|
|
214
|
+
},
|
|
215
|
+
"maxItems": 32
|
|
216
|
+
},
|
|
217
|
+
"scope": {
|
|
218
|
+
"type": "object",
|
|
219
|
+
"properties": {
|
|
220
|
+
"status": {
|
|
221
|
+
"enum": [
|
|
222
|
+
"checked",
|
|
223
|
+
"failed",
|
|
224
|
+
"not_checked"
|
|
225
|
+
]
|
|
226
|
+
},
|
|
227
|
+
"changedPaths": {
|
|
228
|
+
"type": "array",
|
|
229
|
+
"items": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"maxLength": 500
|
|
232
|
+
},
|
|
233
|
+
"maxItems": 6000
|
|
234
|
+
},
|
|
235
|
+
"outsidePaths": {
|
|
236
|
+
"type": "array",
|
|
237
|
+
"items": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"maxLength": 500
|
|
240
|
+
},
|
|
241
|
+
"maxItems": 6000
|
|
242
|
+
},
|
|
243
|
+
"protectedChanges": {
|
|
244
|
+
"type": "array",
|
|
245
|
+
"items": {
|
|
246
|
+
"type": "string",
|
|
247
|
+
"maxLength": 500
|
|
248
|
+
},
|
|
249
|
+
"maxItems": 6000
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"required": [
|
|
253
|
+
"status",
|
|
254
|
+
"changedPaths",
|
|
255
|
+
"outsidePaths",
|
|
256
|
+
"protectedChanges"
|
|
257
|
+
],
|
|
258
|
+
"additionalProperties": false
|
|
259
|
+
},
|
|
260
|
+
"receipts": {
|
|
261
|
+
"type": "array",
|
|
262
|
+
"items": {
|
|
263
|
+
"type": "object",
|
|
264
|
+
"properties": {
|
|
265
|
+
"id": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
268
|
+
},
|
|
269
|
+
"checkId": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"pattern": "^[a-z][a-z0-9_-]{0,39}$"
|
|
272
|
+
},
|
|
273
|
+
"phase": {
|
|
274
|
+
"enum": [
|
|
275
|
+
"baseline",
|
|
276
|
+
"candidate"
|
|
277
|
+
]
|
|
278
|
+
},
|
|
279
|
+
"attemptId": {
|
|
280
|
+
"type": "string",
|
|
281
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
282
|
+
},
|
|
283
|
+
"planHash": {
|
|
284
|
+
"type": "string",
|
|
285
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
286
|
+
},
|
|
287
|
+
"snapshotHash": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
290
|
+
},
|
|
291
|
+
"image": {
|
|
292
|
+
"type": "string",
|
|
293
|
+
"maxLength": 500
|
|
294
|
+
},
|
|
295
|
+
"retries": {
|
|
296
|
+
"type": "integer",
|
|
297
|
+
"minimum": 1,
|
|
298
|
+
"maximum": 2
|
|
299
|
+
},
|
|
300
|
+
"state": {
|
|
301
|
+
"enum": [
|
|
302
|
+
"running",
|
|
303
|
+
"completed"
|
|
304
|
+
]
|
|
305
|
+
},
|
|
306
|
+
"observation": {
|
|
307
|
+
"type": "object",
|
|
308
|
+
"properties": {
|
|
309
|
+
"outcome": {
|
|
310
|
+
"enum": [
|
|
311
|
+
"pass",
|
|
312
|
+
"fail",
|
|
313
|
+
"not_checked"
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
"reason": {
|
|
317
|
+
"type": "string",
|
|
318
|
+
"maxLength": 500
|
|
319
|
+
},
|
|
320
|
+
"startedAt": {
|
|
321
|
+
"type": "string",
|
|
322
|
+
"minLength": 1,
|
|
323
|
+
"maxLength": 40
|
|
324
|
+
},
|
|
325
|
+
"durationMs": {
|
|
326
|
+
"type": "integer",
|
|
327
|
+
"minimum": 0
|
|
328
|
+
},
|
|
329
|
+
"image": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"maxLength": 500
|
|
332
|
+
},
|
|
333
|
+
"adapterVersion": {
|
|
334
|
+
"enum": [
|
|
335
|
+
"local-oracle-v1",
|
|
336
|
+
"local-http-v1"
|
|
337
|
+
]
|
|
338
|
+
},
|
|
339
|
+
"artifacts": {
|
|
340
|
+
"type": "object",
|
|
341
|
+
"properties": {
|
|
342
|
+
"stdoutSha256": {
|
|
343
|
+
"type": "string",
|
|
344
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
345
|
+
},
|
|
346
|
+
"stderrSha256": {
|
|
347
|
+
"type": "string",
|
|
348
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
349
|
+
},
|
|
350
|
+
"capturedBytes": {
|
|
351
|
+
"type": "integer",
|
|
352
|
+
"minimum": 0
|
|
353
|
+
},
|
|
354
|
+
"truncated": {
|
|
355
|
+
"type": "boolean"
|
|
356
|
+
},
|
|
357
|
+
"stdoutRef": {
|
|
358
|
+
"type": "string",
|
|
359
|
+
"maxLength": 500
|
|
360
|
+
},
|
|
361
|
+
"stderrRef": {
|
|
362
|
+
"type": "string",
|
|
363
|
+
"maxLength": 500
|
|
364
|
+
}
|
|
365
|
+
},
|
|
366
|
+
"required": [
|
|
367
|
+
"stdoutSha256",
|
|
368
|
+
"stderrSha256",
|
|
369
|
+
"capturedBytes",
|
|
370
|
+
"truncated"
|
|
371
|
+
],
|
|
372
|
+
"additionalProperties": false
|
|
373
|
+
},
|
|
374
|
+
"cases": {
|
|
375
|
+
"type": "object",
|
|
376
|
+
"properties": {
|
|
377
|
+
"passed": {
|
|
378
|
+
"type": "integer",
|
|
379
|
+
"minimum": 0
|
|
380
|
+
},
|
|
381
|
+
"total": {
|
|
382
|
+
"type": "integer",
|
|
383
|
+
"minimum": 0
|
|
384
|
+
},
|
|
385
|
+
"mismatched": {
|
|
386
|
+
"type": "array",
|
|
387
|
+
"items": {
|
|
388
|
+
"type": "integer",
|
|
389
|
+
"minimum": 0
|
|
390
|
+
},
|
|
391
|
+
"maxItems": 32
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"required": [
|
|
395
|
+
"passed",
|
|
396
|
+
"total",
|
|
397
|
+
"mismatched"
|
|
398
|
+
],
|
|
399
|
+
"additionalProperties": false
|
|
400
|
+
},
|
|
401
|
+
"tests": {
|
|
402
|
+
"type": "object",
|
|
403
|
+
"properties": {
|
|
404
|
+
"passed": {
|
|
405
|
+
"type": "integer",
|
|
406
|
+
"minimum": 0
|
|
407
|
+
},
|
|
408
|
+
"failed": {
|
|
409
|
+
"type": "integer",
|
|
410
|
+
"minimum": 0
|
|
411
|
+
},
|
|
412
|
+
"skipped": {
|
|
413
|
+
"type": "integer",
|
|
414
|
+
"minimum": 0
|
|
415
|
+
},
|
|
416
|
+
"total": {
|
|
417
|
+
"type": "integer",
|
|
418
|
+
"minimum": 0
|
|
419
|
+
},
|
|
420
|
+
"fileFailures": {
|
|
421
|
+
"type": "integer",
|
|
422
|
+
"minimum": 0
|
|
423
|
+
}
|
|
424
|
+
},
|
|
425
|
+
"required": [
|
|
426
|
+
"passed",
|
|
427
|
+
"failed",
|
|
428
|
+
"skipped",
|
|
429
|
+
"total"
|
|
430
|
+
],
|
|
431
|
+
"additionalProperties": false
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
"required": [
|
|
435
|
+
"outcome",
|
|
436
|
+
"reason",
|
|
437
|
+
"startedAt",
|
|
438
|
+
"durationMs",
|
|
439
|
+
"image",
|
|
440
|
+
"adapterVersion",
|
|
441
|
+
"artifacts"
|
|
442
|
+
],
|
|
443
|
+
"additionalProperties": false
|
|
444
|
+
},
|
|
445
|
+
"hash": {
|
|
446
|
+
"type": "string",
|
|
447
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
448
|
+
}
|
|
449
|
+
},
|
|
450
|
+
"required": [
|
|
451
|
+
"id",
|
|
452
|
+
"checkId",
|
|
453
|
+
"phase",
|
|
454
|
+
"attemptId",
|
|
455
|
+
"planHash",
|
|
456
|
+
"snapshotHash",
|
|
457
|
+
"image",
|
|
458
|
+
"retries",
|
|
459
|
+
"state",
|
|
460
|
+
"hash"
|
|
461
|
+
],
|
|
462
|
+
"additionalProperties": false
|
|
463
|
+
},
|
|
464
|
+
"maxItems": 64
|
|
465
|
+
},
|
|
466
|
+
"limitations": {
|
|
467
|
+
"type": "array",
|
|
468
|
+
"items": {
|
|
469
|
+
"type": "string",
|
|
470
|
+
"maxLength": 500
|
|
471
|
+
},
|
|
472
|
+
"maxItems": 16
|
|
473
|
+
},
|
|
474
|
+
"excluded": {
|
|
475
|
+
"type": "array",
|
|
476
|
+
"items": {
|
|
477
|
+
"type": "object",
|
|
478
|
+
"properties": {
|
|
479
|
+
"path": {
|
|
480
|
+
"type": "string",
|
|
481
|
+
"maxLength": 500
|
|
482
|
+
},
|
|
483
|
+
"reason": {
|
|
484
|
+
"enum": [
|
|
485
|
+
"secret",
|
|
486
|
+
"generated_or_private"
|
|
487
|
+
]
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
"required": [
|
|
491
|
+
"path",
|
|
492
|
+
"reason"
|
|
493
|
+
],
|
|
494
|
+
"additionalProperties": false
|
|
495
|
+
},
|
|
496
|
+
"maxItems": 6000
|
|
497
|
+
},
|
|
498
|
+
"history": {
|
|
499
|
+
"type": "array",
|
|
500
|
+
"items": {
|
|
501
|
+
"type": "object",
|
|
502
|
+
"properties": {
|
|
503
|
+
"attemptId": {
|
|
504
|
+
"type": "string",
|
|
505
|
+
"pattern": "^[a-f0-9-]{36}$"
|
|
506
|
+
},
|
|
507
|
+
"candidateHash": {
|
|
508
|
+
"type": "string",
|
|
509
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
510
|
+
},
|
|
511
|
+
"createdAt": {
|
|
512
|
+
"type": "string",
|
|
513
|
+
"minLength": 1,
|
|
514
|
+
"maxLength": 40
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
"required": [
|
|
518
|
+
"attemptId",
|
|
519
|
+
"candidateHash",
|
|
520
|
+
"createdAt"
|
|
521
|
+
],
|
|
522
|
+
"additionalProperties": false
|
|
523
|
+
},
|
|
524
|
+
"maxItems": 16
|
|
525
|
+
}
|
|
526
|
+
},
|
|
527
|
+
"required": [
|
|
528
|
+
"version",
|
|
529
|
+
"taskId",
|
|
530
|
+
"contractHash",
|
|
531
|
+
"planHash",
|
|
532
|
+
"baselineHash",
|
|
533
|
+
"candidateHash",
|
|
534
|
+
"attemptId",
|
|
535
|
+
"status",
|
|
536
|
+
"stale",
|
|
537
|
+
"preparedAt",
|
|
538
|
+
"image",
|
|
539
|
+
"adapterVersion",
|
|
540
|
+
"baselineHeadSha",
|
|
541
|
+
"candidateHeadSha",
|
|
542
|
+
"conditions",
|
|
543
|
+
"scope",
|
|
544
|
+
"receipts",
|
|
545
|
+
"limitations",
|
|
546
|
+
"excluded",
|
|
547
|
+
"history"
|
|
548
|
+
],
|
|
549
|
+
"additionalProperties": false
|
|
550
|
+
}
|
|
@@ -15,10 +15,10 @@ This opens the local Studio. `npx -y viberaven check` prints a terminal verdict.
|
|
|
15
15
|
### Agents
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
npx -y viberaven
|
|
18
|
+
npx -y viberaven check
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
1. Run `npx -y viberaven
|
|
21
|
+
1. Run `npx -y viberaven check` from the project root.
|
|
22
22
|
2. Read `.viberaven/agent-tasklist.md` first, `.viberaven/gate-result.json` for the verdict (`clear`, `warning` or `not_clear`), and `.viberaven/context-map.json` for compact agent context.
|
|
23
23
|
3. Read `.viberaven/agent-summary.md` second for scan context.
|
|
24
24
|
4. Read `.viberaven/launch-playbook.md` third for the full checklist.
|
|
@@ -45,7 +45,7 @@ Also available:
|
|
|
45
45
|
|
|
46
46
|
VibeRaven reads a repository and lists launch gaps for AI-built apps that deploy on Vercel and use Supabase. This is advice, not a gate: the user decides when to ship. It is a repository check, not a live database test, and a clear result is not a security audit.
|
|
47
47
|
|
|
48
|
-
- Suggest one pass with `npx -y viberaven
|
|
48
|
+
- Suggest one pass with `npx -y viberaven check` from the project root before a Vercel + Supabase app launches or is handed off, after a Supabase migration or policy change, or when the user reports a production error about RLS, env vars, the database connection, the service role key or a Stripe webhook. It is not needed for apps that do not use Vercel and Supabase, for general SQL or deployment questions, or for one local error.
|
|
49
49
|
- Read `.viberaven/agent-tasklist.md` first, `.viberaven/gate-result.json` for the verdict, and `.viberaven/context-map.json` for compact agent context.
|
|
50
50
|
- Read `.viberaven/agent-summary.md` and `.viberaven/launch-playbook.md` before editing code for a listed gap.
|
|
51
51
|
- Use `npx -y viberaven next --json` or `npx -y viberaven prompt --gap <id>` for one focused repo-code fix at a time.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
VibeRaven reads a repository and lists launch gaps for AI-built apps that deploy on Vercel and use Supabase. This is advice, not a gate: the user decides when to ship. It is a repository check, not a live database test, and a clear result is not a security audit.
|
|
5
5
|
|
|
6
|
-
- Suggest one pass with `npx -y viberaven
|
|
6
|
+
- Suggest one pass with `npx -y viberaven check` from the project root before a Vercel + Supabase app launches or is handed off, after a Supabase migration or policy change, or when the user reports a production error about RLS, env vars, the database connection, the service role key or a Stripe webhook. It is not needed for apps that do not use Vercel and Supabase, for general SQL or deployment questions, or for one local error.
|
|
7
7
|
- Read `.viberaven/agent-tasklist.md` first, `.viberaven/gate-result.json` for the verdict, and `.viberaven/context-map.json` for compact agent context.
|
|
8
8
|
- Read `.viberaven/agent-summary.md` and `.viberaven/launch-playbook.md` before editing code for a listed gap.
|
|
9
9
|
- Use `npx -y viberaven next --json` or `npx -y viberaven prompt --gap <id>` for one focused repo-code fix at a time.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
VibeRaven reads a repository and lists launch gaps for AI-built apps that deploy on Vercel and use Supabase. This is advice, not a gate: the user decides when to ship. It is a repository check, not a live database test, and a clear result is not a security audit.
|
|
5
5
|
|
|
6
|
-
- Suggest one pass with `npx -y viberaven
|
|
6
|
+
- Suggest one pass with `npx -y viberaven check` from the project root before a Vercel + Supabase app launches or is handed off, after a Supabase migration or policy change, or when the user reports a production error about RLS, env vars, the database connection, the service role key or a Stripe webhook. It is not needed for apps that do not use Vercel and Supabase, for general SQL or deployment questions, or for one local error.
|
|
7
7
|
- Read `.viberaven/agent-tasklist.md` first, `.viberaven/gate-result.json` for the verdict, and `.viberaven/context-map.json` for compact agent context.
|
|
8
8
|
- Read `.viberaven/agent-summary.md` and `.viberaven/launch-playbook.md` before editing code for a listed gap.
|
|
9
9
|
- Use `npx -y viberaven next --json` or `npx -y viberaven prompt --gap <id>` for one focused repo-code fix at a time.
|