@damper/cli 0.6.14 → 0.7.0

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.
@@ -113,8 +113,10 @@ export async function startCommand(options) {
113
113
  else {
114
114
  // New task - lock it first
115
115
  console.log(pc.dim('\nLocking task in Damper...'));
116
+ let completionChecklist;
116
117
  try {
117
- await api.startTask(taskId, forceTakeover);
118
+ const startResult = await api.startTask(taskId, forceTakeover);
119
+ completionChecklist = startResult.completionChecklist;
118
120
  console.log(pc.green(forceTakeover ? '✓ Task lock taken over' : '✓ Task locked'));
119
121
  }
120
122
  catch (err) {
@@ -149,6 +151,7 @@ export async function startCommand(options) {
149
151
  taskId,
150
152
  worktreePath,
151
153
  yolo: options.yolo,
154
+ completionChecklist,
152
155
  });
153
156
  console.log(pc.green(`✓ Created ${bootstrapResult.taskContextPath}`));
154
157
  if (bootstrapResult.claudeMdUpdated) {
@@ -4,6 +4,7 @@ export interface BootstrapOptions {
4
4
  taskId: string;
5
5
  worktreePath: string;
6
6
  yolo?: boolean;
7
+ completionChecklist?: string[];
7
8
  }
8
9
  export interface BootstrapResult {
9
10
  taskContextPath: string;
@@ -55,6 +55,7 @@ export async function bootstrapContext(options) {
55
55
  const taskContext = generateTaskContext({
56
56
  task,
57
57
  criticalRules: context.criticalRules || [],
58
+ completionChecklist: options.completionChecklist,
58
59
  blockIndices,
59
60
  templates,
60
61
  modules,
@@ -85,6 +85,7 @@ export interface StartTaskResult {
85
85
  id: string;
86
86
  status: string;
87
87
  message: string;
88
+ completionChecklist?: string[];
88
89
  context?: ContextIndex;
89
90
  }
90
91
  export interface LockConflictError extends Error {
@@ -130,6 +130,7 @@ This project uses Damper MCP for task tracking. **You MUST follow this workflow.
130
130
  ### At Session End (MANDATORY)
131
131
  - ALWAYS call \`complete_task\` (if done) or \`abandon_task\` (if stopping early)
132
132
  - NEVER leave a started task without completing or abandoning it
133
+ - If the project has a **completion checklist** (shown in \`start_task\` response), you MUST pass all items as \`confirmations\` when calling \`complete_task\`
133
134
  - If you learned something about the codebase, consider updating project context
134
135
 
135
136
  ### Why This Matters
@@ -3,6 +3,7 @@ import type { SectionBlockIndex } from '../services/context-bootstrap.js';
3
3
  interface TaskContextOptions {
4
4
  task: TaskDetail;
5
5
  criticalRules: string[];
6
+ completionChecklist?: string[];
6
7
  blockIndices: SectionBlockIndex[];
7
8
  templates: Array<{
8
9
  name: string;
@@ -1,5 +1,5 @@
1
1
  export function generateTaskContext(options) {
2
- const { task, criticalRules, blockIndices, templates, modules, damperInstructions } = options;
2
+ const { task, criticalRules, completionChecklist, blockIndices, templates, modules, damperInstructions } = options;
3
3
  const typeIcon = task.type === 'bug' ? 'Bug' : task.type === 'feature' ? 'Feature' : task.type === 'improvement' ? 'Improvement' : 'Task';
4
4
  const lines = [];
5
5
  // Header
@@ -20,6 +20,17 @@ export function generateTaskContext(options) {
20
20
  }
21
21
  lines.push('');
22
22
  }
23
+ // Completion Checklist
24
+ if (completionChecklist && completionChecklist.length > 0) {
25
+ lines.push('## Completion Checklist (required for complete_task)');
26
+ lines.push('');
27
+ lines.push('You MUST verify each item and pass them as `confirmations` when calling `complete_task`:');
28
+ lines.push('');
29
+ for (const item of completionChecklist) {
30
+ lines.push(`- [ ] ${item}`);
31
+ }
32
+ lines.push('');
33
+ }
23
34
  // Damper Workflow
24
35
  lines.push('## Damper Workflow');
25
36
  lines.push('');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@damper/cli",
3
- "version": "0.6.14",
3
+ "version": "0.7.0",
4
4
  "description": "CLI tool for orchestrating Damper task workflows with Claude Code",
5
5
  "author": "Damper <hello@usedamper.com>",
6
6
  "repository": {