opencodekit 0.11.1 → 0.12.1
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 +43 -15
- package/dist/template/.opencode/AGENTS.md +12 -2
- package/dist/template/.opencode/agent/build.md +20 -20
- package/dist/template/.opencode/agent/explore.md +13 -13
- package/dist/template/.opencode/agent/planner.md +20 -20
- package/dist/template/.opencode/agent/review.md +18 -18
- package/dist/template/.opencode/agent/rush.md +20 -20
- package/dist/template/.opencode/agent/scout.md +16 -16
- package/dist/template/.opencode/agent/vision.md +19 -19
- package/dist/template/.opencode/command/create.md +1 -1
- package/dist/template/.opencode/command/import-plan.md +1 -1
- package/dist/template/.opencode/command/issue.md +5 -2
- package/dist/template/.opencode/command/plan.md +1 -1
- package/dist/template/.opencode/command/research.md +4 -0
- package/dist/template/.opencode/command/resume.md +11 -2
- package/dist/template/.opencode/command/revert-feature.md +1 -1
- package/dist/template/.opencode/command/status.md +3 -0
- package/dist/template/.opencode/command/triage.md +15 -12
- package/dist/template/.opencode/opencode.json +18 -10
- package/dist/template/.opencode/package.json +1 -1
- package/dist/template/.opencode/plugin/beads.ts +857 -270
- package/dist/template/.opencode/plugin/sessions.ts +295 -38
- package/dist/template/.opencode/skill/beads/SKILL.md +6 -18
- package/dist/template/.opencode/skill/beads/references/DEPENDENCIES.md +3 -3
- package/dist/template/.opencode/skill/beads/references/WORKFLOWS.md +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -750,7 +750,7 @@ var cac = (name = "") => new CAC(name);
|
|
|
750
750
|
// package.json
|
|
751
751
|
var package_default = {
|
|
752
752
|
name: "opencodekit",
|
|
753
|
-
version: "0.
|
|
753
|
+
version: "0.12.1",
|
|
754
754
|
description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
|
|
755
755
|
type: "module",
|
|
756
756
|
repository: {
|
|
@@ -3133,6 +3133,8 @@ async function copyOpenCodeOnly(templateRoot, targetDir) {
|
|
|
3133
3133
|
return true;
|
|
3134
3134
|
}
|
|
3135
3135
|
async function initCommand(options = {}) {
|
|
3136
|
+
if (process.argv.includes("--quiet"))
|
|
3137
|
+
return;
|
|
3136
3138
|
const targetDir = process.cwd();
|
|
3137
3139
|
const mode = detectMode(targetDir);
|
|
3138
3140
|
oe(import_picocolors7.default.bgCyan(import_picocolors7.default.black(" OpenCodeKit ")));
|
|
@@ -3203,9 +3205,9 @@ version: 1
|
|
|
3203
3205
|
}
|
|
3204
3206
|
|
|
3205
3207
|
// src/commands/menu.ts
|
|
3208
|
+
import { existsSync as existsSync6, lstatSync as lstatSync3, readdirSync as readdirSync5 } from "node:fs";
|
|
3209
|
+
import { basename as basename2, join as join6 } from "node:path";
|
|
3206
3210
|
var import_picocolors10 = __toESM(require_picocolors(), 1);
|
|
3207
|
-
import { existsSync as existsSync6, readdirSync as readdirSync5, lstatSync as lstatSync3 } from "node:fs";
|
|
3208
|
-
import { join as join6, basename as basename2 } from "node:path";
|
|
3209
3211
|
|
|
3210
3212
|
// src/commands/skill.ts
|
|
3211
3213
|
import { join as join4 } from "node:path";
|
|
@@ -3367,16 +3369,16 @@ async function viewSkill(opencodePath, skillName) {
|
|
|
3367
3369
|
}
|
|
3368
3370
|
|
|
3369
3371
|
// src/commands/upgrade.ts
|
|
3370
|
-
import { join as join5, dirname as dirname2 } from "node:path";
|
|
3371
|
-
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
3372
3372
|
import {
|
|
3373
|
+
copyFileSync,
|
|
3373
3374
|
existsSync as existsSync5,
|
|
3375
|
+
mkdirSync as mkdirSync3,
|
|
3374
3376
|
readFileSync as readFileSync5,
|
|
3375
|
-
writeFileSync as writeFileSync4,
|
|
3376
3377
|
readdirSync as readdirSync4,
|
|
3377
|
-
|
|
3378
|
-
copyFileSync
|
|
3378
|
+
writeFileSync as writeFileSync4
|
|
3379
3379
|
} from "node:fs";
|
|
3380
|
+
import { dirname as dirname2, join as join5 } from "node:path";
|
|
3381
|
+
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
3380
3382
|
var import_picocolors9 = __toESM(require_picocolors(), 1);
|
|
3381
3383
|
var PRESERVE_FILES = [
|
|
3382
3384
|
"opencode.json"
|
|
@@ -3495,6 +3497,8 @@ function copyDirPreserveExisting(src, dest) {
|
|
|
3495
3497
|
return { updated, preserved };
|
|
3496
3498
|
}
|
|
3497
3499
|
async function upgradeCommand(options = {}) {
|
|
3500
|
+
if (process.argv.includes("--quiet"))
|
|
3501
|
+
return;
|
|
3498
3502
|
const cwd = process.cwd();
|
|
3499
3503
|
const opencodeDir = join5(cwd, ".opencode");
|
|
3500
3504
|
if (!existsSync5(opencodeDir)) {
|
|
@@ -3610,6 +3614,8 @@ async function interactiveMenu(version) {
|
|
|
3610
3614
|
}
|
|
3611
3615
|
}
|
|
3612
3616
|
async function doctorCommand() {
|
|
3617
|
+
if (process.argv.includes("--quiet"))
|
|
3618
|
+
return;
|
|
3613
3619
|
const cwd = process.cwd();
|
|
3614
3620
|
const opencodeDir = join6(cwd, ".opencode");
|
|
3615
3621
|
const checks = [];
|
|
@@ -3662,6 +3668,8 @@ async function doctorCommand() {
|
|
|
3662
3668
|
}
|
|
3663
3669
|
}
|
|
3664
3670
|
async function statusCommand() {
|
|
3671
|
+
if (process.argv.includes("--quiet"))
|
|
3672
|
+
return;
|
|
3665
3673
|
const cwd = process.cwd();
|
|
3666
3674
|
const opencodeDir = join6(cwd, ".opencode");
|
|
3667
3675
|
if (!existsSync6(opencodeDir)) {
|
|
@@ -3715,18 +3723,38 @@ async function statusCommand() {
|
|
|
3715
3723
|
// src/utils/logger.ts
|
|
3716
3724
|
var import_picocolors11 = __toESM(require_picocolors(), 1);
|
|
3717
3725
|
var logger = {
|
|
3718
|
-
log: (message) =>
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3726
|
+
log: (message) => {
|
|
3727
|
+
if (!process.argv.includes("--quiet")) {
|
|
3728
|
+
console.log(message);
|
|
3729
|
+
}
|
|
3730
|
+
},
|
|
3731
|
+
info: (message) => {
|
|
3732
|
+
if (!process.argv.includes("--quiet")) {
|
|
3733
|
+
console.log(import_picocolors11.default.blue(`[i] ${message}`));
|
|
3734
|
+
}
|
|
3735
|
+
},
|
|
3736
|
+
success: (message) => {
|
|
3737
|
+
if (!process.argv.includes("--quiet")) {
|
|
3738
|
+
console.log(import_picocolors11.default.green(`[+] ${message}`));
|
|
3739
|
+
}
|
|
3740
|
+
},
|
|
3741
|
+
warn: (message) => {
|
|
3742
|
+
if (!process.argv.includes("--quiet")) {
|
|
3743
|
+
console.warn(import_picocolors11.default.yellow(`[!] ${message}`));
|
|
3744
|
+
}
|
|
3745
|
+
},
|
|
3746
|
+
error: (message) => {
|
|
3747
|
+
if (!process.argv.includes("--quiet")) {
|
|
3748
|
+
console.error(import_picocolors11.default.red(`[x] ${message}`));
|
|
3749
|
+
}
|
|
3750
|
+
},
|
|
3723
3751
|
debug: (message) => {
|
|
3724
|
-
if (process.env.DEBUG || process.argv.includes("--verbose")) {
|
|
3752
|
+
if ((process.env.DEBUG || process.argv.includes("--verbose")) && !process.argv.includes("--quiet")) {
|
|
3725
3753
|
console.log(import_picocolors11.default.dim(`[DEBUG] ${message}`));
|
|
3726
3754
|
}
|
|
3727
3755
|
},
|
|
3728
3756
|
verbose: (message) => {
|
|
3729
|
-
if (process.argv.includes("--verbose")) {
|
|
3757
|
+
if (process.argv.includes("--verbose") && !process.argv.includes("--quiet")) {
|
|
3730
3758
|
console.log(import_picocolors11.default.dim(message));
|
|
3731
3759
|
}
|
|
3732
3760
|
}
|
|
@@ -401,6 +401,16 @@ read_session("today") # Today's first session
|
|
|
401
401
|
read_session("ses_abc123", focus="file changes") # Specific aspect
|
|
402
402
|
```
|
|
403
403
|
|
|
404
|
+
**`search_session`** - Full-text search across sessions
|
|
405
|
+
|
|
406
|
+
```
|
|
407
|
+
search_session(query="auth bug") # Search all sessions
|
|
408
|
+
search_session(query="OAuth", session_id="ses_abc") # Search specific session
|
|
409
|
+
search_session(query="error", limit=10) # Limit results
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Use to find past discussions, decisions, or work on a topic before starting new work.
|
|
413
|
+
|
|
404
414
|
**`summarize_session`** - Generate AI summary of a session
|
|
405
415
|
|
|
406
416
|
```
|
|
@@ -499,9 +509,9 @@ Run `bd_cleanup` periodically to remove old closed issues. Use `bd_doctor` to ch
|
|
|
499
509
|
|
|
500
510
|
**Analysis Tools**
|
|
501
511
|
|
|
502
|
-
|
|
512
|
+
Use `bd_blocked` to see tasks with unresolved dependencies. Use `bd_dep` with action "tree" to visualize dependency chains.
|
|
503
513
|
|
|
504
|
-
|
|
514
|
+
Use `bd_diff` to compare issue changes between git revisions.
|
|
505
515
|
|
|
506
516
|
### Rules
|
|
507
517
|
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
description: Primary development agent with full codebase access. Use this agent for implementing features, writing code, running tests, and completing development tasks autonomously.
|
|
3
3
|
mode: primary
|
|
4
4
|
temperature: 0.1
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
codesearch:
|
|
17
|
-
ast-grep*:
|
|
18
|
-
lsp*:
|
|
19
|
-
context7*:
|
|
20
|
-
gh_grep*:
|
|
21
|
-
memory-read:
|
|
22
|
-
memory-update:
|
|
23
|
-
memory-search:
|
|
24
|
-
observation:
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
edit: allow
|
|
8
|
+
write: allow
|
|
9
|
+
patch: allow
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
codesearch: allow
|
|
17
|
+
ast-grep*: allow
|
|
18
|
+
lsp*: allow
|
|
19
|
+
context7*: allow
|
|
20
|
+
gh_grep*: allow
|
|
21
|
+
memory-read: allow
|
|
22
|
+
memory-update: allow
|
|
23
|
+
memory-search: allow
|
|
24
|
+
observation: allow
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
# Build Agent
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
description: Fast codebase search specialist. Use this agent to find files by patterns, search code for keywords, or understand how the codebase works. Specify thoroughness level - "quick" for simple lookups, "medium" for moderate exploration, "very thorough" for comprehensive analysis.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.1
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
todoread:
|
|
15
|
-
todowrite:
|
|
16
|
-
ast-grep*:
|
|
17
|
-
lsp*:
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
edit: deny
|
|
8
|
+
write: deny
|
|
9
|
+
patch: deny
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
todoread: deny
|
|
15
|
+
todowrite: deny
|
|
16
|
+
ast-grep*: allow
|
|
17
|
+
lsp*: allow
|
|
18
18
|
---
|
|
19
19
|
|
|
20
20
|
# Explore Agent
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
description: Strategic planning agent for architecture and design decisions. Use this agent for tasks with 3+ phases, complex coordination, or when you need to break down work into actionable steps with agent assignments.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.2
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
task:
|
|
17
|
-
todowrite:
|
|
18
|
-
todoread:
|
|
19
|
-
context7*:
|
|
20
|
-
codesearch:
|
|
21
|
-
gh_grep*:
|
|
22
|
-
memory-read:
|
|
23
|
-
memory-update:
|
|
24
|
-
bd_*:
|
|
5
|
+
permission:
|
|
6
|
+
bash: deny
|
|
7
|
+
edit: allow
|
|
8
|
+
write: allow
|
|
9
|
+
patch: deny
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
task: allow
|
|
17
|
+
todowrite: allow
|
|
18
|
+
todoread: allow
|
|
19
|
+
context7*: allow
|
|
20
|
+
codesearch: allow
|
|
21
|
+
gh_grep*: allow
|
|
22
|
+
memory-read: allow
|
|
23
|
+
memory-update: allow
|
|
24
|
+
bd_*: allow
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
# Plan Agent
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
description: Code review, debugging, and security audit specialist. Use this agent for critical analysis, complex debugging, architecture decisions, or when you need evidence-based recommendations.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.1
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
context7*:
|
|
17
|
-
gh_grep*:
|
|
18
|
-
codesearch:
|
|
19
|
-
memory-read:
|
|
20
|
-
memory-update:
|
|
21
|
-
ast-grep*:
|
|
22
|
-
lsp*:
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
edit: deny
|
|
8
|
+
write: deny
|
|
9
|
+
patch: deny
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
context7*: allow
|
|
17
|
+
gh_grep*: allow
|
|
18
|
+
codesearch: allow
|
|
19
|
+
memory-read: allow
|
|
20
|
+
memory-update: allow
|
|
21
|
+
ast-grep*: allow
|
|
22
|
+
lsp*: allow
|
|
23
23
|
---
|
|
24
24
|
|
|
25
25
|
# Review Agent
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
description: Fast primary agent for small, well-defined tasks. Use this agent when speed matters more than depth, or for straightforward edits and commands.
|
|
3
3
|
mode: primary
|
|
4
4
|
temperature: 0.1
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
ast-grep*:
|
|
17
|
-
lsp*:
|
|
18
|
-
context7*:
|
|
19
|
-
gh_grep*:
|
|
20
|
-
codesearch:
|
|
21
|
-
memory-read:
|
|
22
|
-
memory-update:
|
|
23
|
-
memory-search:
|
|
24
|
-
observation:
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
edit: allow
|
|
8
|
+
write: allow
|
|
9
|
+
patch: allow
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
ast-grep*: allow
|
|
17
|
+
lsp*: allow
|
|
18
|
+
context7*: allow
|
|
19
|
+
gh_grep*: allow
|
|
20
|
+
codesearch: allow
|
|
21
|
+
memory-read: allow
|
|
22
|
+
memory-update: allow
|
|
23
|
+
memory-search: allow
|
|
24
|
+
observation: allow
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
# Rush Agent
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
description: External research specialist for library docs, GitHub patterns, and framework analysis. Use this agent when you need API references, real-world code examples, or best practices from external sources.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.3
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
context7*:
|
|
17
|
-
gh_grep*:
|
|
18
|
-
codesearch:
|
|
19
|
-
memory-read:
|
|
20
|
-
memory-update:
|
|
5
|
+
permission:
|
|
6
|
+
bash: deny
|
|
7
|
+
edit: deny
|
|
8
|
+
write: deny
|
|
9
|
+
patch: deny
|
|
10
|
+
glob: deny
|
|
11
|
+
grep: deny
|
|
12
|
+
read: deny
|
|
13
|
+
list: deny
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
context7*: allow
|
|
17
|
+
gh_grep*: allow
|
|
18
|
+
codesearch: allow
|
|
19
|
+
memory-read: allow
|
|
20
|
+
memory-update: deny
|
|
21
21
|
---
|
|
22
22
|
|
|
23
23
|
# Scout Agent
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
description: Visual content specialist for multimodal analysis, mockups, PDFs, diagrams, and UI/UX guidance. Use this agent for image analysis, accessibility audits, and anti-AI-slop design recommendations.
|
|
3
3
|
mode: subagent
|
|
4
4
|
temperature: 0.3
|
|
5
|
-
|
|
6
|
-
bash:
|
|
7
|
-
edit:
|
|
8
|
-
write:
|
|
9
|
-
patch:
|
|
10
|
-
glob:
|
|
11
|
-
grep:
|
|
12
|
-
read:
|
|
13
|
-
list:
|
|
14
|
-
webfetch:
|
|
15
|
-
websearch:
|
|
16
|
-
task:
|
|
17
|
-
todowrite:
|
|
18
|
-
todoread:
|
|
19
|
-
context7*:
|
|
20
|
-
codesearch:
|
|
21
|
-
gh_grep*:
|
|
22
|
-
memory-read:
|
|
23
|
-
memory-update:
|
|
5
|
+
permission:
|
|
6
|
+
bash: allow
|
|
7
|
+
edit: deny
|
|
8
|
+
write: deny
|
|
9
|
+
patch: deny
|
|
10
|
+
glob: allow
|
|
11
|
+
grep: allow
|
|
12
|
+
read: allow
|
|
13
|
+
list: allow
|
|
14
|
+
webfetch: allow
|
|
15
|
+
websearch: allow
|
|
16
|
+
task: allow
|
|
17
|
+
todowrite: allow
|
|
18
|
+
todoread: allow
|
|
19
|
+
context7*: allow
|
|
20
|
+
codesearch: allow
|
|
21
|
+
gh_grep*: allow
|
|
22
|
+
memory-read: allow
|
|
23
|
+
memory-update: allow
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
# Vision Agent
|
|
@@ -410,7 +410,7 @@ Ready to start: bd-a3f8.1 (first unblocked task)
|
|
|
410
410
|
Next steps:
|
|
411
411
|
├── /implement bd-a3f8.1 (start first task)
|
|
412
412
|
├── bd ready (see all ready work)
|
|
413
|
-
└──
|
|
413
|
+
└── bd_blocked() (see blocked tasks)
|
|
414
414
|
|
|
415
415
|
For parallel agents:
|
|
416
416
|
├── Agent 1: /implement bd-a3f8.1
|
|
@@ -311,7 +311,7 @@ Created:
|
|
|
311
311
|
Next Steps:
|
|
312
312
|
├── View ready tasks: bd_ls({ status: "ready" })
|
|
313
313
|
├── Start first task: /implement bd-task-001
|
|
314
|
-
└── View dependencies:
|
|
314
|
+
└── View dependencies: bd_dep({ action: "tree", child: "<id>" })
|
|
315
315
|
```
|
|
316
316
|
|
|
317
317
|
---
|
|
@@ -14,11 +14,14 @@ skill({ name: "beads" });
|
|
|
14
14
|
|
|
15
15
|
## Phase 1: Check for Duplicates
|
|
16
16
|
|
|
17
|
-
Before creating, search for existing beads:
|
|
17
|
+
Before creating, search for existing similar beads:
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
|
+
// Search for similar issues
|
|
21
|
+
bd_search({ query: "[keywords from issue title]" });
|
|
22
|
+
|
|
23
|
+
// Or list recent beads
|
|
20
24
|
bd_ls({ status: "all", limit: 20 });
|
|
21
|
-
memory - search({ query: "[keywords from issue title]" });
|
|
22
25
|
```
|
|
23
26
|
|
|
24
27
|
If similar bead exists:
|
|
@@ -479,7 +479,7 @@ Artifacts:
|
|
|
479
479
|
Next Steps:
|
|
480
480
|
├── Start first task: /implement <bead>.1
|
|
481
481
|
├── See ready work: bd ready
|
|
482
|
-
└── See
|
|
482
|
+
└── See blocked tasks: bd_blocked()
|
|
483
483
|
|
|
484
484
|
For parallel agents:
|
|
485
485
|
├── Agent 1 (backend): claim <bead>.1
|
|
@@ -39,6 +39,10 @@ bd_reserve({
|
|
|
39
39
|
**Check for previous research:**
|
|
40
40
|
|
|
41
41
|
```typescript
|
|
42
|
+
// Search for past research on this topic
|
|
43
|
+
search_session({ query: "<topic keywords>" });
|
|
44
|
+
|
|
45
|
+
// Also check recent sessions
|
|
42
46
|
list_sessions({ project: "current", since: "this week", limit: 5 });
|
|
43
47
|
```
|
|
44
48
|
|
|
@@ -94,13 +94,22 @@ Options:
|
|
|
94
94
|
|
|
95
95
|
## Phase 4: Load Previous Session Context
|
|
96
96
|
|
|
97
|
-
### Step 1:
|
|
97
|
+
### Step 1: Search for Related Work
|
|
98
|
+
|
|
99
|
+
```typescript
|
|
100
|
+
// Search past sessions for work on this bead
|
|
101
|
+
search_session({ query: "$ARGUMENTS" });
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
This finds all sessions that discussed or worked on this bead.
|
|
105
|
+
|
|
106
|
+
### Step 2: Find Related Sessions
|
|
98
107
|
|
|
99
108
|
```typescript
|
|
100
109
|
list_sessions({ project: "current", limit: 10, _: true });
|
|
101
110
|
```
|
|
102
111
|
|
|
103
|
-
### Step
|
|
112
|
+
### Step 3: Identify Relevant Session
|
|
104
113
|
|
|
105
114
|
Look for sessions that:
|
|
106
115
|
|
|
@@ -30,6 +30,9 @@ bd_reservations({ reason: "Check file locks" });
|
|
|
30
30
|
// Sessions
|
|
31
31
|
list_sessions({ project: "current", since: "today", limit: 5, _: true });
|
|
32
32
|
|
|
33
|
+
// Search for recent activity on current work (if bead in progress)
|
|
34
|
+
search_session({ query: "<current-bead-id>", limit: 5 });
|
|
35
|
+
|
|
33
36
|
// Git state
|
|
34
37
|
bash("git status --porcelain");
|
|
35
38
|
bash("git branch --show-current");
|
|
@@ -29,6 +29,9 @@ bd_status({ include_agents: true });
|
|
|
29
29
|
bd_ls({ status: "open", limit: 50, offset: 0 });
|
|
30
30
|
bd_reservations({ reason: "Check active file locks" });
|
|
31
31
|
bd_inbox({ n: 10, unread: true, global: true });
|
|
32
|
+
|
|
33
|
+
// Search for past discussions on recurring issues
|
|
34
|
+
search_session({ query: "blocked OR regression OR urgent", limit: 10 });
|
|
32
35
|
```
|
|
33
36
|
|
|
34
37
|
Capture:
|
|
@@ -38,13 +41,15 @@ Capture:
|
|
|
38
41
|
- Active agents
|
|
39
42
|
- File locks
|
|
40
43
|
- Pending messages
|
|
44
|
+
- Past context on recurring issues
|
|
45
|
+
|
|
46
|
+
## Phase 3: Analyze Dependencies
|
|
41
47
|
|
|
42
|
-
|
|
48
|
+
Use `bd dep tree` to understand blocking relationships:
|
|
43
49
|
|
|
44
50
|
```typescript
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
bd_plan({ reason: "Parallel execution plan" });
|
|
51
|
+
// For each high-priority open task, check its dependency tree
|
|
52
|
+
bd_dep({ action: "tree", child: "<task-id>", type: "blocks" });
|
|
48
53
|
```
|
|
49
54
|
|
|
50
55
|
This provides:
|
|
@@ -52,8 +57,6 @@ This provides:
|
|
|
52
57
|
- **Bottlenecks**: Tasks blocking the most downstream work
|
|
53
58
|
- **Keystones**: High-impact tasks that unlock multiple paths
|
|
54
59
|
- **Cycles**: Circular dependencies (must break)
|
|
55
|
-
- **PageRank**: Importance score based on graph centrality
|
|
56
|
-
- **Parallel Tracks**: Independent work streams
|
|
57
60
|
|
|
58
61
|
## Phase 4: Priority Classification
|
|
59
62
|
|
|
@@ -86,7 +89,7 @@ This provides:
|
|
|
86
89
|
### Impact Scoring Formula
|
|
87
90
|
|
|
88
91
|
```
|
|
89
|
-
Impact Score = (Downstream Count × 2) +
|
|
92
|
+
Impact Score = (Downstream Count × 2) + (Priority Weight × 3)
|
|
90
93
|
|
|
91
94
|
Where Priority Weight:
|
|
92
95
|
P0 = 5, P1 = 4, P2 = 3, P3 = 2, P4 = 1
|
|
@@ -186,11 +189,11 @@ P0 │ bd-abc12 │ Database migration │ 24 │ AT_RISK
|
|
|
186
189
|
P1 │ bd-def34 │ API authentication │ 18 │ OK
|
|
187
190
|
P2 │ bd-ghi56 │ Config refactor │ 12 │ OK
|
|
188
191
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
192
|
+
READY TASKS
|
|
193
|
+
━━━━━━━━━━━
|
|
194
|
+
bd-xyz11 - "Frontend auth" - can start now
|
|
195
|
+
bd-xyz22 - "API endpoints" - can start now
|
|
196
|
+
bd-xyz33 - "Config update" - blocked by bd-abc12
|
|
194
197
|
|
|
195
198
|
AGENT WORKLOAD
|
|
196
199
|
━━━━━━━━━━━━━━
|