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.
Files changed (36) hide show
  1. package/dist/index.js +7683 -2224
  2. package/dist/template/.opencode/AGENTS.md +7 -7
  3. package/dist/template/.opencode/agent/build.md +1 -2
  4. package/dist/template/.opencode/agent/plan.md +0 -1
  5. package/dist/template/.opencode/agent/scout.md +52 -6
  6. package/dist/template/.opencode/command/create.md +2 -2
  7. package/dist/template/.opencode/command/design.md +1 -1
  8. package/dist/template/.opencode/command/handoff.md +2 -2
  9. package/dist/template/.opencode/command/plan.md +19 -19
  10. package/dist/template/.opencode/command/pr.md +2 -2
  11. package/dist/template/.opencode/command/research.md +9 -5
  12. package/dist/template/.opencode/command/resume.md +3 -3
  13. package/dist/template/.opencode/command/review-codebase.md +2 -2
  14. package/dist/template/.opencode/command/ship.md +4 -4
  15. package/dist/template/.opencode/command/start.md +7 -7
  16. package/dist/template/.opencode/command/status.md +3 -3
  17. package/dist/template/.opencode/command/ui-review.md +2 -2
  18. package/dist/template/.opencode/command/verify.md +1 -1
  19. package/dist/template/.opencode/memory/beads-workflow.md +65 -65
  20. package/dist/template/.opencode/memory.db-shm +0 -0
  21. package/dist/template/.opencode/memory.db-wal +0 -0
  22. package/dist/template/.opencode/plans/1770013678126-witty-planet.md +1 -1
  23. package/dist/template/.opencode/plans/1770112267595-shiny-rocket.md +258 -0
  24. package/dist/template/.opencode/plans/swarm-protocol.md +8 -8
  25. package/dist/template/.opencode/plugin/README.md +2 -2
  26. package/dist/template/.opencode/plugin/compaction.ts +1 -1
  27. package/dist/template/.opencode/plugin/swarm-enforcer.ts +6 -6
  28. package/dist/template/.opencode/skill/beads/SKILL.md +7 -7
  29. package/dist/template/.opencode/skill/beads-bridge/SKILL.md +3 -3
  30. package/dist/template/.opencode/skill/session-management/SKILL.md +2 -2
  31. package/dist/template/.opencode/skill/swarm-coordination/SKILL.md +4 -4
  32. package/dist/template/.opencode/skill/v1-run/SKILL.md +165 -0
  33. package/dist/template/.opencode/skill/v1-run/mcp.json +6 -0
  34. package/dist/template/.opencode/tool/beads-sync.ts +5 -5
  35. package/dist/template/.opencode/tool/observation.ts +1 -1
  36. 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("bd update parent-task --status in_progress");
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("bd close parent-task --reason 'Swarm completed all subtasks'");
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
- bd sync // Push Beads changes to git
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 `bd ready`
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 - `bd show <id>` - Task specs
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("bd close parent-task --reason 'Swarm completed all subtasks'");
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 `bd close`
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("bd close parent-task --reason 'Swarm completed'");
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" }) && bd close <bead>
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)
@@ -0,0 +1,6 @@
1
+ {
2
+ "v1": {
3
+ "command": "npx",
4
+ "args": ["-y", "mcp-remote", "https://api.v1.run/mcp"]
5
+ }
6
+ }
@@ -140,9 +140,9 @@ async function pushBeadsToTodos(
140
140
  filter = "open",
141
141
  ): Promise<string> {
142
142
  try {
143
- // Get beads tasks using bd list
144
- const statusFilter = filter === "all" ? "" : `--status=${filter}`;
145
- const { stdout } = await execAsync(`bd list ${statusFilter} --json`, {
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
- // bd list might not support --json, parse text output
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
- `bd close ${todo.beadId} --reason "Completed via todo"`,
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
- `bd edit ${args.bead_id} --note "${noteContent.replace(/"/g, '\\"')}"`,
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.2",
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
  }