bobs-workshop 3.1.4 → 3.1.6
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/README.md +20 -9
- package/config/agents.json +2 -2
- package/package.json +1 -1
- package/postinstall.js +11 -0
package/README.md
CHANGED
|
@@ -94,6 +94,19 @@ That's it. The installer:
|
|
|
94
94
|
- ✅ Shows clear error messages if conflicts exist
|
|
95
95
|
- ✅ Follows OpenCode's official directory structure
|
|
96
96
|
|
|
97
|
+
### Configure OpenCode
|
|
98
|
+
|
|
99
|
+
Add bobs-workshop to your `opencode.jsonc` plugins list:
|
|
100
|
+
|
|
101
|
+
```json
|
|
102
|
+
{
|
|
103
|
+
"$schema": "https://opencode.ai/config.json",
|
|
104
|
+
"plugin": ["bobs-workshop"]
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Both npm and scoped packages are supported (e.g., `@my-org/bobs-workshop`).
|
|
109
|
+
|
|
97
110
|
### See it working
|
|
98
111
|
|
|
99
112
|
Once installed, try your first workflow:
|
|
@@ -200,26 +213,26 @@ Bob's Workshop integrates with OpenCode through:
|
|
|
200
213
|
|
|
201
214
|
```
|
|
202
215
|
.opencode/
|
|
203
|
-
├── agents/ #
|
|
216
|
+
├── agents/ # Agent definitions (alice, bob, bob-rev, trace, bob-send)
|
|
204
217
|
│ ├── alice.md
|
|
205
218
|
│ ├── bob.md
|
|
206
219
|
│ ├── bob-rev.md
|
|
207
220
|
│ ├── trace.md
|
|
208
221
|
│ └── bob-send.md
|
|
209
|
-
├── skills/ #
|
|
222
|
+
├── skills/ # 16 specialized skills for agent invocation
|
|
210
223
|
│ ├── architecture/SKILL.md
|
|
211
224
|
│ ├── exploration/SKILL.md
|
|
212
225
|
│ ├── api-patterns/SKILL.md
|
|
213
226
|
│ └── ... (16 total skills)
|
|
214
|
-
├── tools/bobs-workshop/
|
|
227
|
+
├── tools/bobs-workshop/ # Plugin tools (loaded from npm package)
|
|
215
228
|
│ ├── background-agent/
|
|
216
229
|
│ ├── manual/
|
|
217
230
|
│ └── index.js
|
|
218
|
-
|
|
219
|
-
│ └── plugin.js
|
|
220
|
-
└── opencode.jsonc # Merged agent configs
|
|
231
|
+
└── opencode.jsonc # Config with plugin reference
|
|
221
232
|
```
|
|
222
233
|
|
|
234
|
+
The plugin is loaded from npm, so no local plugin file is needed. Just reference `"bobs-workshop"` in the `plugin` array.
|
|
235
|
+
|
|
223
236
|
|
|
224
237
|
## CLI (Optional)
|
|
225
238
|
|
|
@@ -239,8 +252,6 @@ bobs-workshop doctor
|
|
|
239
252
|
npm uninstall bobs-workshop
|
|
240
253
|
```
|
|
241
254
|
|
|
242
|
-
All files and configs are removed automatically.
|
|
243
|
-
|
|
244
255
|
## Development
|
|
245
256
|
|
|
246
257
|
```bash
|
|
@@ -263,7 +274,7 @@ npm publish
|
|
|
263
274
|
- **[Tailscale](https://tailscale.com)** - Seamless phone/laptop interoperability across devices
|
|
264
275
|
|
|
265
276
|
**AI Models**
|
|
266
|
-
- **
|
|
277
|
+
- **Kimi K2.5** - Primary model for planning and architecture (Alice, Trace agents)
|
|
267
278
|
- **MiniMax M2.1** - Primary model for implementation and verification (Bob, Bob-Rev, Bob-Send agents)
|
|
268
279
|
- **Break-glass Models (via OpenRouter)**: GPT 5.1, Gemini 3, or Sonnet 4.5
|
|
269
280
|
|
package/config/agents.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"alice": {
|
|
3
3
|
"description": "Architect agent - planning and manual authoring",
|
|
4
|
-
"model": "
|
|
4
|
+
"model": "kimi-for-coding/k2p5",
|
|
5
5
|
"temperature": 0.2
|
|
6
6
|
},
|
|
7
7
|
"bob": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"trace": {
|
|
18
18
|
"description": "Debug agent - root cause analysis and fixes",
|
|
19
|
-
"model": "
|
|
19
|
+
"model": "kimi-for-coding/k2p5",
|
|
20
20
|
"temperature": 0.15
|
|
21
21
|
},
|
|
22
22
|
"bob-send": {
|
package/package.json
CHANGED
package/postinstall.js
CHANGED
|
@@ -173,6 +173,17 @@ function postinstall() {
|
|
|
173
173
|
console.log('ℹ️ All agents already configured');
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
+
// Add bobs-workshop to plugins array
|
|
177
|
+
if (!config.plugin) {
|
|
178
|
+
config.plugin = [];
|
|
179
|
+
}
|
|
180
|
+
if (!config.plugin.includes('bobs-workshop')) {
|
|
181
|
+
config.plugin.push('bobs-workshop');
|
|
182
|
+
console.log('✅ Added bobs-workshop to plugins');
|
|
183
|
+
} else {
|
|
184
|
+
console.log('⏭️ bobs-workshop already in plugins, skipping');
|
|
185
|
+
}
|
|
186
|
+
|
|
176
187
|
const newConfig = JSON.stringify(config, null, 2);
|
|
177
188
|
writeFileSync(configPath, newConfig);
|
|
178
189
|
|