sticky-note-cli 2.6.6 → 2.6.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sticky-note-cli",
3
- "version": "2.6.6",
3
+ "version": "2.6.7",
4
4
  "description": "Human-to-human handoff for AI coding assistants. Git-backed shared memory for Claude Code and Copilot CLI.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -181,6 +181,25 @@ function detectAndFormatOverlaps(threads, currentUser) {
181
181
  lines.push(
182
182
  "\n**Consider coordinating with these teammates before starting work.**\n"
183
183
  );
184
+
185
+ // Write a visible banner directly to stderr so the user sees it in
186
+ // their terminal regardless of whether the AI surfaces it.
187
+ const stderrLines = ["\n⚠️ OVERLAP DETECTED — someone else is touching your files:"];
188
+ for (const { thread, overlap } of warnings) {
189
+ const user = thread.user || thread.author || "unknown";
190
+ const status = thread.status === "stuck" ? "STUCK" : "OPEN";
191
+ const narrative = thread.narrative || thread.last_note || "";
192
+ const narrativeSnip = narrative.length > 80
193
+ ? narrative.substring(0, 80) + "…"
194
+ : narrative;
195
+ stderrLines.push(
196
+ ` [${status}] ${user}: ${overlap.join(", ")}` +
197
+ (narrativeSnip ? ` — ${narrativeSnip}` : "")
198
+ );
199
+ }
200
+ stderrLines.push("");
201
+ process.stderr.write(stderrLines.join("\n") + "\n");
202
+
184
203
  return lines.join("\n");
185
204
  }
186
205
 
@@ -394,6 +394,24 @@ function formatOverlapWarnings(threads, currentUser, memory) {
394
394
  lines.push(
395
395
  "\n**Consider coordinating with these teammates before starting work.**"
396
396
  );
397
+
398
+ // Write a visible banner directly to stderr so the user sees it
399
+ const stderrLines = ["\n⚠️ OVERLAP DETECTED — someone else is touching your files:"];
400
+ for (const { thread, overlap } of warnings) {
401
+ const user = thread.user || thread.author || "unknown";
402
+ const status = thread.status === "stuck" ? "STUCK" : "OPEN";
403
+ const narrative = thread.narrative || thread.last_note || "";
404
+ const narrativeSnip = narrative.length > 80
405
+ ? narrative.substring(0, 80) + "…"
406
+ : narrative;
407
+ stderrLines.push(
408
+ ` [${status}] ${user}: ${overlap.join(", ")}` +
409
+ (narrativeSnip ? ` — ${narrativeSnip}` : "")
410
+ );
411
+ }
412
+ stderrLines.push("");
413
+ process.stderr.write(stderrLines.join("\n") + "\n");
414
+
397
415
  return lines.join("\n");
398
416
  }
399
417