claude-team-mcp 0.3.0__tar.gz → 0.3.1__tar.gz

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 (78) hide show
  1. claude_team_mcp-0.3.1/.beads/.local_version +1 -0
  2. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/beads.db +0 -0
  3. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/beads.db-shm +0 -0
  4. claude_team_mcp-0.3.1/.beads/daemon.lock +7 -0
  5. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/daemon.log +30 -0
  6. claude_team_mcp-0.3.1/.beads/daemon.pid +1 -0
  7. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/PKG-INFO +14 -1
  8. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/README.md +13 -0
  9. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/pyproject.toml +1 -1
  10. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/iterm_utils.py +8 -1
  11. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/uv.lock +1 -1
  12. claude_team_mcp-0.3.0/.beads/.local_version +0 -1
  13. claude_team_mcp-0.3.0/.beads/daemon.lock +0 -7
  14. claude_team_mcp-0.3.0/.beads/daemon.pid +0 -1
  15. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/.gitignore +0 -0
  16. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/README.md +0 -0
  17. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/beads.db-wal +0 -0
  18. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/config.yaml +0 -0
  19. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/deletions.jsonl +0 -0
  20. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/deletions.jsonl.migrated +0 -0
  21. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/issues.jsonl +0 -0
  22. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.beads/metadata.json +0 -0
  23. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.claude/settings.local.json +0 -0
  24. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.claude-plugin/marketplace.json +0 -0
  25. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.claude-plugin/plugin.json +0 -0
  26. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.gitattributes +0 -0
  27. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.gitignore +0 -0
  28. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/.mcp.json +0 -0
  29. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/CLAUDE.md +0 -0
  30. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/Makefile +0 -0
  31. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/NOTES.md +0 -0
  32. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/check-workers.md +0 -0
  33. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/cleanup-worktrees.md +0 -0
  34. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/merge-worker.md +0 -0
  35. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/pr-worker.md +0 -0
  36. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/spawn-workers.md +0 -0
  37. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/commands/team-summary.md +0 -0
  38. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/scripts/install-commands.py +0 -0
  39. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/settings.json +0 -0
  40. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/__init__.py +0 -0
  41. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/__main__.py +0 -0
  42. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/colors.py +0 -0
  43. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/formatting.py +0 -0
  44. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/idle_detection.py +0 -0
  45. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/names.py +0 -0
  46. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/profile.py +0 -0
  47. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/registry.py +0 -0
  48. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/server.py +0 -0
  49. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/session_state.py +0 -0
  50. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/subprocess_cache.py +0 -0
  51. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/__init__.py +0 -0
  52. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/adopt_worker.py +0 -0
  53. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/annotate_worker.py +0 -0
  54. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/bd_help.py +0 -0
  55. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/check_idle_workers.py +0 -0
  56. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/close_workers.py +0 -0
  57. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/discover_workers.py +0 -0
  58. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/examine_worker.py +0 -0
  59. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/list_workers.py +0 -0
  60. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/list_worktrees.py +0 -0
  61. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/message_workers.py +0 -0
  62. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/read_worker_logs.py +0 -0
  63. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/spawn_workers.py +0 -0
  64. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/tools/wait_idle_workers.py +0 -0
  65. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/utils/__init__.py +0 -0
  66. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/utils/constants.py +0 -0
  67. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/utils/errors.py +0 -0
  68. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/utils/worktree_detection.py +0 -0
  69. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/worker_prompt.py +0 -0
  70. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/src/claude_team_mcp/worktree.py +0 -0
  71. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/__init__.py +0 -0
  72. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_colors.py +0 -0
  73. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_formatting.py +0 -0
  74. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_idle_detection.py +0 -0
  75. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_names.py +0 -0
  76. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_registry.py +0 -0
  77. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_session_state.py +0 -0
  78. {claude_team_mcp-0.3.0 → claude_team_mcp-0.3.1}/tests/test_worker_prompt.py +0 -0
@@ -0,0 +1 @@
1
+ 0.44.0
@@ -0,0 +1,7 @@
1
+ {
2
+ "pid": 48335,
3
+ "parent_pid": 48323,
4
+ "database": "/Users/phaedrus/Projects/claude-team/.beads/beads.db",
5
+ "version": "0.44.0",
6
+ "started_at": "2026-01-07T00:04:00.114512Z"
7
+ }
@@ -10610,3 +10610,33 @@ time=2026-01-05T13:59:42.898-08:00 level=INFO msg="Git HEAD change detected: %s"
10610
10610
  time=2026-01-05T13:59:43.901-08:00 level=INFO msg="Import triggered by file change"
