@vibe-forge/workspace-assets 0.9.1-alpha.0 → 0.9.2-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/AGENTS.md +4 -1
- package/LICENSE +21 -0
- package/__tests__/__snapshots__/workspace-assets-rich.snapshot.json +360 -355
- package/__tests__/adapter-asset-plan.spec.ts +76 -38
- package/__tests__/bundle.spec.ts +195 -43
- package/__tests__/prompt-builders.spec.ts +206 -0
- package/__tests__/prompt-selection.spec.ts +362 -14
- package/__tests__/selection-internal.spec.ts +42 -0
- package/__tests__/snapshot.ts +78 -128
- package/__tests__/test-helpers.ts +13 -0
- package/__tests__/workspace-assets.snapshot.spec.ts +84 -103
- package/package.json +11 -10
- package/src/adapter-asset-plan.ts +92 -111
- package/src/bundle-internal.ts +548 -0
- package/src/bundle.ts +17 -166
- package/src/internal-types.ts +1 -39
- package/src/prompt-builders.ts +184 -0
- package/src/prompt-selection.ts +144 -104
- package/src/selection-internal.ts +275 -0
- package/src/document-assets.ts +0 -191
- package/src/helpers.ts +0 -35
- package/src/plugin-assets.ts +0 -175
|
@@ -1,22 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"bundle": {
|
|
3
3
|
"cwd": "<workspace>",
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
"pluginConfigs": [
|
|
5
|
+
{
|
|
6
|
+
"id": "logger"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"id": "demo",
|
|
10
|
+
"scope": "demo"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"id": "telemetry",
|
|
14
|
+
"options": {
|
|
15
|
+
"mode": "summary"
|
|
15
16
|
}
|
|
16
17
|
}
|
|
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
|
+
],
|
|
18
57
|
"defaultIncludeMcpServers": [
|
|
19
|
-
"browser",
|
|
58
|
+
"demo/browser",
|
|
20
59
|
"docs"
|
|
21
60
|
],
|
|
22
61
|
"defaultExcludeMcpServers": [
|
|
@@ -24,16 +63,12 @@
|
|
|
24
63
|
],
|
|
25
64
|
"rules": [
|
|
26
65
|
{
|
|
27
|
-
"id": "rule
|
|
66
|
+
"id": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
|
|
28
67
|
"kind": "rule",
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"claude-code",
|
|
34
|
-
"codex",
|
|
35
|
-
"opencode"
|
|
36
|
-
],
|
|
68
|
+
"name": "review",
|
|
69
|
+
"displayName": "review",
|
|
70
|
+
"origin": "workspace",
|
|
71
|
+
"sourcePath": "<workspace>/.ai/rules/review.md",
|
|
37
72
|
"definition": {
|
|
38
73
|
"identifier": "review",
|
|
39
74
|
"path": "<workspace>/.ai/rules/review.md",
|
|
@@ -45,20 +80,19 @@
|
|
|
45
80
|
}
|
|
46
81
|
},
|
|
47
82
|
{
|
|
48
|
-
"id": "rule
|
|
83
|
+
"id": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
49
84
|
"kind": "rule",
|
|
85
|
+
"name": "security",
|
|
86
|
+
"displayName": "demo/security",
|
|
50
87
|
"origin": "plugin",
|
|
51
|
-
"scope": "
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"codex",
|
|
57
|
-
"opencode"
|
|
58
|
-
],
|
|
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",
|
|
59
93
|
"definition": {
|
|
60
94
|
"identifier": "security",
|
|
61
|
-
"path": "<workspace
|
|
95
|
+
"path": "<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
62
96
|
"attributes": {
|
|
63
97
|
"description": "插件安全规则"
|
|
64
98
|
},
|
|
@@ -68,16 +102,12 @@
|
|
|
68
102
|
],
|
|
69
103
|
"specs": [
|
|
70
104
|
{
|
|
71
|
-
"id": "spec
|
|
105
|
+
"id": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
|
|
72
106
|
"kind": "spec",
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"claude-code",
|
|
78
|
-
"codex",
|
|
79
|
-
"opencode"
|
|
80
|
-
],
|
|
107
|
+
"name": "release",
|
|
108
|
+
"displayName": "release",
|
|
109
|
+
"origin": "workspace",
|
|
110
|
+
"sourcePath": "<workspace>/.ai/specs/release/index.md",
|
|
81
111
|
"definition": {
|
|
82
112
|
"identifier": "release",
|
|
83
113
|
"path": "<workspace>/.ai/specs/release/index.md",
|
|
@@ -85,11 +115,11 @@
|
|
|
85
115
|
"description": "正式发布流程",
|
|
86
116
|
"mcpServers": {
|
|
87
117
|
"exclude": [
|
|
88
|
-
"browser"
|
|
118
|
+
"demo/browser"
|
|
89
119
|
],
|
|
90
120
|
"include": [
|
|
91
121
|
"docs",
|
|
92
|
-
"browser"
|
|
122
|
+
"demo/browser"
|
|
93
123
|
]
|
|
94
124
|
},
|
|
95
125
|
"rules": [
|
|
@@ -107,20 +137,36 @@
|
|
|
107
137
|
},
|
|
108
138
|
"body": "执行正式发布,并整理变更摘要。"
|
|
109
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
|
+
}
|
|
110
160
|
}
|
|
111
161
|
],
|
|
112
162
|
"entities": [
|
|
113
163
|
{
|
|
114
|
-
"id": "entity
|
|
164
|
+
"id": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
|
|
115
165
|
"kind": "entity",
|
|
116
|
-
"
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"claude-code",
|
|
121
|
-
"codex",
|
|
122
|
-
"opencode"
|
|
123
|
-
],
|
|
166
|
+
"name": "architect",
|
|
167
|
+
"displayName": "architect",
|
|
168
|
+
"origin": "workspace",
|
|
169
|
+
"sourcePath": "<workspace>/.ai/entities/architect/README.md",
|
|
124
170
|
"definition": {
|
|
125
171
|
"identifier": "architect",
|
|
126
172
|
"path": "<workspace>/.ai/entities/architect/README.md",
|
|
@@ -133,16 +179,12 @@
|
|
|
133
179
|
],
|
|
134
180
|
"skills": [
|
|
135
181
|
{
|
|
136
|
-
"id": "skill
|
|
182
|
+
"id": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
137
183
|
"kind": "skill",
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"claude-code",
|
|
143
|
-
"codex",
|
|
144
|
-
"opencode"
|
|
145
|
-
],
|
|
184
|
+
"name": "research",
|
|
185
|
+
"displayName": "research",
|
|
186
|
+
"origin": "workspace",
|
|
187
|
+
"sourcePath": "<workspace>/.ai/skills/research/SKILL.md",
|
|
146
188
|
"definition": {
|
|
147
189
|
"identifier": "research",
|
|
148
190
|
"path": "<workspace>/.ai/skills/research/SKILL.md",
|
|
@@ -153,20 +195,19 @@
|
|
|
153
195
|
}
|
|
154
196
|
},
|
|
155
197
|
{
|
|
156
|
-
"id": "skill
|
|
198
|
+
"id": "skill:plugin:1:demo/audit:<workspace>/node_modules/@vibe-forge/plugin-demo/skills/audit/SKILL.md",
|
|
157
199
|
"kind": "skill",
|
|
200
|
+
"name": "audit",
|
|
201
|
+
"displayName": "demo/audit",
|
|
158
202
|
"origin": "plugin",
|
|
159
|
-
"scope": "
|
|
160
|
-
"
|
|
161
|
-
"
|
|
162
|
-
"
|
|
163
|
-
|
|
164
|
-
"codex",
|
|
165
|
-
"opencode"
|
|
166
|
-
],
|
|
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",
|
|
167
208
|
"definition": {
|
|
168
209
|
"identifier": "audit",
|
|
169
|
-
"path": "<workspace
|
|
210
|
+
"path": "<workspace>/node_modules/@vibe-forge/plugin-demo/skills/audit/SKILL.md",
|
|
170
211
|
"attributes": {
|
|
171
212
|
"description": "审计输出"
|
|
172
213
|
},
|
|
@@ -176,17 +217,16 @@
|
|
|
176
217
|
],
|
|
177
218
|
"mcpServers": [
|
|
178
219
|
{
|
|
179
|
-
"id": "mcpServer
|
|
180
|
-
"
|
|
181
|
-
"scope": "workspace",
|
|
182
|
-
"pluginId": "demo",
|
|
183
|
-
"enabled": true,
|
|
184
|
-
"targets": [
|
|
185
|
-
"claude-code",
|
|
186
|
-
"codex",
|
|
187
|
-
"opencode"
|
|
188
|
-
],
|
|
220
|
+
"id": "mcpServer:plugin:1:demo/browser:<workspace>/node_modules/@vibe-forge/plugin-demo/mcp/browser.json",
|
|
221
|
+
"kind": "mcpServer",
|
|
189
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",
|
|
190
230
|
"config": {
|
|
191
231
|
"args": [
|
|
192
232
|
"browser-mcp"
|
|
@@ -195,16 +235,12 @@
|
|
|
195
235
|
}
|
|
196
236
|
},
|
|
197
237
|
{
|
|
198
|
-
"id": "mcpServer:
|
|
199
|
-
"
|
|
200
|
-
"scope": "project",
|
|
201
|
-
"enabled": true,
|
|
202
|
-
"targets": [
|
|
203
|
-
"claude-code",
|
|
204
|
-
"codex",
|
|
205
|
-
"opencode"
|
|
206
|
-
],
|
|
238
|
+
"id": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
|
|
239
|
+
"kind": "mcpServer",
|
|
207
240
|
"name": "docs",
|
|
241
|
+
"displayName": "docs",
|
|
242
|
+
"origin": "workspace",
|
|
243
|
+
"sourcePath": "<workspace>/.ai.config.json",
|
|
208
244
|
"config": {
|
|
209
245
|
"args": [
|
|
210
246
|
"docs-server"
|
|
@@ -213,16 +249,12 @@
|
|
|
213
249
|
}
|
|
214
250
|
},
|
|
215
251
|
{
|
|
216
|
-
"id": "mcpServer:
|
|
217
|
-
"
|
|
218
|
-
"scope": "user",
|
|
219
|
-
"enabled": true,
|
|
220
|
-
"targets": [
|
|
221
|
-
"claude-code",
|
|
222
|
-
"codex",
|
|
223
|
-
"opencode"
|
|
224
|
-
],
|
|
252
|
+
"id": "mcpServer:workspace:workspace:notes:<workspace>/.ai.dev.config.json",
|
|
253
|
+
"kind": "mcpServer",
|
|
225
254
|
"name": "notes",
|
|
255
|
+
"displayName": "notes",
|
|
256
|
+
"origin": "workspace",
|
|
257
|
+
"sourcePath": "<workspace>/.ai.dev.config.json",
|
|
226
258
|
"config": {
|
|
227
259
|
"args": [
|
|
228
260
|
"tools/notes-mcp.js"
|
|
@@ -233,143 +265,103 @@
|
|
|
233
265
|
],
|
|
234
266
|
"hookPlugins": [
|
|
235
267
|
{
|
|
236
|
-
"id": "hookPlugin:
|
|
237
|
-
"
|
|
238
|
-
"
|
|
239
|
-
"
|
|
240
|
-
"
|
|
241
|
-
"
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
"
|
|
247
|
-
"config": {
|
|
248
|
-
"level": "info"
|
|
249
|
-
}
|
|
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": {}
|
|
250
279
|
},
|
|
251
280
|
{
|
|
252
|
-
"id": "hookPlugin:
|
|
253
|
-
"
|
|
254
|
-
"
|
|
255
|
-
"
|
|
256
|
-
"
|
|
257
|
-
"
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
"packageName": "
|
|
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",
|
|
263
305
|
"config": {
|
|
264
306
|
"mode": "summary"
|
|
265
307
|
}
|
|
266
308
|
}
|
|
267
309
|
],
|
|
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
|
-
],
|
|
318
310
|
"opencodeOverlayAssets": [
|
|
319
311
|
{
|
|
320
|
-
"id": "agent
|
|
312
|
+
"id": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
|
|
321
313
|
"kind": "agent",
|
|
314
|
+
"name": "release-helper",
|
|
315
|
+
"displayName": "demo/release-helper",
|
|
322
316
|
"origin": "plugin",
|
|
323
|
-
"scope": "
|
|
324
|
-
"
|
|
325
|
-
"
|
|
326
|
-
"
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
"entryName": "release-helper.md",
|
|
330
|
-
"sourcePath": "<workspace>/.ai/plugins/demo/opencode/agents/release-helper.md",
|
|
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",
|
|
331
323
|
"targetSubpath": "agents/release-helper.md"
|
|
332
324
|
},
|
|
333
325
|
{
|
|
334
|
-
"id": "command
|
|
326
|
+
"id": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
|
|
335
327
|
"kind": "command",
|
|
328
|
+
"name": "review",
|
|
329
|
+
"displayName": "demo/review",
|
|
336
330
|
"origin": "plugin",
|
|
337
|
-
"scope": "
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
"entryName": "review.md",
|
|
344
|
-
"sourcePath": "<workspace>/.ai/plugins/demo/opencode/commands/review.md",
|
|
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",
|
|
345
337
|
"targetSubpath": "commands/review.md"
|
|
346
338
|
},
|
|
347
339
|
{
|
|
348
|
-
"id": "mode
|
|
340
|
+
"id": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
|
|
349
341
|
"kind": "mode",
|
|
342
|
+
"name": "strict",
|
|
343
|
+
"displayName": "demo/strict",
|
|
350
344
|
"origin": "plugin",
|
|
351
|
-
"scope": "
|
|
352
|
-
"
|
|
353
|
-
"
|
|
354
|
-
"
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
"entryName": "strict.md",
|
|
358
|
-
"sourcePath": "<workspace>/.ai/plugins/demo/opencode/modes/strict.md",
|
|
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",
|
|
359
351
|
"targetSubpath": "modes/strict.md"
|
|
360
352
|
},
|
|
361
353
|
{
|
|
362
|
-
"id": "nativePlugin
|
|
354
|
+
"id": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
|
|
363
355
|
"kind": "nativePlugin",
|
|
356
|
+
"name": "demo-plugin",
|
|
357
|
+
"displayName": "demo/demo-plugin",
|
|
364
358
|
"origin": "plugin",
|
|
365
|
-
"scope": "
|
|
366
|
-
"
|
|
367
|
-
"
|
|
368
|
-
"
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
"entryName": "demo-plugin.js",
|
|
372
|
-
"sourcePath": "<workspace>/.ai/plugins/demo/opencode/plugins/demo-plugin.js",
|
|
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",
|
|
373
365
|
"targetSubpath": "plugins/demo-plugin.js"
|
|
374
366
|
}
|
|
375
367
|
]
|
|
@@ -388,20 +380,11 @@
|
|
|
388
380
|
},
|
|
389
381
|
{
|
|
390
382
|
"identifier": "security",
|
|
391
|
-
"path": "<workspace
|
|
383
|
+
"path": "<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
392
384
|
"attributes": {
|
|
393
385
|
"description": "插件安全规则"
|
|
394
386
|
},
|
|
395
387
|
"body": "上线前要检查权限与密钥暴露。"
|
|
396
|
-
},
|
|
397
|
-
{
|
|
398
|
-
"identifier": "review",
|
|
399
|
-
"path": "<workspace>/.ai/rules/review.md",
|
|
400
|
-
"attributes": {
|
|
401
|
-
"always": true,
|
|
402
|
-
"description": "项目评审规则"
|
|
403
|
-
},
|
|
404
|
-
"body": "必须检查发布改动的回归风险。"
|
|
405
388
|
}
|
|
406
389
|
],
|
|
407
390
|
"targetSkills": [
|
|
@@ -442,11 +425,11 @@
|
|
|
442
425
|
"description": "正式发布流程",
|
|
443
426
|
"mcpServers": {
|
|
444
427
|
"exclude": [
|
|
445
|
-
"browser"
|
|
428
|
+
"demo/browser"
|
|
446
429
|
],
|
|
447
430
|
"include": [
|
|
448
431
|
"docs",
|
|
449
|
-
"browser"
|
|
432
|
+
"demo/browser"
|
|
450
433
|
]
|
|
451
434
|
},
|
|
452
435
|
"rules": [
|
|
@@ -463,19 +446,28 @@
|
|
|
463
446
|
}
|
|
464
447
|
},
|
|
465
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。"
|
|
466
457
|
}
|
|
467
458
|
],
|
|
468
459
|
"targetBody": "执行正式发布,并整理变更摘要。",
|
|
469
460
|
"promptAssetIds": [
|
|
470
|
-
"entity
|
|
471
|
-
"rule
|
|
472
|
-
"rule
|
|
473
|
-
"skill
|
|
474
|
-
"spec
|
|
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"
|
|
475
467
|
]
|
|
476
468
|
},
|
|
477
469
|
"options": {
|
|
478
|
-
"systemPrompt": "<system-prompt>\n
|
|
470
|
+
"systemPrompt": "<system-prompt>\nThe project system rules are:\n# review\n\n> 必须检查发布改动的回归风险。\n\n# demo/security\n\n> Use when: 插件安全规则\n> Rule file path: node_modules/@vibe-forge/plugin-demo/rules/security.md\n> Only read this rule file when the task matches the scenario above.\n</system-prompt>\n\n\n<system-prompt>\nThe following skill modules are loaded for the project:\n# research\n\n> Skill description: 检索资料\n> Skill file path: .ai/skills/research/SKILL.md\n> Resolve relative paths in the resource content relative to the directory containing this skill file.\n\n<skill-content>\n先阅读 README.md,再补充结论。\n</skill-content>\n</system-prompt>\n\n\n<system-prompt>\nThe project includes the following entities:\n - architect: 负责拆解方案的实体\n\nWhen solving user problems, you may specify entities through `vibe-forge.StartTasks` as needed and have them coordinate multiple entity types to complete the work; use `GetTaskInfo` and `wait` to track progress.\n</system-prompt>\n\n\n\n\n<system-prompt>\nYou are a professional project execution manager who can skillfully direct other entities to work toward your goal. Expectations:\n\n- Never complete code development work alone\n- You must coordinate other developers to complete tasks\n- You must keep them aligned with the goal and verify that their completion reports meet the requirements\n\nChoose the appropriate workflow based on the user's needs and the actual development goal, and use the workflow identifier to locate and load the corresponding definition.\n- Pass the identifier based on the actual need. This is not a path; use the standard workflow loading capability to resolve it.\n- Decide how to pass parameters based on their descriptions and actual usage scenarios.\nThe project includes the following workflows:\n- Workflow name: release\n - Description: 正式发布流程\n - Identifier: release\n - Parameters:\n - None\n\n- Workflow name: demo/release\n - Description: 插件发布流程\n - Identifier: demo/release\n - Parameters:\n - None\n\n</system-prompt>\n\n\n执行正式发布,并整理变更摘要。",
|
|
479
471
|
"tools": {
|
|
480
472
|
"include": [
|
|
481
473
|
"Edit",
|
|
@@ -484,19 +476,20 @@
|
|
|
484
476
|
},
|
|
485
477
|
"mcpServers": {
|
|
486
478
|
"include": [
|
|
487
|
-
"browser",
|
|
479
|
+
"demo/browser",
|
|
488
480
|
"docs"
|
|
489
481
|
],
|
|
490
482
|
"exclude": [
|
|
491
|
-
"browser"
|
|
483
|
+
"demo/browser"
|
|
492
484
|
]
|
|
493
485
|
},
|
|
494
486
|
"promptAssetIds": [
|
|
495
|
-
"entity
|
|
496
|
-
"rule
|
|
497
|
-
"rule
|
|
498
|
-
"skill
|
|
499
|
-
"spec
|
|
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"
|
|
500
493
|
]
|
|
501
494
|
}
|
|
502
495
|
},
|
|
@@ -512,67 +505,71 @@
|
|
|
512
505
|
}
|
|
513
506
|
},
|
|
514
507
|
"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
|
-
},
|
|
531
508
|
"diagnostics": [
|
|
532
509
|
{
|
|
533
|
-
"assetId": "entity
|
|
510
|
+
"assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
|
|
534
511
|
"adapter": "claude-code",
|
|
535
512
|
"status": "prompt",
|
|
536
513
|
"reason": "Mapped into the generated system prompt."
|
|
537
514
|
},
|
|
538
515
|
{
|
|
539
|
-
"assetId": "hookPlugin:
|
|
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",
|
|
540
524
|
"adapter": "claude-code",
|
|
541
525
|
"status": "native",
|
|
542
|
-
"reason": "Mapped into the
|
|
526
|
+
"reason": "Mapped into the Claude Code native hooks bridge.",
|
|
527
|
+
"scope": "demo",
|
|
528
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
543
529
|
},
|
|
544
530
|
{
|
|
545
|
-
"assetId": "hookPlugin:
|
|
531
|
+
"assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
|
|
546
532
|
"adapter": "claude-code",
|
|
547
533
|
"status": "native",
|
|
548
|
-
"reason": "Mapped into the
|
|
534
|
+
"reason": "Mapped into the Claude Code native hooks bridge.",
|
|
535
|
+
"packageId": "@vibe-forge/plugin-telemetry"
|
|
549
536
|
},
|
|
550
537
|
{
|
|
551
|
-
"assetId": "mcpServer:
|
|
538
|
+
"assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
|
|
552
539
|
"adapter": "claude-code",
|
|
553
540
|
"status": "native",
|
|
554
|
-
"reason": "Mapped into
|
|
541
|
+
"reason": "Mapped into adapter MCP settings."
|
|
555
542
|
},
|
|
556
543
|
{
|
|
557
|
-
"assetId": "rule
|
|
544
|
+
"assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
558
545
|
"adapter": "claude-code",
|
|
559
546
|
"status": "prompt",
|
|
560
|
-
"reason": "Mapped into the generated system prompt."
|
|
547
|
+
"reason": "Mapped into the generated system prompt.",
|
|
548
|
+
"scope": "demo",
|
|
549
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
561
550
|
},
|
|
562
551
|
{
|
|
563
|
-
"assetId": "rule
|
|
552
|
+
"assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
|
|
564
553
|
"adapter": "claude-code",
|
|
565
554
|
"status": "prompt",
|
|
566
555
|
"reason": "Mapped into the generated system prompt."
|
|
567
556
|
},
|
|
568
557
|
{
|
|
569
|
-
"assetId": "skill
|
|
558
|
+
"assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
570
559
|
"adapter": "claude-code",
|
|
571
560
|
"status": "prompt",
|
|
572
561
|
"reason": "Mapped into the generated system prompt."
|
|
573
562
|
},
|
|
574
563
|
{
|
|
575
|
-
"assetId": "spec
|
|
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",
|
|
576
573
|
"adapter": "claude-code",
|
|
577
574
|
"status": "prompt",
|
|
578
575
|
"reason": "Mapped into the generated system prompt."
|
|
@@ -590,104 +587,103 @@
|
|
|
590
587
|
}
|
|
591
588
|
},
|
|
592
589
|
"overlays": [],
|
|
593
|
-
"native": {
|
|
594
|
-
"codexHooks": {
|
|
595
|
-
"supportedEvents": [
|
|
596
|
-
"SessionStart",
|
|
597
|
-
"UserPromptSubmit",
|
|
598
|
-
"PreToolUse",
|
|
599
|
-
"PostToolUse",
|
|
600
|
-
"Stop"
|
|
601
|
-
]
|
|
602
|
-
}
|
|
603
|
-
},
|
|
604
590
|
"diagnostics": [
|
|
605
591
|
{
|
|
606
|
-
"assetId": "agent
|
|
592
|
+
"assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
|
|
607
593
|
"adapter": "codex",
|
|
608
594
|
"status": "skipped",
|
|
609
|
-
"reason": "No stable native Codex mapping exists for this asset kind in V1."
|
|
595
|
+
"reason": "No stable native Codex mapping exists for this asset kind in V1.",
|
|
596
|
+
"scope": "demo",
|
|
597
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
610
598
|
},
|
|
611
599
|
{
|
|
612
|
-
"assetId": "command
|
|
600
|
+
"assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
|
|
613
601
|
"adapter": "codex",
|
|
614
602
|
"status": "skipped",
|
|
615
|
-
"reason": "No stable native Codex mapping exists for this asset kind in V1."
|
|
603
|
+
"reason": "No stable native Codex mapping exists for this asset kind in V1.",
|
|
604
|
+
"scope": "demo",
|
|
605
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
616
606
|
},
|
|
617
607
|
{
|
|
618
|
-
"assetId": "entity
|
|
608
|
+
"assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
|
|
619
609
|
"adapter": "codex",
|
|
620
610
|
"status": "prompt",
|
|
621
611
|
"reason": "Mapped into the generated system prompt."
|
|
622
612
|
},
|
|
623
613
|
{
|
|
624
|
-
"assetId": "hookPlugin:
|
|
614
|
+
"assetId": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
|
|
625
615
|
"adapter": "codex",
|
|
626
616
|
"status": "native",
|
|
627
|
-
"reason": "Mapped into the
|
|
617
|
+
"reason": "Mapped into the Codex native hooks bridge.",
|
|
618
|
+
"packageId": "@vibe-forge/plugin-logger"
|
|
628
619
|
},
|
|
629
620
|
{
|
|
630
|
-
"assetId": "hookPlugin:
|
|
621
|
+
"assetId": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
|
|
631
622
|
"adapter": "codex",
|
|
632
623
|
"status": "native",
|
|
633
|
-
"reason": "Mapped into the
|
|
624
|
+
"reason": "Mapped into the Codex native hooks bridge.",
|
|
625
|
+
"scope": "demo",
|
|
626
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
634
627
|
},
|
|
635
628
|
{
|
|
636
|
-
"assetId": "
|
|
629
|
+
"assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
|
|
637
630
|
"adapter": "codex",
|
|
638
|
-
"status": "
|
|
639
|
-
"reason": "
|
|
640
|
-
|
|
641
|
-
{
|
|
642
|
-
"assetId": "mode:.ai/plugins/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."
|
|
631
|
+
"status": "native",
|
|
632
|
+
"reason": "Mapped into the Codex native hooks bridge.",
|
|
633
|
+
"packageId": "@vibe-forge/plugin-telemetry"
|
|
646
634
|
},
|
|
647
635
|
{
|
|
648
|
-
"assetId": "
|
|
636
|
+
"assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
|
|
649
637
|
"adapter": "codex",
|
|
650
|
-
"status": "
|
|
651
|
-
"reason": "
|
|
638
|
+
"status": "translated",
|
|
639
|
+
"reason": "Translated into adapter-specific MCP configuration."
|
|
652
640
|
},
|
|
653
641
|
{
|
|
654
|
-
"assetId": "
|
|
642
|
+
"assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
|
|
655
643
|
"adapter": "codex",
|
|
656
644
|
"status": "skipped",
|
|
657
|
-
"reason": "
|
|
645
|
+
"reason": "No stable native Codex mapping exists for this asset kind in V1.",
|
|
646
|
+
"scope": "demo",
|
|
647
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
658
648
|
},
|
|
659
649
|
{
|
|
660
|
-
"assetId": "nativePlugin:
|
|
650
|
+
"assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
|
|
661
651
|
"adapter": "codex",
|
|
662
652
|
"status": "skipped",
|
|
663
|
-
"reason": "
|
|
653
|
+
"reason": "No stable native Codex mapping exists for this asset kind in V1.",
|
|
654
|
+
"scope": "demo",
|
|
655
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
664
656
|
},
|
|
665
657
|
{
|
|
666
|
-
"assetId": "
|
|
658
|
+
"assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
667
659
|
"adapter": "codex",
|
|
668
|
-
"status": "
|
|
669
|
-
"reason": "
|
|
660
|
+
"status": "prompt",
|
|
661
|
+
"reason": "Mapped into the generated system prompt.",
|
|
662
|
+
"scope": "demo",
|
|
663
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
670
664
|
},
|
|
671
665
|
{
|
|
672
|
-
"assetId": "rule
|
|
666
|
+
"assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
|
|
673
667
|
"adapter": "codex",
|
|
674
668
|
"status": "prompt",
|
|
675
669
|
"reason": "Mapped into the generated system prompt."
|
|
676
670
|
},
|
|
677
671
|
{
|
|
678
|
-
"assetId": "
|
|
672
|
+
"assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
679
673
|
"adapter": "codex",
|
|
680
674
|
"status": "prompt",
|
|
681
675
|
"reason": "Mapped into the generated system prompt."
|
|
682
676
|
},
|
|
683
677
|
{
|
|
684
|
-
"assetId": "
|
|
678
|
+
"assetId": "spec:plugin:1:demo/release:<workspace>/node_modules/@vibe-forge/plugin-demo/specs/release/index.md",
|
|
685
679
|
"adapter": "codex",
|
|
686
680
|
"status": "prompt",
|
|
687
|
-
"reason": "Mapped into the generated system prompt."
|
|
681
|
+
"reason": "Mapped into the generated system prompt.",
|
|
682
|
+
"scope": "demo",
|
|
683
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
688
684
|
},
|
|
689
685
|
{
|
|
690
|
-
"assetId": "spec
|
|
686
|
+
"assetId": "spec:workspace:workspace:release:<workspace>/.ai/specs/release/index.md",
|
|
691
687
|
"adapter": "codex",
|
|
692
688
|
"status": "prompt",
|
|
693
689
|
"reason": "Mapped into the generated system prompt."
|
|
@@ -706,130 +702,139 @@
|
|
|
706
702
|
},
|
|
707
703
|
"overlays": [
|
|
708
704
|
{
|
|
709
|
-
"assetId": "agent
|
|
705
|
+
"assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
|
|
710
706
|
"kind": "agent",
|
|
711
|
-
"sourcePath": "<workspace
|
|
707
|
+
"sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
|
|
712
708
|
"targetPath": "agents/release-helper.md"
|
|
713
709
|
},
|
|
714
710
|
{
|
|
715
|
-
"assetId": "command
|
|
711
|
+
"assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
|
|
716
712
|
"kind": "command",
|
|
717
|
-
"sourcePath": "<workspace
|
|
713
|
+
"sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
|
|
718
714
|
"targetPath": "commands/review.md"
|
|
719
715
|
},
|
|
720
716
|
{
|
|
721
|
-
"assetId": "mode
|
|
717
|
+
"assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
|
|
722
718
|
"kind": "mode",
|
|
723
|
-
"sourcePath": "<workspace
|
|
719
|
+
"sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
|
|
724
720
|
"targetPath": "modes/strict.md"
|
|
725
721
|
},
|
|
726
722
|
{
|
|
727
|
-
"assetId": "nativePlugin
|
|
723
|
+
"assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
|
|
728
724
|
"kind": "nativePlugin",
|
|
729
|
-
"sourcePath": "<workspace
|
|
725
|
+
"sourcePath": "<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
|
|
730
726
|
"targetPath": "plugins/demo-plugin.js"
|
|
731
727
|
},
|
|
732
728
|
{
|
|
733
|
-
"assetId": "skill
|
|
729
|
+
"assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
734
730
|
"kind": "skill",
|
|
735
731
|
"sourcePath": "<workspace>/.ai/skills/research",
|
|
736
732
|
"targetPath": "skills/research"
|
|
737
733
|
}
|
|
738
734
|
],
|
|
739
|
-
"native": {},
|
|
740
735
|
"diagnostics": [
|
|
741
736
|
{
|
|
742
|
-
"assetId": "agent
|
|
737
|
+
"assetId": "agent:plugin:1:demo/release-helper:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/agents/release-helper.md",
|
|
743
738
|
"adapter": "opencode",
|
|
744
739
|
"status": "native",
|
|
745
|
-
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset."
|
|
740
|
+
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
|
|
741
|
+
"scope": "demo",
|
|
742
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
746
743
|
},
|
|
747
744
|
{
|
|
748
|
-
"assetId": "command
|
|
745
|
+
"assetId": "command:plugin:1:demo/review:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/commands/review.md",
|
|
749
746
|
"adapter": "opencode",
|
|
750
747
|
"status": "native",
|
|
751
|
-
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset."
|
|
748
|
+
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
|
|
749
|
+
"scope": "demo",
|
|
750
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
752
751
|
},
|
|
753
752
|
{
|
|
754
|
-
"assetId": "entity
|
|
753
|
+
"assetId": "entity:workspace:workspace:architect:<workspace>/.ai/entities/architect/README.md",
|
|
755
754
|
"adapter": "opencode",
|
|
756
755
|
"status": "prompt",
|
|
757
756
|
"reason": "Mapped into the generated system prompt."
|
|
758
757
|
},
|
|
759
758
|
{
|
|
760
|
-
"assetId": "hookPlugin:
|
|
761
|
-
"adapter": "opencode",
|
|
762
|
-
"status": "native",
|
|
763
|
-
"reason": "Mapped into the isolated OpenCode native hook plugin bridge under .ai/.mock/.config/opencode/plugins."
|
|
764
|
-
},
|
|
765
|
-
{
|
|
766
|
-
"assetId": "hookPlugin:user:telemetry",
|
|
759
|
+
"assetId": "hookPlugin:plugin:0:logger:<workspace>/node_modules/@vibe-forge/plugin-logger",
|
|
767
760
|
"adapter": "opencode",
|
|
768
761
|
"status": "native",
|
|
769
|
-
"reason": "Mapped into the
|
|
770
|
-
|
|
771
|
-
{
|
|
772
|
-
"assetId": "mcpServer:project:docs",
|
|
773
|
-
"adapter": "opencode",
|
|
774
|
-
"status": "translated",
|
|
775
|
-
"reason": "Translated into adapter-specific MCP configuration."
|
|
762
|
+
"reason": "Mapped into the OpenCode native hooks bridge.",
|
|
763
|
+
"packageId": "@vibe-forge/plugin-logger"
|
|
776
764
|
},
|
|
777
765
|
{
|
|
778
|
-
"assetId": "
|
|
766
|
+
"assetId": "hookPlugin:plugin:1:demo/demo:<workspace>/node_modules/@vibe-forge/plugin-demo",
|
|
779
767
|
"adapter": "opencode",
|
|
780
768
|
"status": "native",
|
|
781
|
-
"reason": "
|
|
769
|
+
"reason": "Mapped into the OpenCode native hooks bridge.",
|
|
770
|
+
"scope": "demo",
|
|
771
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
782
772
|
},
|
|
783
773
|
{
|
|
784
|
-
"assetId": "
|
|
774
|
+
"assetId": "hookPlugin:plugin:2:telemetry:<workspace>/node_modules/@vibe-forge/plugin-telemetry",
|
|
785
775
|
"adapter": "opencode",
|
|
786
776
|
"status": "native",
|
|
787
|
-
"reason": "
|
|
777
|
+
"reason": "Mapped into the OpenCode native hooks bridge.",
|
|
778
|
+
"packageId": "@vibe-forge/plugin-telemetry"
|
|
788
779
|
},
|
|
789
780
|
{
|
|
790
|
-
"assetId": "
|
|
781
|
+
"assetId": "mcpServer:workspace:workspace:docs:<workspace>/.ai.config.json",
|
|
791
782
|
"adapter": "opencode",
|
|
792
|
-
"status": "
|
|
793
|
-
"reason": "
|
|
783
|
+
"status": "translated",
|
|
784
|
+
"reason": "Translated into adapter-specific MCP configuration."
|
|
794
785
|
},
|
|
795
786
|
{
|
|
796
|
-
"assetId": "
|
|
787
|
+
"assetId": "mode:plugin:1:demo/strict:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/modes/strict.md",
|
|
797
788
|
"adapter": "opencode",
|
|
798
|
-
"status": "
|
|
799
|
-
"reason": "
|
|
789
|
+
"status": "native",
|
|
790
|
+
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
|
|
791
|
+
"scope": "demo",
|
|
792
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
800
793
|
},
|
|
801
794
|
{
|
|
802
|
-
"assetId": "nativePlugin:
|
|
795
|
+
"assetId": "nativePlugin:plugin:1:demo/demo-plugin:<workspace>/node_modules/@vibe-forge/plugin-demo/opencode/plugins/demo-plugin.js",
|
|
803
796
|
"adapter": "opencode",
|
|
804
|
-
"status": "
|
|
805
|
-
"reason": "
|
|
797
|
+
"status": "native",
|
|
798
|
+
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native OpenCode asset.",
|
|
799
|
+
"scope": "demo",
|
|
800
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
806
801
|
},
|
|
807
802
|
{
|
|
808
|
-
"assetId": "rule
|
|
803
|
+
"assetId": "rule:plugin:1:demo/security:<workspace>/node_modules/@vibe-forge/plugin-demo/rules/security.md",
|
|
809
804
|
"adapter": "opencode",
|
|
810
805
|
"status": "prompt",
|
|
811
|
-
"reason": "Mapped into the generated system prompt."
|
|
806
|
+
"reason": "Mapped into the generated system prompt.",
|
|
807
|
+
"scope": "demo",
|
|
808
|
+
"packageId": "@vibe-forge/plugin-demo"
|
|
812
809
|
},
|
|
813
810
|
{
|
|
814
|
-
"assetId": "rule
|
|
811
|
+
"assetId": "rule:workspace:workspace:review:<workspace>/.ai/rules/review.md",
|
|
815
812
|
"adapter": "opencode",
|
|
816
813
|
"status": "prompt",
|
|
817
814
|
"reason": "Mapped into the generated system prompt."
|
|
818
815
|
},
|
|
819
816
|
{
|
|
820
|
-
"assetId": "skill
|
|
817
|
+
"assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
821
818
|
"adapter": "opencode",
|
|
822
819
|
"status": "native",
|
|
823
820
|
"reason": "Mirrored into OPENCODE_CONFIG_DIR as a native skill."
|
|
824
821
|
},
|
|
825
822
|
{
|
|
826
|
-
"assetId": "skill
|
|
823
|
+
"assetId": "skill:workspace:workspace:research:<workspace>/.ai/skills/research/SKILL.md",
|
|
827
824
|
"adapter": "opencode",
|
|
828
825
|
"status": "prompt",
|
|
829
826
|
"reason": "Mapped into the generated system prompt."
|
|
830
827
|
},
|
|
831
828
|
{
|
|
832
|
-
"assetId": "spec
|
|
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",
|
|
833
838
|
"adapter": "opencode",
|
|
834
839
|
"status": "prompt",
|
|
835
840
|
"reason": "Mapped into the generated system prompt."
|