sticky-note-cli 2.6.15 → 2.7.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/README.md CHANGED
@@ -30,8 +30,12 @@
30
30
 
31
31
  ## The Problem
32
32
 
33
- I have seen many agent-to-agent to orchestration systems and frameworks, but I still like working with other people.
34
- Other people that ALSO use agents to develop. I couldn't get my agent to understand what my friends agents were doing.
33
+ When multiple developers on a team use AI coding assistants, each assistant operates in its own bubble. Your agent doesn't know that your teammate's agent just spent 45 minutes debugging token rotation in the same file you're about to refactor. It doesn't know what they tried and abandoned. It doesn't know they're stuck.
34
+
35
+ The result: duplicated effort, conflicting changes, and context that evaporates the moment a session ends.
36
+
37
+ There are plenty of agent-to-agent orchestration frameworks out there, but that's not how most teams actually work. We work with other people — people who also happen to use agents. We needed a way for those agents to share context without changing how anyone works.
38
+
35
39
  So we built Sticky Note.
36
40
 
37
41
  ## The Solution
@@ -42,9 +46,18 @@ their next session by relevance.
42
46
 
43
47
  ---
44
48
 
45
- ## What's New in V2.6
49
+ ## What's New in V2.7
46
50
 
47
- - **Overlap detection**: Warns when you're working on files another teammate has open/stuck threads on. Three delivery channels: injected context, stderr banner, and preToolUse deny (Copilot CLI)
51
+ - **Team Environment Sync**: Share your complete AI dev environment through git. Skills, agents, commands, MCP servers, and permissions auto-provision when teammates start a session — zero manual setup
52
+ - **`bootstrap` command**: Interactive secrets provisioning for MCP servers that need credentials. Generates `.env.example` for the team
53
+ - **`env` commands**: `env status` shows provisioning state, `env add-server` adds MCP servers interactively
54
+ - **Dual-target provisioning**: Skills deployed to both Claude Code plugins and Copilot CLI extensions automatically
55
+
56
+ ### What's New in V2.6
57
+
58
+ - **MCP server**: 8-tool MCP server for reliable AI-to-sticky-note communication. Auto-registers in `.mcp.json` on first session. Works with Claude Code, Copilot CLI, and any MCP-compatible client
59
+ - **Styled overlap banners**: Overlap warnings now use structured box-drawing format with 🔴/🟡 status indicators, ANSI-colored stderr output
60
+ - **Overlap detection**: Warns when you're working on files another teammate has open/stuck threads on. Three delivery channels: MCP tool, injected context, and preToolUse deny
48
61
  - **File claiming**: `npx sticky-note-cli claim src/auth.ts "refactoring auth flow"` — declare intent to work on files
49
62
  - **Auto-close Copilot CLI threads**: Threads from Copilot CLI sessions auto-close after configurable inactivity (default 24h), since Copilot CLI has no session-end signal
50
63
  - **PID-keyed session isolation**: Concurrent Copilot CLI sessions get independent overlap dedup via `COPILOT_LOADER_PID`
@@ -335,6 +348,11 @@ npx sticky-note-cli gc # Tombstone expired threads
335
348
  npx sticky-note-cli reset # Wipe all threads (--force, --keep-audit)
336
349
  npx sticky-note-cli get-line-attribution # File→thread attribution with line ranges (V2.5)
337
350
  npx sticky-note-cli checkpoint # Set work-topic checkpoint for attribution (V2.5)
351
+ npx sticky-note-cli sync # Commit .sticky-note/ changes (--push to also push)
352
+ npx sticky-note-cli bootstrap # Provision MCP servers that need secrets
353
+ npx sticky-note-cli env status # Show environment provisioning status
354
+ npx sticky-note-cli env add-server # Add MCP server to team environment
355
+ npx sticky-note mcp-server # Launch MCP server (stdio JSON-RPC)
338
356
  npx sticky-note-cli --version # Show version
339
357
  npx sticky-note-cli --help # Show help