10611
10611
  time=2026-01-05T13:59:43.901-08:00 level=INFO msg="Starting %s..." !BADKEY=auto-import
10612
10612
  time=2026-01-05T13:59:43.903-08:00 level=INFO msg="Skipping %s: JSONL content unchanged" !BADKEY=auto-import
10613
+ time=2026-01-05T14:16:19.112-08:00 level=INFO msg="Received signal %v, shutting down..." !BADKEY=terminated
10614
+ time=2026-01-06T16:04:00.127-08:00 level=INFO msg="Daemon started (interval: %v, auto-commit: %v, auto-push: %v)" !BADKEY=5s !BADKEY=false !BADKEY=false
10615
+ time=2026-01-06T16:04:00.128-08:00 level=INFO msg="using database" path=/Users/phaedrus/Projects/claude-team/.beads/beads.db
10616
+ time=2026-01-06T16:04:00.133-08:00 level=INFO msg="database opened" path=/Users/phaedrus/Projects/claude-team/.beads/beads.db freshness_checking=true
10617
+ time=2026-01-06T16:04:00.133-08:00 level=INFO msg="upgrading .beads/.gitignore"
10618
+ time=2026-01-06T16:04:00.133-08:00 level=WARN msg="failed to upgrade .gitignore" error="open .beads/.gitignore: no such file or directory"
10619
+ time=2026-01-06T16:04:00.137-08:00 level=INFO msg="Repository fingerprint validated: %s" !BADKEY=d0d96a12
10620
+ time=2026-01-06T16:04:00.137-08:00 level=WARN msg="database schema version mismatch" db_version=0.41.0 daemon_version=0.44.0
10621
+ time=2026-01-06T16:04:00.137-08:00 level=INFO msg="auto-upgrading database to daemon version"
10622
+ time=2026-01-06T16:04:00.137-08:00 level=INFO msg="database version updated" version=0.44.0
10623
+ time=2026-01-06T16:04:00.138-08:00 level=INFO msg="starting RPC server" socket=/Users/phaedrus/Projects/claude-team/.beads/bd.sock
10624
+ time=2026-01-06T16:04:00.138-08:00 level=INFO msg="RPC server ready (socket listening)"
10625
+ time=2026-01-06T16:04:00.143-08:00 level=INFO msg="registered in global registry"
10626
+ time=2026-01-06T16:04:00.143-08:00 level=INFO msg="Starting %s..." !BADKEY="sync cycle"
10627
+ time=2026-01-06T16:04:00.151-08:00 level=INFO msg="Exported to JSONL"
10628
+ time=2026-01-06T16:04:01.700-08:00 level=INFO msg="Pulled sync branch %s" !BADKEY=beads-sync
10629
+ time=2026-01-06T16:04:01.701-08:00 level=INFO msg="Synced JSONL from sync branch to main repo"
10630
+ time=2026-01-06T16:04:01.731-08:00 level=INFO msg="Imported from JSONL"
10631
+ time=2026-01-06T16:04:01.742-08:00 level=INFO msg="Sync cycle complete"
10632
+ time=2026-01-06T16:04:01.743-08:00 level=INFO msg="monitoring parent process" pid=0
10633
+ time=2026-01-06T16:04:01.743-08:00 level=INFO msg="using event-driven mode"
10634
+ time=2026-01-06T16:04:01.743-08:00 level=INFO msg="Auto-pull disabled: use 'git pull' manually to sync remote changes"
10635
+ time=2026-01-06T16:04:01.812-08:00 level=INFO msg="File change detected: %s" !BADKEY=/Users/phaedrus/Projects/claude-team/.beads/issues.jsonl
10636
+ time=2026-01-06T16:04:02.973-08:00 level=INFO msg="Import triggered by file change"
10637
+ time=2026-01-06T16:04:02.974-08:00 level=INFO msg="Starting %s..." !BADKEY=auto-import
10638
+ time=2026-01-06T16:04:02.974-08:00 level=INFO msg="Skipping %s: JSONL content unchanged" !BADKEY=auto-import
10639
+ time=2026-01-06T16:04:06.349-08:00 level=INFO msg="File change detected: %s" !BADKEY=/Users/phaedrus/Projects/claude-team/.beads/issues.jsonl
10640
+ time=2026-01-06T16:04:07.351-08:00 level=INFO msg="Import triggered by file change"
10641
+ time=2026-01-06T16:04:07.352-08:00 level=INFO msg="Starting %s..." !BADKEY=auto-import
10642
+ time=2026-01-06T16:04:07.352-08:00 level=INFO msg="Skipping %s: JSONL content unchanged" !BADKEY=auto-import
@@ -0,0 +1 @@
1
+ 48335
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-team-mcp
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: MCP server for managing multiple Claude Code sessions via iTerm2
5
5
  Project-URL: Homepage, https://github.com/Martian-Engineering/claude-team
