clikit-plugin 0.3.10 → 0.3.12

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 (51) hide show
  1. package/AGENTS.md +62 -41
  2. package/README.md +118 -57
  3. package/command/create.md +107 -20
  4. package/command/discuss.md +123 -0
  5. package/command/handoff.md +7 -5
  6. package/command/init.md +4 -3
  7. package/command/pr.md +2 -4
  8. package/command/research.md +130 -28
  9. package/command/resume.md +2 -2
  10. package/command/ship.md +1 -1
  11. package/command/start.md +12 -11
  12. package/command/status.md +20 -15
  13. package/dist/.tsbuildinfo +1 -1
  14. package/dist/clikit.schema.json +0 -8
  15. package/dist/config.d.ts +0 -5
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/hooks/index.d.ts +0 -2
  18. package/dist/hooks/index.d.ts.map +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +0 -77
  21. package/memory/_templates/discussion.md +99 -0
  22. package/memory/_templates/handoff.md +2 -2
  23. package/memory/_templates/plan.md +83 -176
  24. package/memory/_templates/research.md +33 -7
  25. package/memory/_templates/review.md +2 -2
  26. package/package.json +7 -6
  27. package/skill/beads/SKILL.md +29 -29
  28. package/skill/beads/mcp.json +1 -1
  29. package/skill/beads/references/api-reference.md +8 -3
  30. package/skill/requesting-code-review/SKILL.md +2 -2
  31. package/skill/ritual-workflow/SKILL.md +6 -4
  32. package/src/agents/AGENTS.md +21 -17
  33. package/src/agents/build.md +61 -63
  34. package/src/agents/explore.md +14 -14
  35. package/src/agents/plan.md +238 -94
  36. package/src/agents/research.md +41 -11
  37. package/src/agents/review.md +3 -3
  38. package/command/import-plan.md +0 -175
  39. package/command/issue.md +0 -109
  40. package/dist/hooks/tilth-first-guard.d.ts +0 -18
  41. package/dist/hooks/tilth-first-guard.d.ts.map +0 -1
  42. package/memory/_digest.md +0 -6
  43. package/memory/_templates/spec.md +0 -128
  44. package/memory/beads/.gitkeep +0 -0
  45. package/memory/handoffs/.gitkeep +0 -0
  46. package/memory/memory.db +0 -0
  47. package/memory/plans/.gitkeep +0 -0
  48. package/memory/prds/.gitkeep +0 -0
  49. package/memory/research/.gitkeep +0 -0
  50. package/memory/reviews/.gitkeep +0 -0
  51. package/memory/specs/.gitkeep +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@
7
7
  * - Git Guard — blocks dangerous git commands
8
8
  * - Security Check — scans for secrets before commits
9
9
  * - Subagent Question Blocker — prevents subagents from asking questions
10
- * - Tilth-First Guard — hard-enforces explicit tilth usage for @explore
11
10
  * - Truncator — dynamic output truncation
12
11
  * - Memory Digest — generates _digest.md from SQLite observations for agent access
13
12
  * - Tilth Reading — tilth-first smart file reading with glob/read/grep fallback
@@ -17,7 +16,6 @@ export { isEmptyContent, sanitizeContent, } from "./empty-message-sanitizer";
17
16
  export { checkDangerousCommand, formatBlockedWarning, type GitGuardResult, } from "./git-guard";
18
17
  export { scanContentForSecrets, isSensitiveFile, formatSecurityWarning, type SecurityFinding, type SecurityCheckResult, } from "./security-check";
19
18
  export { containsQuestion, isSubagentTool, formatBlockerWarning, } from "./subagent-question-blocker";
20
- export { isExploreAgent, isFallbackNavigationTool, isExplicitTilthCommand, markTilthAttempt, shouldBlockTilthFallback, formatTilthFirstGuardWarning, formatTilthFirstGuardReason, formatTilthFirstGuardPass, type TilthFirstGuardState, } from "./tilth-first-guard";
21
19
  export { shouldTruncate, truncateOutput, formatTruncationLog, type TruncatorConfig, type TruncateResult, } from "./truncator";
22
20
  export { generateMemoryDigest, formatDigestLog, type MemoryDigestConfig, } from "./memory-digest";