340
358
  ```
@@ -396,6 +414,103 @@ Edit `.sticky-note/sticky-note-config.json`:
396
414
 
397
415
  All tools call the same JavaScript hooks and share the same data files.
398
416
 
417
+ > **Third-party tools** (Cursor, Windsurf, Zed, Cline) can use the MCP server
418
+ > for full thread access without hooks. See below.
419
+
420
+ ---
421
+
422
+ ## MCP Server
423
+
424
+ Sticky Note includes an MCP server that gives AI tools direct access to
425
+ thread data, overlap detection, and environment status via standard
426
+ [Model Context Protocol](https://modelcontextprotocol.io/).
427
+
428
+ ### Auto-registration
429
+
430
+ The session-start hook automatically registers the MCP server in `.mcp.json`
431
+ on the first session. No manual setup needed — it's available from the second
432
+ session onward.
433
+
434
+ ### Manual registration
435
+
436
+ Add to `.mcp.json` at your project root:
437
+
438
+ ```json
439
+ {
440
+ "mcpServers": {
441
+ "sticky-note": {
442
+ "type": "stdio",
443
+ "command": "npx",
444
+ "args": ["-y", "-p", "sticky-note-cli", "sticky-note", "mcp-server"]
445
+ }
446
+ }
447
+ }
448
+ ```
449
+
450
+ ### Tools
451
+
452
+ | Tool | Description |
453
+ |------|-------------|
454
+ | `get_session_context(id)` | Full thread payload by ID |
455
+ | `get_stuck_threads()` | All stuck threads with failed approaches |
456
+ | `search_threads(query)` | Keyword search across threads |
457
+ | `get_audit_trail(file, user, since, ...)` | Query per-user audit logs |
458
+ | `get_presence()` | Active developers and their files |
459
+ | `check_overlaps(files)` | Detect file conflicts before editing |
460
+ | `get_environment_status()` | Environment sync status (provisioned vs missing) |
461
+ | `get_thread_context_for_files(files)` | Thread attribution for files |
462
+
463
+ ### Why MCP?
464
+
465
+ Hook output goes to the AI model's context window — the AI decides whether
466
+ to surface it. MCP tool responses are part of the AI's active reasoning,
467
+ so the data always gets processed. This makes the MCP server the most
468
+ reliable channel for overlap warnings and environment notifications.
469
+
470
+ ---
471
+
472
+ ## Team Environment Sync
473
+
474
+ Share your complete AI development environment with the team — MCP servers,
475
+ skills, agents, commands, and permissions — through git, with zero manual setup.
476
+
477
+ ### How it works
478
+
479
+ ```
480
+ Team lead: npx sticky-note init → commits hooks + environment/
481
+ Teammate: git pull && start session → hook auto-provisions everything
482
+ ```
483
+
484
+ The session-start hook is the provisioning engine. It copies skills to
485
+ plugin directories, writes MCP servers to `.mcp.json`, and merges
486
+ permissions — all automatically when a teammate starts their AI session.
487
+
488
+ ### Directory structure
489
+
490
+ ```
491
+ .sticky-note/environment/
492
+ ├── manifest.json # MCP servers, permissions, env vars
493
+ ├── skills/ # Team skill definitions (.md files)
494
+ ├── agents/ # Team agent definitions (.md files)
495
+ └── commands/ # Team command definitions (.md files)
496
+ ```
497
+
498
+ ### Adding team resources
499
+
500
+ **Skills/agents/commands:** Drop a `.md` file into the appropriate directory.
501
+ It auto-provisions on next session and auto-commits with your next commit.
502
+
503
+ **MCP servers:** `npx sticky-note env add-server` or edit `manifest.json`.
504
+
505
+ ### Secrets handling
506
+
507
+ MCP servers that need secrets (e.g., `${GITHUB_TOKEN}`) are skipped by
508
+ auto-provisioning. Run `npx sticky-note bootstrap` to provide credentials
509
+ interactively — they're saved to `.env` (gitignored), never committed.
510
+
511
+ The MCP server's `get_environment_status()` tool tells the AI what's missing
512
+ so it can prompt the user.
513
+
399
514
  ---
400
515
 
401
516
  ## Concurrent Usage & Merge Strategy