@vibe-forge/workspace-assets 0.8.0 → 0.8.4

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.
@@ -0,0 +1,845 @@
1
+ {
2
+ "bundle": {
3
+ "cwd": "<workspace>",
4
+ "pluginConfigs": [
5
+ {
6
+ "id": "logger"
7
+ },
8
+ {
9
+ "id": "demo",
10
+ "scope": "demo"
11
+ },
12
+ {
13
+ "id": "telemetry",
14
+ "options": {
15
+ "mode": "summary"
16
+ }
17
+ }
18
+ ],
19
+ "pluginInstances": [
20
+ {
21
+ "childDefinitions": {},
22
+ "children": [],
23
+ "instancePath": "0",
24
+ "options": {},
25
+ "packageId": "@vibe-forge/plugin-logger",
26
+ "requestId": "logger",
27
+ "resolvedBy": "vibe-forge-prefix",
28
+ "rootDir": "<workspace>/node_modules/@vibe-forge/plugin-logger",
29
+ "sourceType": "package"
30
+ },
31
+ {
32
+ "childDefinitions": {},
33
+ "children": [],
34
+ "instancePath": "1",
35
+ "options": {},
36
+ "packageId": "@vibe-forge/plugin-demo",
37
+ "requestId": "demo",
38
+ "resolvedBy": "vibe-forge-prefix",
39
+ "rootDir": "<workspace>/node_modules/@vibe-forge/plugin-demo",
40
+ "scope": "demo",
41
+ "sourceType": "package"
42
+ },
43
+ {
44
+ "childDefinitions": {},
45
+ "children": [],
46
+ "instancePath": "2",
47
+ "options": {
48
+ "mode": "summary"
49
+ },
50
+ "packageId": "@vibe-forge/plugin-telemetry",
51
+ "requestId": "telemetry",
52
+ "resolvedBy": "vibe-forge-prefix",
53
+ "rootDir": "<workspace>/node_modules/@vibe-forge/plugin-telemetry",
54
+ "sourceType": "package"
55
+ }
56
+ ],
57
+ "defaultIncludeMcpServers": [
58
+ "demo/browser",
59
+ "docs"
60
+ ],
61
+ "defaultExcludeMcpServers": [
62
+ "notes"
63
+ ],
64
+ "rules": [
65
+ {
66
+ "id": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
67
+ "kind": "rule",
68
+ "name": "review",
69
+ "displayName": "review",
70
+ "origin": "workspace",
71
+ "sourcePath": "<workspace>/.ai/rules/review.md",
72
+ "definition": {
73
+ "identifier": "review",
74
+ "path": "<workspace>/.ai/rules/review.md",
75
+ "attributes": {
76
+ "always": true,
77
+ "description": "项目评审规则"
78
+ },
79
+ "body": "必须检查发布改动的回归风险。"
80
+ }
81
+ },
82
+ {
83
+ "id": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
84
+ "kind": "rule",
85
+ "name": "security",
86
+ "displayName": "demo/security",
87
+ "origin": "plugin",
88
+ "scope": "demo",
89
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
90
+ "instancePath": "1",
91
+ "packageId": "@vibe-forge/plugin-demo",
92
+ "resolvedBy": "vibe-forge-prefix",
93
+ "definition": {
94
+ "identifier": "security",
95
+ "path": "<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
96
+ "attributes": {
97
+ "description": "插件安全规则"
98
+ },
99
+ "body": "上线前要检查权限与密钥暴露。"
100
+ }
101
+ }
102
+ ],
103
+ "specs": [
104
+ {
105
+ "id": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
106
+ "kind": "spec",
107
+ "name": "release",
108
+ "displayName": "release",
109
+ "origin": "workspace",
110
+ "sourcePath": "<workspace>/.ai/specs/release/index.md",
111
+ "definition": {
112
+ "identifier": "release",
113
+ "path": "<workspace>/.ai/specs/release/index.md",
114
+ "attributes": {
115
+ "description": "正式发布流程",
116
+ "mcpServers": {
117
+ "exclude": [
118
+ "demo/browser"
119
+ ],
120
+ "include": [
121
+ "docs",
122
+ "demo/browser"
123
+ ]
124
+ },
125
+ "rules": [
126
+ ".ai/rules/review.md"
127
+ ],
128
+ "skills": [
129
+ "research"
130
+ ],
131
+ "tools": {
132
+ "include": [
133
+ "Read",
134
+ "Edit"
135
+ ]
136
+ }
137
+ },
138
+ "body": "执行正式发布,并整理变更摘要。"
139
+ }
140
+ },
141
+ {
142
+ "id": "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
143
+ "kind": "spec",
144
+ "name": "release",
145
+ "displayName": "demo/release",
146
+ "origin": "plugin",
147
+ "scope": "demo",
148
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
149
+ "instancePath": "1",
150
+ "packageId": "@vibe-forge/plugin-demo",
151
+ "resolvedBy": "vibe-forge-prefix",
152
+ "definition": {
153
+ "identifier": "release",
154
+ "path": "<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
155
+ "attributes": {
156
+ "description": "插件发布流程"
157
+ },
158
+ "body": "插件 release 不应直接替代项目 release。"
159
+ }
160
+ }
161
+ ],
162
+ "entities": [
163
+ {
164
+ "id": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
165
+ "kind": "entity",
166
+ "name": "architect",
167
+ "displayName": "architect",
168
+ "origin": "workspace",
169
+ "sourcePath": "<workspace>/.ai/entities/architect/README.md",
170
+ "definition": {
171
+ "identifier": "architect",
172
+ "path": "<workspace>/.ai/entities/architect/README.md",
173
+ "attributes": {
174
+ "description": "负责拆解方案的实体"
175
+ },
176
+ "body": "把发布任务拆解成执行步骤。"
177
+ }
178
+ }
179
+ ],
180
+ "skills": [
181
+ {
182
+ "id": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
183
+ "kind": "skill",
184
+ "name": "research",
185
+ "displayName": "research",
186
+ "origin": "workspace",
187
+ "sourcePath": "<workspace>/.ai/skills/research/SKILL.md",
188
+ "definition": {
189
+ "identifier": "research",
190
+ "path": "<workspace>/.ai/skills/research/SKILL.md",
191
+ "attributes": {
192
+ "description": "检索资料"
193
+ },
194
+ "body": "先阅读 README.md,再补充结论。"
195
+ }
196
+ },
197
+ {
198
+ "id": "skill:plugin:1:demo/audit:<workspace>/node_modules/@vibe-forge/plugin-demo/skills/audit/SKILL.md",
199
+ "kind": "skill",
200
+ "name": "audit",
201
+ "displayName": "demo/audit",
202
+ "origin": "plugin",
203
+ "scope": "demo",
204
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/skills/audit/SKILL.md",
205
+ "instancePath": "1",
206
+ "packageId": "@vibe-forge/plugin-demo",
207
+ "resolvedBy": "vibe-forge-prefix",
208
+ "definition": {
209
+ "identifier": "audit",
210
+ "path": "<workspace>/node_modules/@vibe-forge/plugin-demo/skills/audit/SKILL.md",
211
+ "attributes": {
212
+ "description": "审计输出"
213
+ },
214
+ "body": "检查最终输出是否覆盖风险项。"
215
+ }
216
+ }
217
+ ],
218
+ "mcpServers": [
219
+ {
220
+ "id": "mcpServer:plugin:1:demo/browser:<workspace>/node_modules/@vibe-forge/plugin-demo/mcp/browser.json",
221
+ "kind": "mcpServer",
222
+ "name": "browser",
223
+ "displayName": "demo/browser",
224
+ "origin": "plugin",
225
+ "scope": "demo",
226
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/mcp/browser.json",
227
+ "instancePath": "1",
228
+ "packageId": "@vibe-forge/plugin-demo",
229
+ "resolvedBy": "vibe-forge-prefix",
230
+ "config": {
231
+ "args": [
232
+ "browser-mcp"
233
+ ],
234
+ "command": "npx"
235
+ }
236
+ },
237
+ {
238
+ "id": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
239
+ "kind": "mcpServer",
240
+ "name": "docs",
241
+ "displayName": "docs",
242
+ "origin": "workspace",
243
+ "sourcePath": "<workspace>/.ai.config.json",
244
+ "config": {
245
+ "args": [
246
+ "docs-server"
247
+ ],
248
+ "command": "npx"
249
+ }
250
+ },
251
+ {
252
+ "id": "mcpServer:workspace:workspace:notes:<workspace>/.ai.dev.config.json",
253
+ "kind": "mcpServer",
254
+ "name": "notes",
255
+ "displayName": "notes",
256
+ "origin": "workspace",
257
+ "sourcePath": "<workspace>/.ai.dev.config.json",
258
+ "config": {
259
+ "args": [
260
+ "tools/notes-mcp.js"
261
+ ],
262
+ "command": "node"
263
+ }
264
+ }
265
+ ],
266
+ "hookPlugins": [
267
+ {
268
+ "id": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
269
+ "kind": "hookPlugin",
270
+ "name": "logger",
271
+ "displayName": "logger",
272
+ "origin": "plugin",
273
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-logger",
274
+ "instancePath": "0",
275
+ "packageId": "@vibe-forge/plugin-logger",
276
+ "resolvedBy": "vibe-forge-prefix",
277
+ "packageName": "@vibe-forge/plugin-logger",
278
+ "config": {}
279
+ },
280
+ {
281
+ "id": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
282
+ "kind": "hookPlugin",
283
+ "name": "demo",
284
+ "displayName": "demo/demo",
285
+ "origin": "plugin",
286
+ "scope": "demo",
287
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo",
288
+ "instancePath": "1",
289
+ "packageId": "@vibe-forge/plugin-demo",
290
+ "resolvedBy": "vibe-forge-prefix",
291
+ "packageName": "@vibe-forge/plugin-demo",
292
+ "config": {}
293
+ },
294
+ {
295
+ "id": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
296
+ "kind": "hookPlugin",
297
+ "name": "telemetry",
298
+ "displayName": "telemetry",
299
+ "origin": "plugin",
300
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-telemetry",
301
+ "instancePath": "2",
302
+ "packageId": "@vibe-forge/plugin-telemetry",
303
+ "resolvedBy": "vibe-forge-prefix",
304
+ "packageName": "@vibe-forge/plugin-telemetry",
305
+ "config": {
306
+ "mode": "summary"
307
+ }
308
+ }
309
+ ],
310
+ "opencodeOverlayAssets": [
311
+ {
312
+ "id": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
313
+ "kind": "agent",
314
+ "name": "release-helper",
315
+ "displayName": "demo/release-helper",
316
+ "origin": "plugin",
317
+ "scope": "demo",
318
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
319
+ "instancePath": "1",
320
+ "packageId": "@vibe-forge/plugin-demo",
321
+ "resolvedBy": "vibe-forge-prefix",
322
+ "entryName": "release-helper",
323
+ "targetSubpath": "agents/release-helper.md"
324
+ },
325
+ {
326
+ "id": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
327
+ "kind": "command",
328
+ "name": "review",
329
+ "displayName": "demo/review",
330
+ "origin": "plugin",
331
+ "scope": "demo",
332
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
333
+ "instancePath": "1",
334
+ "packageId": "@vibe-forge/plugin-demo",
335
+ "resolvedBy": "vibe-forge-prefix",
336
+ "entryName": "review",
337
+ "targetSubpath": "commands/review.md"
338
+ },
339
+ {
340
+ "id": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
341
+ "kind": "mode",
342
+ "name": "strict",
343
+ "displayName": "demo/strict",
344
+ "origin": "plugin",
345
+ "scope": "demo",
346
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
347
+ "instancePath": "1",
348
+ "packageId": "@vibe-forge/plugin-demo",
349
+ "resolvedBy": "vibe-forge-prefix",
350
+ "entryName": "strict",
351
+ "targetSubpath": "modes/strict.md"
352
+ },
353
+ {
354
+ "id": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
355
+ "kind": "nativePlugin",
356
+ "name": "demo-plugin",
357
+ "displayName": "demo/demo-plugin",
358
+ "origin": "plugin",
359
+ "scope": "demo",
360
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
361
+ "instancePath": "1",
362
+ "packageId": "@vibe-forge/plugin-demo",
363
+ "resolvedBy": "vibe-forge-prefix",
364
+ "entryName": "demo-plugin",
365
+ "targetSubpath": "plugins/demo-plugin.js"
366
+ }
367
+ ]
368
+ },
369
+ "selection": {
370
+ "resolution": {
371
+ "rules": [
372
+ {
373
+ "identifier": "review",
374
+ "path": "<workspace>/.ai/rules/review.md",
375
+ "attributes": {
376
+ "always": true,
377
+ "description": "项目评审规则"
378
+ },
379
+ "body": "必须检查发布改动的回归风险。"
380
+ },
381
+ {
382
+ "identifier": "security",
383
+ "path": "<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
384
+ "attributes": {
385
+ "description": "插件安全规则"
386
+ },
387
+ "body": "上线前要检查权限与密钥暴露。"
388
+ }
389
+ ],
390
+ "targetSkills": [
391
+ {
392
+ "identifier": "research",
393
+ "path": "<workspace>/.ai/skills/research/SKILL.md",
394
+ "attributes": {
395
+ "description": "检索资料"
396
+ },
397
+ "body": "先阅读 README.md,再补充结论。"
398
+ }
399
+ ],
400
+ "entities": [
401
+ {
402
+ "identifier": "architect",
403
+ "path": "<workspace>/.ai/entities/architect/README.md",
404
+ "attributes": {
405
+ "description": "负责拆解方案的实体"
406
+ },
407
+ "body": "把发布任务拆解成执行步骤。"
408
+ }
409
+ ],
410
+ "skills": [
411
+ {
412
+ "identifier": "research",
413
+ "path": "<workspace>/.ai/skills/research/SKILL.md",
414
+ "attributes": {
415
+ "description": "检索资料"
416
+ },
417
+ "body": "先阅读 README.md,再补充结论。"
418
+ }
419
+ ],
420
+ "specs": [
421
+ {
422
+ "identifier": "release",
423
+ "path": "<workspace>/.ai/specs/release/index.md",
424
+ "attributes": {
425
+ "description": "正式发布流程",
426
+ "mcpServers": {
427
+ "exclude": [
428
+ "demo/browser"
429
+ ],
430
+ "include": [
431
+ "docs",
432
+ "demo/browser"
433
+ ]
434
+ },
435
+ "rules": [
436
+ ".ai/rules/review.md"
437
+ ],
438
+ "skills": [
439
+ "research"
440
+ ],
441
+ "tools": {
442
+ "include": [
443
+ "Read",
444
+ "Edit"
445
+ ]
446
+ }
447
+ },
448
+ "body": "执行正式发布,并整理变更摘要。"
449
+ },
450
+ {
451
+ "identifier": "release",
452
+ "path": "<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
453
+ "attributes": {
454
+ "description": "插件发布流程"
455
+ },
456
+ "body": "插件 release 不应直接替代项目 release。"
457
+ }
458
+ ],
459
+ "targetBody": "执行正式发布,并整理变更摘要。",
460
+ "promptAssetIds": [
461
+ "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
462
+ "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
463
+ "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
464
+ "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
465
+ "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
466
+ "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md"
467
+ ]
468
+ },
469
+ "options": {
470
+ "systemPrompt": "<system-prompt>\n项目系统规则如下:\n# review\n\n> 必须检查发布改动的回归风险。\n\n# demo/security\n\n> 适用场景:插件安全规则\n> 规则文件路径:node_modules/@vibe-forge/plugin-demo/rules/security.md\n> 仅在任务满足上述场景时,再阅读该规则文件。\n</system-prompt>\n\n\n<system-prompt>\n项目已加载如下技能模块:\n# research\n\n> 技能介绍:检索资料\n> 技能文件路径:.ai/skills/research/SKILL.md\n> 资源内容中的相对路径相对该技能文件所在目录解析。\n\n<skill-content>\n先阅读 README.md,再补充结论。\n</skill-content>\n</system-prompt>\n\n\n<system-prompt>\n项目存在如下实体:\n - architect:负责拆解方案的实体\n\n解决用户问题时,需根据用户需求可以通过 run-tasks 工具指定为实体后,自行调度多个不同类型的实体来完成工作。\n</system-prompt>\n\n\n\n\n<system-prompt>\n你是一个专业的项目推进管理大师,能够熟练指导其他实体来为你的目标工作。对你的预期是:\n\n- 永远不要单独完成代码开发工作\n- 必须要协调其他的开发人员来完成任务\n- 必须让他们按照目标进行完成,不要偏离目标,检查他们任务完成后的汇报内容是否符合要求\n\n根据用户需要以及实际的开发目标来决定使用不同的工作流程,调用 `load-spec` mcp tool 完成工作流程的加载。\n- 根据实际需求传入标识,这不是路径,只能使用工具进行加载\n- 通过参数的描述以及实际应用场景决定怎么传入参数\n项目存在如下工作流程:\n- 流程名称:release\n - 介绍:正式发布流程\n - 标识:release\n - 参数:\n - 无\n\n- 流程名称:demo/release\n - 介绍:插件发布流程\n - 标识:demo/release\n - 参数:\n - 无\n\n</system-prompt>\n\n\n执行正式发布,并整理变更摘要。",
471
+ "tools": {
472
+ "include": [
473
+ "Edit",
474
+ "Read"
475
+ ]
476
+ },
477
+ "mcpServers": {
478
+ "include": [
479
+ "demo/browser",
480
+ "docs"
481
+ ],
482
+ "exclude": [
483
+ "demo/browser"
484
+ ]
485
+ },
486
+ "promptAssetIds": [
487
+ "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
488
+ "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
489
+ "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
490
+ "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
491
+ "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
492
+ "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md"
493
+ ]
494
+ }
495
+ },
496
+ "plans": {
497
+ "claude-code": {
498
+ "adapter": "claude-code",
499
+ "mcpServers": {
500
+ "docs": {
501
+ "args": [
502
+ "docs-server"
503
+ ],
504
+ "command": "npx"
505
+ }
506
+ },
507
+ "overlays": [],
508
+ "diagnostics": [
509
+ {
510
+ "assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
511
+ "adapter": "claude-code",
512
+ "status": "prompt",
513
+ "reason": "Mapped into the generated system prompt."
514
+ },
515
+ {
516
+ "assetId": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
517
+ "adapter": "claude-code",
518
+ "status": "native",
519
+ "reason": "Mapped into the Claude Code native hooks bridge.",
520
+ "packageId": "@vibe-forge/plugin-logger"
521
+ },
522
+ {
523
+ "assetId": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
524
+ "adapter": "claude-code",
525
+ "status": "native",
526
+ "reason": "Mapped into the Claude Code native hooks bridge.",
527
+ "scope": "demo",
528
+ "packageId": "@vibe-forge/plugin-demo"
529
+ },
530
+ {
531
+ "assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
532
+ "adapter": "claude-code",
533
+ "status": "native",
534
+ "reason": "Mapped into the Claude Code native hooks bridge.",
535
+ "packageId": "@vibe-forge/plugin-telemetry"
536
+ },
537
+ {
538
+ "assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
539
+ "adapter": "claude-code",
540
+ "status": "native",
541
+ "reason": "Mapped into adapter MCP settings."
542
+ },
543
+ {
544
+ "assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
545
+ "adapter": "claude-code",
546
+ "status": "prompt",
547
+ "reason": "Mapped into the generated system prompt.",
548
+ "scope": "demo",
549
+ "packageId": "@vibe-forge/plugin-demo"
550
+ },
551
+ {
552
+ "assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
553
+ "adapter": "claude-code",
554
+ "status": "prompt",
555
+ "reason": "Mapped into the generated system prompt."
556
+ },
557
+ {
558
+ "assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
559
+ "adapter": "claude-code",
560
+ "status": "prompt",
561
+ "reason": "Mapped into the generated system prompt."
562
+ },
563
+ {
564
+ "assetId": "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
565
+ "adapter": "claude-code",
566
+ "status": "prompt",
567
+ "reason": "Mapped into the generated system prompt.",
568
+ "scope": "demo",
569
+ "packageId": "@vibe-forge/plugin-demo"
570
+ },
571
+ {
572
+ "assetId": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
573
+ "adapter": "claude-code",
574
+ "status": "prompt",
575
+ "reason": "Mapped into the generated system prompt."
576
+ }
577
+ ]
578
+ },
579
+ "codex": {
580
+ "adapter": "codex",
581
+ "mcpServers": {
582
+ "docs": {
583
+ "args": [
584
+ "docs-server"
585
+ ],
586
+ "command": "npx"
587
+ }
588
+ },
589
+ "overlays": [],
590
+ "diagnostics": [
591
+ {
592
+ "assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
593
+ "adapter": "codex",
594
+ "status": "skipped",
595
+ "reason": "No stable native Codex mapping exists for this asset kind in V1.",
596
+ "scope": "demo",
597
+ "packageId": "@vibe-forge/plugin-demo"
598
+ },
599
+ {
600
+ "assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
601
+ "adapter": "codex",
602
+ "status": "skipped",
603
+ "reason": "No stable native Codex mapping exists for this asset kind in V1.",
604
+ "scope": "demo",
605
+ "packageId": "@vibe-forge/plugin-demo"
606
+ },
607
+ {
608
+ "assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
609
+ "adapter": "codex",
610
+ "status": "prompt",
611
+ "reason": "Mapped into the generated system prompt."
612
+ },
613
+ {
614
+ "assetId": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
615
+ "adapter": "codex",
616
+ "status": "native",
617
+ "reason": "Mapped into the Codex native hooks bridge.",
618
+ "packageId": "@vibe-forge/plugin-logger"
619
+ },
620
+ {
621
+ "assetId": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
622
+ "adapter": "codex",
623
+ "status": "native",
624
+ "reason": "Mapped into the Codex native hooks bridge.",
625
+ "scope": "demo",
626
+ "packageId": "@vibe-forge/plugin-demo"
627
+ },
628
+ {
629
+ "assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
630
+ "adapter": "codex",
631
+ "status": "native",
632
+ "reason": "Mapped into the Codex native hooks bridge.",
633
+ "packageId": "@vibe-forge/plugin-telemetry"
634
+ },
635
+ {
636
+ "assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
637
+ "adapter": "codex",
638
+ "status": "translated",
639
+ "reason": "Translated into adapter-specific MCP configuration."
640
+ },
641
+ {
642
+ "assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
643
+ "adapter": "codex",
644
+ "status": "skipped",
645
+ "reason": "No stable native Codex mapping exists for this asset kind in V1.",
646
+ "scope": "demo",
647
+ "packageId": "@vibe-forge/plugin-demo"
648
+ },
649
+ {
650
+ "assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
651
+ "adapter": "codex",
652
+ "status": "skipped",
653
+ "reason": "No stable native Codex mapping exists for this asset kind in V1.",
654
+ "scope": "demo",
655
+ "packageId": "@vibe-forge/plugin-demo"
656
+ },
657
+ {
658
+ "assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
659
+ "adapter": "codex",
660
+ "status": "prompt",
661
+ "reason": "Mapped into the generated system prompt.",
662
+ "scope": "demo",
663
+ "packageId": "@vibe-forge/plugin-demo"
664
+ },
665
+ {
666
+ "assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
667
+ "adapter": "codex",
668
+ "status": "prompt",
669
+ "reason": "Mapped into the generated system prompt."
670
+ },
671
+ {
672
+ "assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
673
+ "adapter": "codex",
674
+ "status": "prompt",
675
+ "reason": "Mapped into the generated system prompt."
676
+ },
677
+ {
678
+ "assetId": "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
679
+ "adapter": "codex",
680
+ "status": "prompt",
681
+ "reason": "Mapped into the generated system prompt.",
682
+ "scope": "demo",
683
+ "packageId": "@vibe-forge/plugin-demo"
684
+ },
685
+ {
686
+ "assetId": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
687
+ "adapter": "codex",
688
+ "status": "prompt",
689
+ "reason": "Mapped into the generated system prompt."
690
+ }
691
+ ]
692
+ },
693
+ "opencode": {
694
+ "adapter": "opencode",
695
+ "mcpServers": {
696
+ "docs": {
697
+ "args": [
698
+ "docs-server"
699
+ ],
700
+ "command": "npx"
701
+ }
702
+ },
703
+ "overlays": [
704
+ {
705
+ "assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
706
+ "kind": "agent",
707
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
708
+ "targetPath": "agents/release-helper.md"
709
+ },
710
+ {
711
+ "assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
712
+ "kind": "command",
713
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
714
+ "targetPath": "commands/review.md"
715
+ },
716
+ {
717
+ "assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
718
+ "kind": "mode",
719
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
720
+ "targetPath": "modes/strict.md"
721
+ },
722
+ {
723
+ "assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
724
+ "kind": "nativePlugin",
725
+ "sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
726
+ "targetPath": "plugins/demo-plugin.js"
727
+ },
728
+ {
729
+ "assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
730
+ "kind": "skill",
731
+ "sourcePath": "<workspace>/.ai/skills/research",
732
+ "targetPath": "skills/research"
733
+ }
734
+ ],
735
+ "diagnostics": [
736
+ {
737
+ "assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
738
+ "adapter": "opencode",
739
+ "status": "native",
740
+ "reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
741
+ "scope": "demo",
742
+ "packageId": "@vibe-forge/plugin-demo"
743
+ },
744
+ {
745
+ "assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
746
+ "adapter": "opencode",
747
+ "status": "native",
748
+ "reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
749
+ "scope": "demo",
750
+ "packageId": "@vibe-forge/plugin-demo"
751
+ },
752
+ {
753
+ "assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
754
+ "adapter": "opencode",
755
+ "status": "prompt",
756
+ "reason": "Mapped into the generated system prompt."
757
+ },
758
+ {
759
+ "assetId": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
760
+ "adapter": "opencode",
761
+ "status": "native",
762
+ "reason": "Mapped into the OpenCode native hooks bridge.",
763
+ "packageId": "@vibe-forge/plugin-logger"
764
+ },
765
+ {
766
+ "assetId": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
767
+ "adapter": "opencode",
768
+ "status": "native",
769
+ "reason": "Mapped into the OpenCode native hooks bridge.",
770
+ "scope": "demo",
771
+ "packageId": "@vibe-forge/plugin-demo"
772
+ },
773
+ {
774
+ "assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
775
+ "adapter": "opencode",
776
+ "status": "native",
777
+ "reason": "Mapped into the OpenCode native hooks bridge.",
778
+ "packageId": "@vibe-forge/plugin-telemetry"
779
+ },
780
+ {
781
+ "assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
782
+ "adapter": "opencode",
783
+ "status": "translated",
784
+ "reason": "Translated into adapter-specific MCP configuration."
785
+ },
786
+ {
787
+ "assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
788
+ "adapter": "opencode",
789
+ "status": "native",
790
+ "reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
791
+ "scope": "demo",
792
+ "packageId": "@vibe-forge/plugin-demo"
793
+ },
794
+ {
795
+ "assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
796
+ "adapter": "opencode",
797
+ "status": "native",
798
+ "reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
799
+ "scope": "demo",
800
+ "packageId": "@vibe-forge/plugin-demo"
801
+ },
802
+ {
803
+ "assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
804
+ "adapter": "opencode",
805
+ "status": "prompt",
806
+ "reason": "Mapped into the generated system prompt.",
807
+ "scope": "demo",
808
+ "packageId": "@vibe-forge/plugin-demo"
809
+ },
810
+ {
811
+ "assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
812
+ "adapter": "opencode",
813
+ "status": "prompt",
814
+ "reason": "Mapped into the generated system prompt."
815
+ },
816
+ {
817
+ "assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
818
+ "adapter": "opencode",
819
+ "status": "native",
820
+ "reason": "Mirrored into OPENCODE_CONFIG_DIR as a native skill."
821
+ },
822
+ {
823
+ "assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
824
+ "adapter": "opencode",
825
+ "status": "prompt",
826
+ "reason": "Mapped into the generated system prompt."
827
+ },
828
+ {
829
+ "assetId": "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
830
+ "adapter": "opencode",
831
+ "status": "prompt",
832
+ "reason": "Mapped into the generated system prompt.",
833
+ "scope": "demo",
834
+ "packageId": "@vibe-forge/plugin-demo"
835
+ },
836
+ {
837
+ "assetId": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
838
+ "adapter": "opencode",
839
+ "status": "prompt",
840
+ "reason": "Mapped into the generated system prompt."
841
+ }
842
+ ]
843
+ }
844
+ }
845
+ }