opencodekit 0.16.2 → 0.16.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.
- package/dist/index.js +7683 -2224
- package/dist/template/.opencode/AGENTS.md +7 -7
- package/dist/template/.opencode/agent/build.md +1 -2
- package/dist/template/.opencode/agent/plan.md +0 -1
- package/dist/template/.opencode/agent/scout.md +52 -6
- package/dist/template/.opencode/command/create.md +2 -2
- package/dist/template/.opencode/command/design.md +1 -1
- package/dist/template/.opencode/command/handoff.md +2 -2
- package/dist/template/.opencode/command/plan.md +19 -19
- package/dist/template/.opencode/command/pr.md +2 -2
- package/dist/template/.opencode/command/research.md +9 -5
- package/dist/template/.opencode/command/resume.md +3 -3
- package/dist/template/.opencode/command/review-codebase.md +2 -2
- package/dist/template/.opencode/command/ship.md +4 -4
- package/dist/template/.opencode/command/start.md +7 -7
- package/dist/template/.opencode/command/status.md +3 -3
- package/dist/template/.opencode/command/ui-review.md +2 -2
- package/dist/template/.opencode/command/verify.md +1 -1
- package/dist/template/.opencode/memory/beads-workflow.md +65 -65
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/plans/1770013678126-witty-planet.md +1 -1
- package/dist/template/.opencode/plans/1770112267595-shiny-rocket.md +258 -0
- package/dist/template/.opencode/plans/swarm-protocol.md +8 -8
- package/dist/template/.opencode/plugin/README.md +2 -2
- package/dist/template/.opencode/plugin/compaction.ts +1 -1
- package/dist/template/.opencode/plugin/swarm-enforcer.ts +6 -6
- package/dist/template/.opencode/skill/beads/SKILL.md +7 -7
- package/dist/template/.opencode/skill/beads-bridge/SKILL.md +3 -3
- package/dist/template/.opencode/skill/session-management/SKILL.md +2 -2
- package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +4 -4
- package/dist/template/.opencode/skill/v1-run/SKILL.md +165 -0
- package/dist/template/.opencode/skill/v1-run/mcp.json +6 -0
- package/dist/template/.opencode/tool/beads-sync.ts +5 -5
- package/dist/template/.opencode/tool/observation.ts +1 -1
- package/package.json +4 -5
|
@@ -145,7 +145,7 @@ Full cycle from Beads task to swarm execution and back:
|
|
|
145
145
|
await beads_sync({ operation: "push" });
|
|
146
146
|
|
|
147
147
|
// 2. Claim the parent Bead
|
|
148
|
-
await bash("
|
|
148
|
+
await bash("br update parent-task --status in_progress");
|
|
149
149
|
|
|
150
150
|
// 3. Analyze and spawn swarm
|
|
151
151
|
const analysis = await swarm_plan({
|
|
@@ -167,7 +167,7 @@ await swarm_monitor({
|
|
|
167
167
|
});
|
|
168
168
|
|
|
169
169
|
// 7. Close parent Bead
|
|
170
|
-
await bash("
|
|
170
|
+
await bash("br close parent-task --reason 'Swarm completed all subtasks'");
|
|
171
171
|
```
|
|
172
172
|
|
|
173
173
|
### Pattern B: Dependency-Aware Task Scheduling
|
|
@@ -278,7 +278,7 @@ DURING WORK:
|
|
|
278
278
|
SESSION END:
|
|
279
279
|
beads-sync({ operation: "pull" }) // Sync completed todos back to Beads
|
|
280
280
|
swarm-monitor({ operation: "clear", team_name: "..." }) // Cleanup swarm state
|
|
281
|
-
|
|
281
|
+
br sync --flush-only // Export Beads changes to git
|
|
282
282
|
|
|
283
283
|
RECOVERY:
|
|
284
284
|
beads-sync({ operation: "get_shared", list_id: "..." }) // Get shared task list
|
|
@@ -64,7 +64,7 @@ Use before `read_session` to get a quick overview of what happened in a past ses
|
|
|
64
64
|
|
|
65
65
|
## When to Start New Session
|
|
66
66
|
|
|
67
|
-
- Completing distinct task from `
|
|
67
|
+
- Completing distinct task from `br ready`
|
|
68
68
|
- Token usage approaching 150k
|
|
69
69
|
- Switching phases (implementation → review → testing)
|
|
70
70
|
- After handoff (`/handoff <bead-id>`)
|
|
@@ -90,7 +90,7 @@ Use all available sources:
|
|
|
90
90
|
1. `read_session("last")` - Previous session work
|
|
91
91
|
2. Git state - `git diff`, `git log` - Code changes
|
|
92
92
|
3. Memory files - `.opencode/memory/*` - Persistent context
|
|
93
|
-
4. Beads - `
|
|
93
|
+
4. Beads - `br show <id>` - Task specs
|
|
94
94
|
|
|
95
95
|
**Don't**: Carry everything forward. Extract what's needed, discard the rest.
|
|
96
96
|
|
|
@@ -264,7 +264,7 @@ await swarm_monitor({
|
|
|
264
264
|
});
|
|
265
265
|
|
|
266
266
|
// 5. Close parent bead
|
|
267
|
-
await bash("
|
|
267
|
+
await bash("br close parent-task --reason 'Swarm completed all subtasks'");
|
|
268
268
|
```
|
|
269
269
|
|
|
270
270
|
## Dependency Graph Features
|
|
@@ -477,7 +477,7 @@ Swarm works on top of Beads:
|
|
|
477
477
|
3. **Workers claim child** beads (via delegation packets)
|
|
478
478
|
4. **Progress tracked** via `swarm-monitor progress_update`
|
|
479
479
|
5. **Completion syncs** back via `beads-sync pull`
|
|
480
|
-
6. **Close parent** bead with `
|
|
480
|
+
6. **Close parent** bead with `br close`
|
|
481
481
|
|
|
482
482
|
```typescript
|
|
483
483
|
// Full integration workflow
|
|
@@ -486,7 +486,7 @@ await beads_sync({ operation: "push" }); // Make Beads visible
|
|
|
486
486
|
await swarm_monitor({ operation: "render_block", team_name: "..." }); // Monitor progress
|
|
487
487
|
// ... monitor completion ...
|
|
488
488
|
await beads_sync({ operation: "pull" }); // Sync completed back
|
|
489
|
-
await bash("
|
|
489
|
+
await bash("br close parent-task --reason 'Swarm completed'");
|
|
490
490
|
```
|
|
491
491
|
|
|
492
492
|
## Quick Reference - Kimi K2.5 PARL Pattern
|
|
@@ -506,7 +506,7 @@ SWARM LAUNCH (PARL):
|
|
|
506
506
|
5. MONITOR: swarm_monitor({ operation: "render_block" })
|
|
507
507
|
→ Real-time TUI progress
|
|
508
508
|
6. VERIFY: npm run typecheck && npm run lint && npm test
|
|
509
|
-
7. CLOSE: beads-sync({ operation: "pull" }) &&
|
|
509
|
+
7. CLOSE: beads-sync({ operation: "pull" }) && br close <bead>
|
|
510
510
|
|
|
511
511
|
WORKER EXECUTION:
|
|
512
512
|
1. Read delegation packet
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: v1-run
|
|
3
|
+
description: npm package intelligence via MCP. Real-time versions, vulnerability data, health scores, and package comparisons. Use when selecting npm packages, checking for vulnerabilities, or comparing alternatives.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# v1.run MCP
|
|
7
|
+
|
|
8
|
+
Fast, accurate npm package intelligence for AI agents via Model Context Protocol.
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
v1.run is an MCP-first npm registry by Midday.ai that provides:
|
|
13
|
+
|
|
14
|
+
- **Real-time version data** - No hallucinated packages
|
|
15
|
+
- **Security vulnerabilities** - From OSV database
|
|
16
|
+
- **Health scores** - Automated 0-100 scoring
|
|
17
|
+
- **Package comparisons** - 50+ pre-built categories
|
|
18
|
+
|
|
19
|
+
## MCP Endpoint
|
|
20
|
+
|
|
21
|
+
**URL**: `https://api.v1.run/mcp`
|
|
22
|
+
|
|
23
|
+
**Authentication**: None required (public API)
|
|
24
|
+
|
|
25
|
+
## Configuration
|
|
26
|
+
|
|
27
|
+
v1.run MCP is pre-configured as a skill. Load it with:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
skill({ name: "v1-run" });
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Manual Setup (if needed)
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"v1": {
|
|
39
|
+
"url": "https://api.v1.run/mcp"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Available Tools
|
|
46
|
+
|
|
47
|
+
| Tool | Description |
|
|
48
|
+
| ----------------------- | ----------------------------------------------------------------------------------------------------------------- |
|
|
49
|
+
| `get_package_health` | Comprehensive health assessment (primary tool) - version, vulns, score, downloads, TS support, AI recommendations |
|
|
50
|
+
| `get_package_version` | Get latest version of a package |
|
|
51
|
+
| `check_deprecated` | Check if package is deprecated + get alternatives |
|
|
52
|
+
| `check_types` | Check TypeScript support (bundled or @types) |
|
|
53
|
+
| `check_vulnerabilities` | Security vulnerabilities from OSV database |
|
|
54
|
+
| `find_alternatives` | Find alternative packages with recommendations |
|
|
55
|
+
| `compare_packages` | Side-by-side comparison (2-5 packages) |
|
|
56
|
+
|
|
57
|
+
## Health Score System
|
|
58
|
+
|
|
59
|
+
Packages are scored 0-100 based on:
|
|
60
|
+
|
|
61
|
+
| Factor | Weight | Measures |
|
|
62
|
+
| ----------- | ------ | --------------------------------------- |
|
|
63
|
+
| Downloads | 20% | Weekly downloads + trend direction |
|
|
64
|
+
| Bundle Size | 20% | Smaller gzip = higher score |
|
|
65
|
+
| Freshness | 25% | Recent commits and releases |
|
|
66
|
+
| Community | 10% | Stars, contributors |
|
|
67
|
+
| Quality | 25% | TypeScript, ESM, security, tree-shaking |
|
|
68
|
+
|
|
69
|
+
## Usage Examples
|
|
70
|
+
|
|
71
|
+
### Check Package Health
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
// Get comprehensive health info for a package (primary tool)
|
|
75
|
+
skill_mcp({ skill_name: "v1-run", tool_name: "get_package_health", arguments: '{"name": "zod"}' });
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Response includes:
|
|
79
|
+
|
|
80
|
+
- Latest version
|
|
81
|
+
- Known vulnerabilities (CVEs)
|
|
82
|
+
- Health score (0-100) with grade
|
|
83
|
+
- Weekly downloads + trend
|
|
84
|
+
- TypeScript support
|
|
85
|
+
- Maintenance status
|
|
86
|
+
- AI recommendation
|
|
87
|
+
|
|
88
|
+
### Check for Deprecation
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// Check if package is deprecated and get alternatives
|
|
92
|
+
skill_mcp({
|
|
93
|
+
skill_name: "v1-run",
|
|
94
|
+
tool_name: "check_deprecated",
|
|
95
|
+
arguments: '{"name": "request"}',
|
|
96
|
+
});
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Check Vulnerabilities
|
|
100
|
+
|
|
101
|
+
```typescript
|
|
102
|
+
// Check specific version for security issues
|
|
103
|
+
skill_mcp({
|
|
104
|
+
skill_name: "v1-run",
|
|
105
|
+
tool_name: "check_vulnerabilities",
|
|
106
|
+
arguments: '{"name": "lodash", "version": "4.17.20"}',
|
|
107
|
+
});
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Find Alternatives
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
// Find alternative packages
|
|
114
|
+
skill_mcp({
|
|
115
|
+
skill_name: "v1-run",
|
|
116
|
+
tool_name: "find_alternatives",
|
|
117
|
+
arguments: '{"name": "moment"}',
|
|
118
|
+
});
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Compare Packages
|
|
122
|
+
|
|
123
|
+
```typescript
|
|
124
|
+
// Compare similar packages (2-5 packages)
|
|
125
|
+
skill_mcp({
|
|
126
|
+
skill_name: "v1-run",
|
|
127
|
+
tool_name: "compare_packages",
|
|
128
|
+
arguments: '{"packages": ["zod", "yup", "joi", "valibot"]}',
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Pre-built Categories (50+)
|
|
133
|
+
|
|
134
|
+
v1.run includes comparisons for popular package categories:
|
|
135
|
+
|
|
136
|
+
- **HTTP clients**: axios, got, ky, node-fetch
|
|
137
|
+
- **Date libraries**: moment, date-fns, dayjs, luxon
|
|
138
|
+
- **Validation**: zod, yup, joi, ajv, valibot
|
|
139
|
+
- **State management**: redux, zustand, jotai, recoil
|
|
140
|
+
- **ORM**: prisma, drizzle, typeorm, sequelize
|
|
141
|
+
- **Testing**: vitest, jest, mocha, ava
|
|
142
|
+
- **Bundlers**: vite, esbuild, webpack, rollup
|
|
143
|
+
- **Logging**: pino, winston, bunyan
|
|
144
|
+
|
|
145
|
+
## When to Use
|
|
146
|
+
|
|
147
|
+
Use v1.run MCP when:
|
|
148
|
+
|
|
149
|
+
1. **Choosing between packages** - Get objective comparisons
|
|
150
|
+
2. **Checking for vulnerabilities** - Before adding dependencies
|
|
151
|
+
3. **Evaluating maintenance** - Is the package actively maintained?
|
|
152
|
+
4. **Finding alternatives** - Discover better options for a package
|
|
153
|
+
|
|
154
|
+
## Best Practices
|
|
155
|
+
|
|
156
|
+
1. **Always check health** before adding new dependencies
|
|
157
|
+
2. **Compare alternatives** when multiple packages solve the same problem
|
|
158
|
+
3. **Verify TypeScript support** for TypeScript projects
|
|
159
|
+
4. **Check bundle size** for frontend applications
|
|
160
|
+
|
|
161
|
+
## Documentation
|
|
162
|
+
|
|
163
|
+
- [v1.run](https://v1.run)
|
|
164
|
+
- [GitHub: midday-ai/v1](https://github.com/midday-ai/v1)
|
|
165
|
+
- [MCP Documentation](https://modelcontextprotocol.io)
|
|
@@ -140,9 +140,9 @@ async function pushBeadsToTodos(
|
|
|
140
140
|
filter = "open",
|
|
141
141
|
): Promise<string> {
|
|
142
142
|
try {
|
|
143
|
-
// Get beads tasks using
|
|
144
|
-
const statusFilter = filter === "all" ? "" : `--status
|
|
145
|
-
const { stdout } = await execAsync(`
|
|
143
|
+
// Get beads tasks using br list (beads_rust)
|
|
144
|
+
const statusFilter = filter === "all" ? "" : `--status ${filter}`;
|
|
145
|
+
const { stdout } = await execAsync(`br list ${statusFilter} --json`, {
|
|
146
146
|
cwd: worktree,
|
|
147
147
|
});
|
|
148
148
|
|
|
@@ -150,7 +150,7 @@ async function pushBeadsToTodos(
|
|
|
150
150
|
try {
|
|
151
151
|
beadTasks = JSON.parse(stdout);
|
|
152
152
|
} catch {
|
|
153
|
-
//
|
|
153
|
+
// br list might not support --json, parse text output
|
|
154
154
|
beadTasks = parseBeadListOutput(stdout);
|
|
155
155
|
}
|
|
156
156
|
|
|
@@ -262,7 +262,7 @@ async function pullTodosToBeads(
|
|
|
262
262
|
for (const todo of completedBeadTodos) {
|
|
263
263
|
try {
|
|
264
264
|
await execAsync(
|
|
265
|
-
`
|
|
265
|
+
`br close ${todo.beadId} --reason "Completed via todo"`,
|
|
266
266
|
{ cwd: worktree },
|
|
267
267
|
);
|
|
268
268
|
updated.push(todo.beadId!);
|
|
@@ -254,7 +254,7 @@ export default tool({
|
|
|
254
254
|
const { execSync } = await import("node:child_process");
|
|
255
255
|
const noteContent = `${TYPE_ICONS[obsType]} ${obsType}: ${args.title}`;
|
|
256
256
|
execSync(
|
|
257
|
-
`
|
|
257
|
+
`br edit ${args.bead_id} --note "${noteContent.replace(/"/g, '\\"')}"`,
|
|
258
258
|
{
|
|
259
259
|
cwd: process.cwd(),
|
|
260
260
|
encoding: "utf-8",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencodekit",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.4",
|
|
4
4
|
"description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
5
5
|
"keywords": ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
"@opencode-ai/plugin": "^1.1.12",
|
|
39
39
|
"@opentui/core": "^0.1.72",
|
|
40
40
|
"@opentui/solid": "^0.1.72",
|
|
41
|
-
"beads-village": "^1.3.3",
|
|
42
41
|
"cac": "^6.7.14",
|
|
43
42
|
"cli-table3": "^0.6.5",
|
|
43
|
+
"diff": "^8.0.3",
|
|
44
44
|
"ora": "^9.0.0",
|
|
45
45
|
"picocolors": "^1.1.1",
|
|
46
46
|
"solid-js": "1.9.9",
|
|
47
47
|
"zod": "^3.25.76"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@beads/bd": "^0.29.0",
|
|
51
50
|
"@biomejs/biome": "^1.9.4",
|
|
52
51
|
"@types/bun": "latest",
|
|
52
|
+
"@types/diff": "^8.0.0",
|
|
53
53
|
"@types/node": "^22.19.5",
|
|
54
54
|
"oxfmt": "^0.23.0",
|
|
55
55
|
"oxlint": "^1.38.0",
|
|
@@ -57,6 +57,5 @@
|
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
59
59
|
"bun": ">=1.3.2"
|
|
60
|
-
}
|
|
61
|
-
"trustedDependencies": ["@beads/bd"]
|
|
60
|
+
}
|
|
62
61
|
}
|