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