23
21
  export { syncTodosToBeads, formatTodoBeadsSyncLog, type OpenCodeTodo, type TodoBeadsSyncConfig, type TodoBeadsSyncResult, } from "./todo-beads-sync";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,cAAc,EACd,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,KAAK,kBAAkB,EACvB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA6IlD,QAAA,MAAM,YAAY,EAAE,MAo8BnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAmIlD,QAAA,MAAM,YAAY,EAAE,MA85BnB,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -16594,10 +16594,6 @@ var DEFAULT_CONFIG = {
16594
16594
  subagent_question_blocker: {
16595
16595
  enabled: true
16596
16596
  },
16597
- tilth_first_guard: {
16598
- enabled: true,
16599
- log: false
16600
- },
16601
16597
  truncator: {
16602
16598
  enabled: true,
16603
16599
  max_output_chars: 30000,
@@ -17166,46 +17162,6 @@ function isSubagentTool(toolName) {
17166
17162
  function formatBlockerWarning() {
17167
17163
  return `[CliKit:subagent-blocker] Subagent attempted to ask clarifying questions. Subagents should execute autonomously.`;
17168
17164
  }
17169
- // src/hooks/tilth-first-guard.ts
17170
- var EXPLORE_AGENT = "explore";
17171
- var FALLBACK_TOOLS = new Set(["read", "grep", "glob"]);
17172
- var EXPLICIT_TILTH_COMMAND = /^(?:npx\s+)?tilth(?:\s|$)/i;
17173
- function normalize(value) {
17174
- return typeof value === "string" ? value.trim().toLowerCase() : "";
17175
- }
17176
- function isExploreAgent(agent) {
17177
- return normalize(agent) === EXPLORE_AGENT;
17178
- }
17179
- function isFallbackNavigationTool(toolName) {
17180
- return FALLBACK_TOOLS.has(normalize(toolName));
17181
- }
17182
- function isExplicitTilthCommand(command) {
17183
- return typeof command === "string" && EXPLICIT_TILTH_COMMAND.test(command.trim());
17184
- }
17185
- function markTilthAttempt(state) {
17186
- return {
17187
- ...state || {},
17188
- sawTilthAttempt: true
17189
- };
17190
- }
17191
- function shouldBlockTilthFallback(agent, toolName, state) {
17192
- if (!isExploreAgent(agent)) {
17193
- return false;
17194
- }
17195
- if (!isFallbackNavigationTool(toolName)) {
17196
- return false;
17197
- }
17198
- return state?.sawTilthAttempt !== true;
17199
- }
17200
- function formatTilthFirstGuardWarning(toolName) {
17201
- return `[CliKit:tilth-first-guard] Blocked @explore from using ${toolName} before an explicit tilth CLI attempt.`;
17202
- }
17203
- function formatTilthFirstGuardReason(toolName) {
17204
- return `@explore must call 'tilth <path>' before using ${toolName}. read/grep/glob are fallback tools only.`;
17205
- }
17206
- function formatTilthFirstGuardPass(command) {
17207
- return `[CliKit:tilth-first-guard] Recorded tilth attempt for @explore: ${command}`;
17208
- }
17209
17165
  // src/hooks/truncator.ts
17210
17166
  var DEFAULT_MAX_CHARS = 30000;
17211
17167
  var DEFAULT_MAX_LINES = 500;
@@ -18433,13 +18389,7 @@ function ensureDcpInConfig() {
18433
18389
  var CliKitPlugin = async (ctx) => {
18434
18390
  const todosBySession = new Map;
18435
18391
  const sessionAgents = new Map;
18436
- const tilthFirstBySession = new Map;
18437
18392
  const defaultMcpEntries = {
18438
- "beads-village": {
18439
- type: "local",
18440
- command: ["npx", "-y", "beads-village"],
18441
- enabled: true
18442
- },
18443
18393
  context7: {
18444
18394
  type: "remote",
18445
18395
  url: "https://mcp.context7.com/mcp",
@@ -18953,7 +18903,6 @@ ${(content || "").trim()}`.trim();
18953
18903
  if (sessionID) {
18954
18904
  todosBySession.delete(sessionID);
18955
18905
  sessionAgents.delete(sessionID);
18956
- tilthFirstBySession.delete(sessionID);
18957
18906
  }
18958
18907
  }
18959
18908
  },
@@ -19058,32 +19007,6 @@ ${(content || "").trim()}`.trim();
19058
19007
  }
19059
19008
  }
19060
19009
  }
19061
- if (pluginConfig.hooks?.tilth_first_guard?.enabled !== false && isExploreAgent(activeAgent)) {
19062
- const tilthGuardConfig = pluginConfig.hooks?.tilth_first_guard;
19063
- const command = toolInput.command ?? toolInput.cmd;
19064
- try {
19065
- if (isToolNamed(toolName, "bash") && command && isExplicitTilthCommand(command)) {
19066
- const nextState = markTilthAttempt(tilthFirstBySession.get(sessionID));
19067
- tilthFirstBySession.set(sessionID, nextState);
19068
- if (tilthGuardConfig?.log === true) {
19069
- await cliLog("info", formatTilthFirstGuardPass(command.trim()));
19070
- }
19071
- }
19072
- if (isFallbackNavigationTool(toolName)) {
19073
- const state = tilthFirstBySession.get(sessionID);
19074
- if (shouldBlockTilthFallback(activeAgent, toolName, state)) {
19075
- await cliLog("warn", formatTilthFirstGuardWarning(toolName));
19076
- await showToast("@explore must call tilth before fallback tools", "warning", "CliKit Guard");
19077
- blockToolExecution(formatTilthFirstGuardReason(toolName));
19078
- }
19079
- }
19080
- } catch (error45) {
19081
- if (isBlockedToolExecutionError(error45)) {
19082
- throw error45;
19083
- }
19084
- await hookErr("tilth-first-guard", error45, { tool: toolName, sessionID, agent: activeAgent, command });
19085
- }
19086
- }
19087
19010
  },
19088
19011
  "tool.execute.after": async (input, output) => {
19089
19012
  const toolName = input.tool;
@@ -0,0 +1,99 @@
1
+ # Discussion Template
2
+
3
+ Use this template when documenting clarified intent before `/create`.
4
+
5
+ **Output path:** `.opencode/memory/discussions/YYYY-MM-DD-<topic>.md`
6
+
7
+ This template is optimized for an **interview-style pre-create discussion**: the report should reduce guessing for `/create`, `/research`, and `/start` by separating what the interview already resolved from what still needs downstream work.
8
+
9
+ ---
10
+
11
+ ```markdown
12
+ ---
13
+ topic: [Topic Name]
14
+ date: YYYY-MM-DD
15
+ status: draft | approved
16
+ mode: interactive | assumptions
17
+ bead_id: [optional]
18
+ ---
19
+
20
+ # Discussion: [Topic]
21
+
22
+ **Goal:** [What outcome the user wants]
23
+ **Why now:** [Why this needs to be clarified before planning]
24
+ **Assumptions:** [Any assumptions made due to incomplete context, or "None"]
25
+ **Interview focus:** [Which gray areas the discussion prioritized first]
26
+
27
+ ---
28
+
29
+ ## Scope Boundary
30
+
31
+ - **In scope:** [What this discussion covers]
32
+ - **Out of scope:** [What is explicitly excluded]
33
+
34
+ ---
35
+
36
+ ## Locked Decisions
37
+
38
+ Record only decisions that the interview actually resolved. If a topic stayed uncertain, move it to **Open Questions** instead of implying certainty.
39
+
40
+ ### Decision 1: [Title]
41
+ - **Decision:** [Confirmed choice]
42
+ - **Why it matters:** [Why `/create` or `/research` must preserve it]
43
+ - **Source:** user-confirmed | prior artifact-confirmed
44
+
45
+ ### Decision 2: [Title]
46
+ - **Decision:** [Confirmed choice]
47
+ - **Why it matters:** [Practical consequence]
48
+ - **Source:** user-confirmed | prior artifact-confirmed
49
+
50
+ ---
51
+
52
+ ## Confirmed Assumptions
53
+
54
+ Use this section for defaults accepted during the interview because prior artifacts or codebase evidence made them reasonable.
55
+
56
+ - **Assumption:** [What was assumed]
57
+ - **Confirmed by:** [user / artifact / codebase pattern]
58
+ - **Notes:** [Any caveat]
59
+
60
+ ---
61
+
62
+ ## Open Questions
63
+
64
+ Use this section for planning-critical ambiguity that the interview intentionally left unresolved.
65
+
66
+ - **Question:** [Unresolved item]
67
+ - **Why unresolved:** [Reason]
68
+ - **Next owner:** `/create` | `/research` | user
69
+
70
+ ---
71
+
72
+ ## Codebase Context
73
+
74
+ - **Relevant files/modules:** [Paths or components]
75
+ - **Existing patterns:** [Patterns worth preserving]
76
+ - **Reuse opportunities:** [What downstream work should reuse]
77
+ - **Constraints:** [Technical realities discovered locally]
78
+
79
+ ---
80
+
81
+ ## Canonical References
82
+
83
+ - [Internal doc, file, or prior artifact]
84
+ - [Another source downstream agents should read]
85
+
86
+ ---
87
+
88
+ ## Deferred / Later
89
+
90
+ - [Idea intentionally postponed]
91
+ - [Follow-up that should not expand current scope]
92
+
93
+ ---
94
+
95
+ ## Planning Notes
96
+
97
+ - [Specific instruction `/create` should preserve in the plan]
98
+ - [If useful: which question order or interview framing worked best for this topic]
99
+ ```
@@ -9,7 +9,7 @@ Use this template when saving state for session breaks.
9
9
  ```markdown
10
10
  ---
11
11
  date: YYYY-MM-DD
12
- phase: spec'd | researched | planned | implementing | validating
12
+ phase: discussed | researched | planned | implementing | validating
13
13
  branch: [git branch name]
14
14
  bead_id: [optional]
15
15
  ---
@@ -28,7 +28,7 @@ bead_id: [optional]
28
28
 
29
29
  | Type | Path | Status |
30
30
  |------|------|--------|
31
- | Spec | `.opencode/memory/specs/YYYY-MM-DD-descriptor.md` | Complete |
31
+ | Discussion | `.opencode/memory/discussions/YYYY-MM-DD-topic.md` | 🧭 Reference |
32
32
  | Plan | `.opencode/memory/plans/YYYY-MM-DD-feature.md` | ✅ Complete |
33
33
  | Research | `.opencode/memory/research/YYYY-MM-DD-topic.md` | 📚 Reference |
34
34
  | PRD | `.opencode/memory/prds/YYYY-MM-DD-feature.md` | ⏸️ In Review |
@@ -7,183 +7,90 @@ Use this template when creating implementation plans.
7
7
  ---
8
8
 
9
9
  ```markdown
10
- # Implementation Plan: [Feature]
11
-
12
- **Date:** YYYY-MM-DD
13
- **Author:** [Name]
14
- **Status:** Draft | Approved
15
- **bead_id:** [ID]
16
-
17
- ---
18
-
19
- ## Overview
20
-
21
- [Brief description of what will be built]
22
-
23
- ## References
24
-
25
- - **Spec:** `.opencode/memory/specs/YYYY-MM-DD-descriptor.md`
26
- - **PRD:** `.opencode/memory/prds/YYYY-MM-DD-feature.md` (if applicable)
27
- - **Research:** `.opencode/memory/research/YYYY-MM-DD-topic.md` (if applicable)
28
-
29
- ---
30
-
31
- ## Conventions & Past Decisions
32
-
33
- ### Git Conventions
34
- - **Commit format:** [e.g., conventional commits, prefix patterns]
35
- - **Branch naming:** [e.g., feature/xxx, bead/B-xxx]
36
- - **File organization:** [patterns observed from recent commits]
37
-
38
- ### Relevant Past Decisions
39
- - [Decision from memory/handoffs that affects this plan, or "None found"]
40
-
41
- ### Learnings & Gotchas
42
- - [Past learnings, blockers, workarounds from memory that apply, or "None found"]
43
-
44
- ### Prior Research
45
- - [Relevant findings from .opencode/memory/research/*.md, or "None found"]
46
-
47
- ---
48
-
49
- ## Tasks
50
-
51
- ### Task 1: [Title]
52
-
53
- | Field | Value |
54
- |-------|-------|
55
- | **task_id** | T-001 |
56
- | **type** | task \| bug \| feature \| chore |
57
- | **assignee** | build \| fe \| be \| mobile \| devops |
58
- | **effort** | S \| M \| L \| XL |
59
- | **priority** | P0 \| P1 \| P2 |
60
- | **status** | not_started \| in_progress \| blocked \| done |
61
- | **dependencies** | [T-xxx] or none |
62
-
63
- **Description:**
64
- [What needs to be done]
65
-
66
- **Input:**
67
- - [Required artifacts/context]
68
-
69
- **Output:**
70
- - [Expected deliverables]
71
- - [Files to create/modify]
72
-
73
- **Acceptance Criteria:**
74
- - [ ] AC-01: [Criteria]
75
- - [ ] AC-02: [Criteria]
76
-
77
- **Boundaries:**
78
- - [What NOT to do]
79
-
80
- **Task Packet:**
81
- - **packet_id:** P-T-001
82
- - **goal:** [Single executable concern]
83
- - **files_in_scope:**
84
- - create: [`path/to/new-file.ts`]
85
- - modify: [`path/to/existing.ts`]
86
- - delete: []
87
- - **verification_commands:**
88
- - `bun run typecheck`
89
- - `bun test path/to/test.ts`
90
- - **risks:**
91
- - [Top risk for this packet]
92
- - **escalate_if:**
93
- - [Verification fails twice]
94
- - [A file outside scope must be edited]
95
-
96
- ---
97
-
98
- ### Task 2: [Title]
99
-
100
- [Repeat structure]
101
-
102
- ---
103
-
104
- ## File Impact
105
-
106
- **Files to CREATE:**
107
- - `path/to/new-file.ts` — [Purpose]
108
-
109
- **Files to MODIFY:**
110
- - `path/to/existing.ts` — [Reason]
111
-
112
- **Files to DELETE:**
113
- - (none)
114
-
115
- ---
116
-
117
- ## Execution Model
118
-
119
- - Workflow quick mode: `/create → /start → /verify → /ship`
120
- - Workflow deep mode: `/create → /research → /design → /start → /verify → /ship`
121
- - Execution unit: **Task Packet**
122
- - Source of truth: **Beads**
123
- - `/start`: execute + per-packet verify loop
124
- - `/verify`: pre-ship gate (all 4 checks, SHIP_READY verdict required before `/ship`)
125
- - `/ship`: commit + sync/push landed changes in the shared checkout; `/pr` is an explicit exception path
126
-
127
- ---
128
-
129
- ## Dependencies
130
-
131
- ```mermaid
132
- graph TD
133
- T001[T-001: Title] --> T002[T-002: Title]
134
- T002 --> T003[T-003: Title]
135
- T001 --> T003
136
- ```
137
-
138
- ---
139
-
140
- ## Effort Summary
141
-
142
- | Task | Effort | Priority |
143
- |------|--------|----------|
144
- | T-001 | S | P0 |
145
- | T-002 | M | P0 |
146
- | T-003 | S | P1 |
147
-
148
- **Total Estimated Effort:** [X days/weeks]
149
-
150
- ---
151
-
152
- ## Risk Assessment
153
-
154
- | Risk | Probability | Impact | Mitigation |
155
- |------|-------------|--------|------------|
156
- | [Risk 1] | L/M/H | L/M/H | [Mitigation] |
157
-
158
- ---
159
-
160
- ## Quick Mode Eligibility
161
-
162
- Tasks eligible for Quick Mode (no full plan needed):
163
- - [ ] T-001 (S, ≤3 files, no security/db/api)
164
-
165
- ## Packet Checklist
166
-
167
- - [ ] Every task has a packet_id
168
- - [ ] Every packet stays within 1–3 files
169
- - [ ] Every packet has executable verification commands
170
- - [ ] Every packet has an escalate_if clause
171
- - [ ] File Impact matches all packet scopes
172
-
173
10
  ---
174
-
175
- ## Rollout Plan
176
-
177
- | Phase | Tasks | Milestone |
178
- |-------|-------|-----------|
179
- | Phase 1 | T-001, T-002 | [Milestone] |
180
- | Phase 2 | T-003 | [Milestone] |
181
-
11
+ phase: XX-name
12
+ plan: NN
13
+ type: execute
14
+ wave: N
15
+ depends_on: []
16
+ files_modified: []
17
+ autonomous: true
18
+ requirements: []
19
+ must_haves:
20
+ truths: []
21
+ artifacts: []
22
+ key_links: []
182
23
  ---
183
24
 
184
- ## Approval
185
-
186
- - [ ] Plan reviewed
187
- - [ ] User approved
188
- - [ ] Ready for implementation
25
+ <objective>
26
+ [What this plan accomplishes]
27
+ </objective>
28
+
29
+ <context>
30
+ [Relevant context files and source references]
31
+ </context>
32
+
33
+ <tasks>
34
+ <task type="auto">
35
+ <packet_id>P-T001</packet_id>
36
+ <task_id>T-001</task_id>
37
+ <name>Task 1: [Action-oriented name]</name>
38
+ <goal>[One executable concern]</goal>
39
+ <files_in_scope>
40
+ <create>[]</create>
41
+ <modify>["path/to/file.ext"]</modify>
42
+ <delete>[]</delete>
43
+ </files_in_scope>
44
+ <dependencies>[]</dependencies>
45
+ <action>[Specific implementation]</action>
46
+ <acceptance_criteria>
47
+ <criterion cmd="bun test path/to/test.ts">exits 0</criterion>
48
+ <criterion cmd="lsp_diagnostics path/to/file.ext">zero errors</criterion>
49
+ </acceptance_criteria>
50
+ <verification_commands>
51
+ <command>bun run typecheck</command>
52
+ <command>bun test path/to/test.ts</command>
53
+ </verification_commands>
54
+ <risks>
55
+ <risk>[Top risk for this packet]</risk>
56
+ </risks>
57
+ <escalate_if>
58
+ <condition>Verification fails after 2 attempts</condition>
59
+ <condition>Implementation requires file outside files_in_scope</condition>
60
+ </escalate_if>
61
+ <context_refs>
62
+ <discussion_paths>[]</discussion_paths>
63
+ <plan_path>.opencode/memory/plans/YYYY-MM-DD-<feature>.md</plan_path>
64
+ <research_paths>[]</research_paths>
65
+ </context_refs>
66
+ </task>
67
+ </tasks>
68
+
69
+ <file_impact>
70
+ <create>[]</create>
71
+ <modify>["path/to/file.ext"]</modify>
72
+ <delete>[]</delete>
73
+ </file_impact>
74
+
75
+ <dag>
76
+ <wave number="1">P-T001</wave>
77
+ </dag>
78
+
79
+ <boundaries>
80
+ <always>[Required invariants and constraints]</always>
81
+ <ask_first>[Changes that require explicit approval]</ask_first>
82
+ <never>[Out-of-scope or forbidden changes]</never>
83
+ </boundaries>
84
+
85
+ <out_of_scope>
86
+ [Explicitly excluded work]
87
+ </out_of_scope>
88
+
89
+ <verification>
90
+ [Overall phase checks]
91
+ </verification>
92
+
93
+ <success_criteria>
94
+ [Measurable completion]
95
+ </success_criteria>
189
96
  ```
@@ -4,6 +4,8 @@ Use this template when documenting research findings.
4
4
 
5
5
  **Output path:** `.opencode/memory/research/YYYY-MM-DD-<topic>.md`
6
6
 
7
+ This template is optimized for **pre-plan research**: the report should reduce guessing for Plan and Build, not just summarize information.
8
+
7
9
  ---
8
10
 
9
11
  ```markdown
@@ -21,25 +23,35 @@ bead_id: [optional]
21
23
  # Research: [Topic]
22
24
 
23
25
  **Question:** [Original research question]
26
+ **Planning Goal:** [What planning or implementation decision this report should unblock]
27
+ **Assumptions:** [Any assumption made because context was incomplete, or "None"]
24
28
 
25
29
  ---
26
30
 
27
31
  ## Summary
28
32
 
29
- [2-3 sentence answer to the research question]
33
+ [2-4 sentence answer that directly helps planning or execution]
34
+
35
+ ---
36
+
37
+ ## Research Brief
38
+
39
+ - **Decision gaps:** [Which unknowns this research was meant to resolve]
40
+ - **Constraints:** [Language, framework, platform, architecture, version limits]
41
+ - **Research scope:** [What was investigated and what was intentionally excluded]
30
42
 
31
43
  ---
32
44
 
33
45
  ## Key Findings
34
46
 
35
47
  ### Finding 1: [Title]
36
- [Details]
48
+ [VERIFIED]/[CITED]/[ASSUMED] [Details and why this matters]
37
49
 
38
50
  ### Finding 2: [Title]
39
- [Details]
51
+ [VERIFIED]/[CITED]/[ASSUMED] [Details and why this matters]
40
52
 
41
53
  ### Finding 3: [Title]
42
- [Details]
54
+ [VERIFIED]/[CITED]/[ASSUMED] [Details and why this matters]
43
55
 
44
56
  ---
45
57
 
@@ -76,10 +88,24 @@ bead_id: [optional]
76
88
 
77
89
  ---
78
90
 
79
- ## Verification Steps
91
+ ## Planning Impact
92
+
93
+ - [How this research should influence the plan or packet boundaries]
94
+ - [What Build should avoid or sequence carefully]
95
+ - [Any dependency, migration, or scope implications]
96
+
97
+ ---
98
+
99
+ ## Verification Hooks
100
+
101
+ - [ ] [Targeted test, command, or assertion to run during implementation]
102
+ - [ ] [Another implementation-time check]
103
+
104
+ ---
105
+
106
+ ## Conflicting Evidence (if any)
80
107
 
81
- - [ ] [Item to verify in implementation]
82
- - [ ] [Test with specific scenario]
108
+ - [Source A says X, source B says Y, and the practical implication]
83
109
 
84
110
  ---
85
111
 
@@ -1,6 +1,6 @@
1
1
  # Review Template
2
2
 
3
- Use this template when reviewing code, PRDs, specs, or plans.
3
+ Use this template when reviewing code, PRDs, or plans.
4
4
 
5
5
  **Output path:** `.opencode/memory/reviews/YYYY-MM-DD-<subject>-review.md`
6
6
 
@@ -8,7 +8,7 @@ Use this template when reviewing code, PRDs, specs, or plans.
8
8
 
9
9
  ```markdown
10
10
  ---
11
- type: Code | PRD | Spec | Plan | Security
11
+ type: Code | PRD | Plan | Security
12
12
  date: YYYY-MM-DD
13
13
  reviewer: [Name/Agent]
14
14
  artifact: [Path to reviewed artifact]
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "clikit-plugin",
3
- "version": "0.3.10",
4
- "description": "OpenCode plugin 7 agents, 15 commands, 25 skills, 12 hooks",
3
+ "version": "0.3.12",
4
+ "description": "Workflow layer for OpenCode — agents, commands, hooks, memory, and verification",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "bin": {
9
- "clikit": "./dist/cli.js"
9
+ "clikit": "dist/cli.js"
10
10
  },
11
11
  "exports": {
12
12
  ".": {
@@ -20,16 +20,17 @@
20
20
  "src/agents",
21
21
  "skill",
22
22
  "command",
23
- "memory",
23
+ "memory/_templates",
24
+ "memory/project",
24
25
  "AGENTS.md",
25
26
  "README.md"
26
27
  ],
27
28
  "scripts": {
28
29
  "build": "bun build src/index.ts src/cli.ts --outdir dist --target bun --format esm && tsc --emitDeclarationOnly && cp src/clikit.schema.json dist/clikit.schema.json",
29
- "clean": "rm -rf dist",
30
+ "clean": "node -e \"const fs=require('fs'); fs.rmSync('dist',{recursive:true,force:true});\"",
30
31
  "lint": "tsc --noEmit",
31
32
  "prepublishOnly": "bun run clean && bun run build",
32
- "postpublish": "rm -rf ~/.cache/opencode/node_modules/clikit-plugin && rm -f ~/.cache/opencode/bun.lock && echo '✓ Cleared OpenCode plugin cache — next start will install fresh'",
33
+ "postpublish": "node -e \"const fs=require('fs'); const os=require('os'); const path=require('path'); const root=path.join(os.homedir(),'.cache','opencode'); fs.rmSync(path.join(root,'node_modules','clikit-plugin'),{recursive:true,force:true}); fs.rmSync(path.join(root,'bun.lock'),{force:true}); console.log('✓ Cleared OpenCode plugin cache — next start will install fresh');\"",
33
34
  "typecheck": "tsc --noEmit",
34
35
  "verify": "bun run lint && bun run build",
35
36
  "dev": "bun run build --watch"