team-toon-tack 1.6.2 → 1.6.3

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.
@@ -135,17 +135,13 @@ Examples:
135
135
  console.error(`Unknown status: ${setStatus}`);
136
136
  process.exit(1);
137
137
  }
138
+ // Track if we need to save
139
+ let needsSave = false;
140
+ const oldLocalStatus = task.localStatus;
138
141
  // Update local status
139
- if (newLocalStatus) {
140
- if (newLocalStatus !== task.localStatus) {
141
- const oldStatus = task.localStatus;
142
- task.localStatus = newLocalStatus;
143
- await saveCycleData(data);
144
- console.log(`Local: ${task.id} ${oldStatus} → ${newLocalStatus}`);
145
- }
146
- else {
147
- console.log(`Local: ${task.id} already ${newLocalStatus}`);
148
- }
142
+ if (newLocalStatus && newLocalStatus !== task.localStatus) {
143
+ task.localStatus = newLocalStatus;
144
+ needsSave = true;
149
145
  }
150
146
  // Update Linear status
151
147
  if (newLinearStatus || newLocalStatus) {
@@ -156,10 +152,22 @@ Examples:
156
152
  if (targetStateName) {
157
153
  const success = await updateIssueStatus(task.linearId, targetStateName, config, localConfig.team);
158
154
  if (success) {
155
+ task.status = targetStateName;
156
+ needsSave = true;
159
157
  console.log(`Linear: ${task.id} → ${targetStateName}`);
160
158
  }
161
159
  }
162
160
  }
161
+ // Save if anything changed
162
+ if (needsSave) {
163
+ await saveCycleData(data);
164
+ if (newLocalStatus && newLocalStatus !== oldLocalStatus) {
165
+ console.log(`Local: ${task.id} ${oldLocalStatus} → ${newLocalStatus}`);
166
+ }
167
+ }
168
+ else if (newLocalStatus) {
169
+ console.log(`Local: ${task.id} already ${newLocalStatus}`);
170
+ }
163
171
  }
164
172
  // Display task info using shared function
165
173
  displayTaskWithStatus(task);
@@ -83,16 +83,17 @@ Examples:
83
83
  // Mark as In Progress
84
84
  if (task.localStatus === "pending") {
85
85
  task.localStatus = "in-progress";
86
- await saveCycleData(data);
87
- console.log(`Local: ${task.id} → in-progress`);
88
86
  // Update Linear
89
87
  if (task.linearId && process.env.LINEAR_API_KEY) {
90
88
  const transitions = getStatusTransitions(config);
91
89
  const success = await updateIssueStatus(task.linearId, transitions.in_progress, config, localConfig.team);
92
90
  if (success) {
91
+ task.status = transitions.in_progress;
93
92
  console.log(`Linear: ${task.id} → ${transitions.in_progress}`);
94
93
  }
95
94
  }
95
+ await saveCycleData(data);
96
+ console.log(`Local: ${task.id} → in-progress`);
96
97
  }
97
98
  // Display task info
98
99
  displayTaskFull(task, "👷");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "team-toon-tack",
3
- "version": "1.6.2",
3
+ "version": "1.6.3",
4
4
  "description": "Linear task sync & management CLI with TOON format",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,9 +28,20 @@ Script displays title, description, priority, labels, and attachments.
28
28
  1. Read the issue description carefully
29
29
  2. Explore related code
30
30
  3. Implement the fix/feature
31
- 4. Run `bun type-check && bun lint`
32
- 5. Commit with conventional format
33
- 6. Use `/done-job` to complete
31
+ 4. Commit with conventional format
32
+
33
+ ### 4. Verify
34
+
35
+ Run project-required verification before completing:
36
+
37
+ ```bash
38
+ # Run verification procedure defined in project
39
+ # (e.g., type-check, lint, test, build)
40
+ ```
41
+
42
+ ### 5. Complete
43
+
44
+ Use `/done-job` to mark task as completed
34
45
 
35
46
  ## Example Usage
36
47