6
6
  Project-URL: Repository, https://github.com/Martian-Engineering/claude-team
@@ -140,6 +140,19 @@ Add to your Claude Code MCP settings. You can configure this at:
140
140
 
141
141
  After adding the configuration, restart Claude Code for it to take effect.
142
142
 
143
+ ## Environment Variables
144
+
145
+ | Variable | Default | Description |
146
+ |----------|---------|-------------|
147
+ | `CLAUDE_TEAM_COMMAND` | `claude` | Override the command used to start Claude Code in worker sessions. Useful for running alternative CLI implementations like `happy`. |
148
+ | `CLAUDE_TEAM_PROJECT_DIR` | (none) | When set, allows using `"project_path": "auto"` in worker configs to automatically use this path. |
149
+
150
+ Example using an alternative CLI:
151
+
152
+ ```bash
153
+ export CLAUDE_TEAM_COMMAND=happy
154
+ ```
155
+
143
156
  ## MCP Tools
144
157
 
145
158
  ### Worker Management
@@ -110,6 +110,19 @@ Add to your Claude Code MCP settings. You can configure this at:
110
110
 
111
111
  After adding the configuration, restart Claude Code for it to take effect.
112
112
 
113
+ ## Environment Variables
114
+
115
+ | Variable | Default | Description |
116
+ |----------|---------|-------------|
117
+ | `CLAUDE_TEAM_COMMAND` | `claude` | Override the command used to start Claude Code in worker sessions. Useful for running alternative CLI implementations like `happy`. |
118
+ | `CLAUDE_TEAM_PROJECT_DIR` | (none) | When set, allows using `"project_path": "auto"` in worker configs to automatically use this path. |
119
+
120
+ Example using an alternative CLI:
121
+
122
+ ```bash
123
+ export CLAUDE_TEAM_COMMAND=happy
124
+ ```
125
+
113
126
  ## MCP Tools
114
127
 
115
128
  ### Worker Management
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "claude-team-mcp"
3
- version = "0.3.0"
3
+ version = "0.3.1"
4
4
  description = "MCP server for managing multiple Claude Code sessions via iTerm2"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -6,6 +6,7 @@ from the original primitives.py for use in the MCP server.
6
6
  """
7
7
 
8
8
  import logging
9
+ import os
9
10
  import re
10
11
  from typing import TYPE_CHECKING, Optional
11
12
 
@@ -515,6 +516,11 @@ async def start_claude_in_session(
515
516
  atomic command (cd && claude). Waits for shell readiness before sending
516
517
  the command, then waits for Claude's startup banner to appear.
517
518
 
519
+ The command used to launch Claude Code can be overridden by setting
520
+ the CLAUDE_TEAM_COMMAND environment variable (defaults to "claude").
521
+ This is useful for running alternative Claude CLI implementations
522
+ like "happy" or for testing purposes.
523
+
518
524
  Args:
519
525
  session: iTerm2 session to use
520
526
  project_path: Directory to run Claude in
@@ -537,7 +543,8 @@ async def start_claude_in_session(
537
543
  )
538
544
 
539
545
  # Build claude command with flags
540
- claude_cmd = "claude"
546
+ # Allow overriding the claude command via environment variable (e.g., "happy")
547
+ claude_cmd = os.environ.get("CLAUDE_TEAM_COMMAND", "claude")
541
548
  if dangerously_skip_permissions:
542
549
  claude_cmd += " --dangerously-skip-permissions"
543
550
  if stop_hook_marker_id:
@@ -114,7 +114,7 @@ wheels = [
114
114
 
115
115
  [[package]]
116
116
  name = "claude-team-mcp"
117
- version = "0.2.1"
117
+ version = "0.3.0"
118
118
  source = { editable = "." }
119
119
  dependencies = [
120
120
  { name = "iterm2" },
@@ -1 +0,0 @@
1
- 0.42.0
@@ -1,7 +0,0 @@
1
- {
2
- "pid": 6716,
3
- "parent_pid": 6710,
4
- "database": "/Users/phaedrus/Projects/claude-team/.beads/beads.db",
5
- "version": "0.41.0",
6
- "started_at": "2025-12-30T17:49:19.75181Z"
7
- }
@@ -1 +0,0 @@
1
- 6716