claude-task-master 0.1.4__tar.gz → 0.1.5__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 (103) hide show
  1. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/PKG-INFO +223 -4
  2. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/README.md +220 -0
  3. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/pyproject.toml +17 -7
  4. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/__init__.py +1 -1
  5. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/models.py +309 -0
  6. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/routes.py +229 -0
  7. claude_task_master-0.1.5/src/claude_task_master/api/routes_repo.py +317 -0
  8. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/bin/claudetm +1 -1
  9. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli.py +3 -1
  10. claude_task_master-0.1.5/src/claude_task_master/cli_commands/mailbox.py +295 -0
  11. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/workflow.py +37 -0
  12. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/__init__.py +5 -0
  13. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent_phases.py +1 -1
  14. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/orchestrator.py +432 -9
  15. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/parallel.py +4 -4
  16. claude_task_master-0.1.5/src/claude_task_master/core/plan_updater.py +199 -0
  17. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/pr_context.py +176 -62
  18. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/prompts.py +4 -0
  19. claude_task_master-0.1.5/src/claude_task_master/core/prompts_plan_update.py +148 -0
  20. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state.py +5 -1
  21. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/workflow_stages.py +229 -22
  22. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/client_pr.py +86 -20
  23. claude_task_master-0.1.5/src/claude_task_master/mailbox/__init__.py +23 -0
  24. claude_task_master-0.1.5/src/claude_task_master/mailbox/merger.py +163 -0
  25. claude_task_master-0.1.5/src/claude_task_master/mailbox/models.py +95 -0
  26. claude_task_master-0.1.5/src/claude_task_master/mailbox/storage.py +209 -0
  27. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/mcp/server.py +183 -0
  28. claude_task_master-0.1.5/src/claude_task_master/mcp/tools.py +1761 -0
  29. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/webhooks/events.py +356 -2
  30. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/PKG-INFO +223 -4
  31. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/SOURCES.txt +8 -0
  32. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/requires.txt +1 -0
  33. claude_task_master-0.1.4/src/claude_task_master/mcp/tools.py +0 -840
  34. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/setup.cfg +0 -0
  35. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/__init__.py +0 -0
  36. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/routes_config.py +0 -0
  37. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/routes_control.py +0 -0
  38. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/routes_webhooks.py +0 -0
  39. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/api/server.py +0 -0
  40. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/auth/__init__.py +0 -0
  41. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/auth/middleware.py +0 -0
  42. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/auth/password.py +0 -0
  43. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/__init__.py +0 -0
  44. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/ci_helpers.py +0 -0
  45. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/config.py +0 -0
  46. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/control.py +0 -0
  47. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/fix_pr.py +0 -0
  48. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/fix_session.py +0 -0
  49. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/github.py +0 -0
  50. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/cli_commands/info.py +0 -0
  51. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent.py +0 -0
  52. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent_exceptions.py +0 -0
  53. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent_message.py +0 -0
  54. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent_models.py +0 -0
  55. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/agent_query.py +0 -0
  56. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/checkpoint.py +0 -0
  57. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/circuit_breaker.py +0 -0
  58. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/config.py +0 -0
  59. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/config_loader.py +0 -0
  60. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/console.py +0 -0
  61. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/context_accumulator.py +0 -0
  62. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/control.py +0 -0
  63. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/conversation.py +0 -0
  64. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/credentials.py +0 -0
  65. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/hooks.py +0 -0
  66. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/key_listener.py +0 -0
  67. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/logger.py +0 -0
  68. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/planner.py +0 -0
  69. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/progress_tracker.py +0 -0
  70. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/prompts_base.py +0 -0
  71. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/prompts_planning.py +0 -0
  72. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/prompts_verification.py +0 -0
  73. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/prompts_working.py +0 -0
  74. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/rate_limit.py +0 -0
  75. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/shutdown.py +0 -0
  76. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state_backup.py +0 -0
  77. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state_exceptions.py +0 -0
  78. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state_file_ops.py +0 -0
  79. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state_pr.py +0 -0
  80. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/state_recovery.py +0 -0
  81. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/subagents.py +0 -0
  82. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/task_group.py +0 -0
  83. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/core/task_runner.py +0 -0
  84. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/__init__.py +0 -0
  85. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/client.py +0 -0
  86. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/client_ci.py +0 -0
  87. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/exceptions.py +0 -0
  88. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/github/pr_cycle.py +0 -0
  89. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/mcp/__init__.py +0 -0
  90. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/mcp/auth.py +0 -0
  91. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/server.py +0 -0
  92. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/utils/__init__.py +0 -0
  93. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/utils/debug_claude_md.py +0 -0
  94. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/utils/doctor.py +0 -0
  95. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/webhooks/__init__.py +0 -0
  96. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/webhooks/client.py +0 -0
  97. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/webhooks/config.py +0 -0
  98. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master/wrapper.py +0 -0
  99. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/dependency_links.txt +0 -0
  100. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/entry_points.txt +0 -0
  101. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/src/claude_task_master.egg-info/top_level.txt +0 -0
  102. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/tests/test_server.py +0 -0
  103. {claude_task_master-0.1.4 → claude_task_master-0.1.5}/tests/test_wrapper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-task-master
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Autonomous task orchestration system that keeps Claude working until a goal is achieved
5
5
  Author: Claude Task Master Team
6
6
  License-Expression: MIT
@@ -13,13 +13,11 @@ Keywords: claude,agent,autonomous,task,orchestration,ai,automation
13
13
  Classifier: Development Status :: 3 - Alpha
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
18
16
  Classifier: Programming Language :: Python :: 3.12
19
17
  Classifier: Operating System :: OS Independent
20
18
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
19
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
- Requires-Python: >=3.10
20
+ Requires-Python: >=3.12
23
21
  Description-Content-Type: text/markdown
24
22
  Requires-Dist: claude-agent-sdk>=0.1.0
25
23
  Requires-Dist: typer>=0.12.0
@@ -39,6 +37,7 @@ Requires-Dist: pytest>=8.0.0; extra == "dev"
39
37
  Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
40
38
  Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
41
39
  Requires-Dist: pytest-timeout>=2.4.0; extra == "dev"
40
+ Requires-Dist: hypothesis>=6.100.0; extra == "dev"
42
41
  Requires-Dist: ruff>=0.3.0; extra == "dev"
43
42
  Requires-Dist: mypy>=1.9.0; extra == "dev"
44
43
  Provides-Extra: all
@@ -159,9 +158,19 @@ Claude Task Master uses the Claude Agent SDK to autonomously work on complex tas
159
158
  4. **Handle CI** - Wait for checks, fix failures, address review comments
160
159
  5. **Merge** - Auto-merge when approved (configurable)
161
160
  6. **Verify** - Confirm all success criteria are met
161
+ 7. **Adapt** - Accept dynamic plan updates via mailbox while working
162
162
 
163
163
  **Core Philosophy**: Claude is smart enough to do the work AND verify it. Task Master keeps the loop going and persists state between sessions.
164
164
 
165
+ ### Key Features
166
+
167
+ - **Autonomous Execution** - Runs until goal is achieved or needs human input
168
+ - **PR-Based Workflow** - All work flows through pull requests for review
169
+ - **CI Integration** - Handles CI failures and review comments together
170
+ - **Mailbox System** - Receive dynamic plan updates while working (via REST API, MCP, or CLI)
171
+ - **Multi-Instance Coordination** - Multiple instances can communicate via mailbox
172
+ - **State Persistence** - Survives interruptions, resumes where it left off
173
+
165
174
  ## Workflow
166
175
 
167
176
  ```
@@ -346,6 +355,7 @@ Complete documentation for all features and deployment options:
346
355
  | **[Authentication](./docs/authentication.md)** | Password-based authentication for REST API, MCP server, and webhooks |
347
356
  | **[REST API Reference](./docs/api-reference.md)** | Complete REST API endpoint documentation with examples |
348
357
  | **[Webhooks](./docs/webhooks.md)** | Webhook events, payload formats, HMAC signature verification, and integration examples |
358
+ | **[Mailbox System](./docs/mailbox.md)** | Inter-instance communication, dynamic plan updates, and multi-instance coordination |
349
359
 
350
360
  ## Usage
351
361
 
@@ -355,6 +365,7 @@ Complete documentation for all features and deployment options:
355
365
  |---------|-------------|
356
366
  | `claudetm start "goal"` | Start a new task |
357
367
  | `claudetm resume` | Resume a paused task |
368
+ | `claudetm resume "message"` | Update plan with message, then resume |
358
369
  | `claudetm status` | Show current status |
359
370
  | `claudetm plan` | View task list |
360
371
  | `claudetm progress` | View progress summary |
@@ -364,6 +375,9 @@ Complete documentation for all features and deployment options:
364
375
  | `claudetm comments` | Show review comments |
365
376
  | `claudetm clean` | Clean up task state |
366
377
  | `claudetm doctor` | Verify system setup |
378
+ | `claudetm mailbox` | Show mailbox status |
379
+ | `claudetm mailbox send "msg"` | Send message to mailbox |
380
+ | `claudetm mailbox clear` | Clear pending messages |
367
381
 
368
382
  ### Start Options
369
383
 
@@ -392,6 +406,14 @@ claudetm start "Fix bug in parser" --max-sessions 5
392
406
 
393
407
  # Monitor progress
394
408
  watch -n 5 'claudetm status'
409
+
410
+ # Resume with a change request (updates plan first)
411
+ claudetm resume "Also add input validation to the forms"
412
+
413
+ # Send message to mailbox via REST API
414
+ curl -X POST http://localhost:8000/mailbox/send \
415
+ -H "Content-Type: application/json" \
416
+ -d '{"content": "Prioritize security fixes", "priority": 2}'
395
417
  ```
396
418
 
397
419
  ## Examples & Use Cases
@@ -428,6 +450,202 @@ claudetm start "Add API documentation and examples"
428
450
  7. **[CI/CD Integration](./examples/07-cicd.md)** - GitHub Actions workflows
429
451
  8. **[Advanced Workflows](./examples/08-advanced-workflows.md)** - Complex scenarios
430
452
 
453
+ ## AI Developer Workflow
454
+
455
+ Claude Task Master includes built-in support for repository cloning and setup, enabling an AI-driven development environment. This is particularly useful for:
456
+
457
+ - **AI Server Deployments** - Deploy Claude Task Master to servers and have it autonomously clone and setup projects
458
+ - **Development Environment Setup** - Automatically configure repositories for local development
459
+ - **Multi-Project Coordination** - Manage multiple projects simultaneously, each in isolated directories
460
+ - **Continuous AI Development** - Receive work requests, setup projects, implement tasks, all autonomously
461
+
462
+ ### Repo Setup Workflow
463
+
464
+ The repo setup workflow consists of three phases:
465
+
466
+ 1. **Clone** - Clone a git repository to `~/workspace/claude-task-master/{project-name}`
467
+ 2. **Setup** - Automatically install dependencies, create virtual environments, run setup scripts
468
+ 3. **Plan or Work** - Either analyze the project and create a plan, or immediately start working on tasks
469
+
470
+ ### Clone a Repository
471
+
472
+ **Via REST API:**
473
+ ```bash
474
+ curl -X POST http://localhost:8000/repo/clone \
475
+ -H "Content-Type: application/json" \
476
+ -d '{
477
+ "repo_url": "https://github.com/example/my-project.git",
478
+ "project_name": "my-project"
479
+ }'
480
+ ```
481
+
482
+ **Via MCP Tools (IDE Integration):**
483
+ ```
484
+ Claude: Clone the repository https://github.com/example/my-project.git
485
+ → Uses clone_repo tool to clone to ~/workspace/claude-task-master/my-project
486
+ ```
487
+
488
+ ### Setup a Cloned Repository
489
+
490
+ After cloning, setup installs dependencies and prepares the project for development:
491
+
492
+ **Via REST API:**
493
+ ```bash
494
+ curl -X POST http://localhost:8000/repo/setup \
495
+ -H "Content-Type: application/json" \
496
+ -d '{
497
+ "project_name": "my-project"
498
+ }'
499
+ ```
500
+
501
+ **Via MCP Tools:**
502
+ ```
503
+ Claude: Set up the project my-project for development
504
+ → Uses setup_repo tool to configure and prepare the repository
505
+ ```
506
+
507
+ The setup phase:
508
+ - Detects project type (Python, Node.js, Ruby, etc.)
509
+ - Installs package manager if needed (uv, npm, pip, bundler, etc.)
510
+ - Creates virtual environments (venv, node_modules, etc.)
511
+ - Runs setup scripts if present (setup.sh, Makefile, scripts/setup-hooks.sh, etc.)
512
+ - Installs dependencies from lock files (requirements.txt, package.json, Gemfile, etc.)
513
+
514
+ ### Plan a Repository (Analysis Only)
515
+
516
+ Analyze a project and generate a task plan without executing work:
517
+
518
+ **Via REST API:**
519
+ ```bash
520
+ curl -X POST http://localhost:8000/repo/plan \
521
+ -H "Content-Type: application/json" \
522
+ -d '{
523
+ "project_name": "my-project",
524
+ "goal": "Add authentication to the application"
525
+ }'
526
+ ```
527
+
528
+ **Via MCP Tools:**
529
+ ```
530
+ Claude: Plan the task "Add authentication" for project my-project
531
+ → Uses plan_repo tool to analyze and generate a task plan
532
+ ```
533
+
534
+ This phase creates a plan in `.claude-task-master/plan.md` without executing any tasks, allowing review before work begins.
535
+
536
+ ### Complete AI Developer Workflow Example
537
+
538
+ A full end-to-end workflow:
539
+
540
+ ```bash
541
+ # 1. Clone a repository
542
+ curl -X POST http://localhost:8000/repo/clone \
543
+ -H "Content-Type: application/json" \
544
+ -d '{"repo_url": "https://github.com/example/myapp.git", "project_name": "myapp"}'
545
+
546
+ # 2. Setup the project for development
547
+ curl -X POST http://localhost:8000/repo/setup \
548
+ -H "Content-Type: application/json" \
549
+ -d '{"project_name": "myapp"}'
550
+
551
+ # 3. Plan the work (optional - just analyze)
552
+ curl -X POST http://localhost:8000/repo/plan \
553
+ -H "Content-Type: application/json" \
554
+ -d '{"project_name": "myapp", "goal": "Add user authentication with OAuth"}'
555
+
556
+ # 4. Or start work directly with a goal
557
+ curl -X POST http://localhost:8000/task/init \
558
+ -H "Content-Type: application/json" \
559
+ -d '{"project_dir": "~/workspace/claude-task-master/myapp", "goal": "Add user authentication with OAuth"}'
560
+ ```
561
+
562
+ ### Directory Structure
563
+
564
+ When using the repo setup workflow, projects are organized as follows:
565
+
566
+ ```
567
+ ~/workspace/claude-task-master/
568
+ ├── my-project/
569
+ │ ├── .git/
570
+ │ ├── src/
571
+ │ ├── .claude-task-master/ # State directory (auto-created by claudetm)
572
+ │ │ ├── goal.txt
573
+ │ │ ├── plan.md
574
+ │ │ ├── state.json
575
+ │ │ └── logs/
576
+ │ └── ...
577
+ ├── another-project/
578
+ │ └── ...
579
+ ```
580
+
581
+ ### Use Cases
582
+
583
+ **1. Server-Based AI Development Platform**
584
+
585
+ Deploy Claude Task Master to a server with git credentials and have it:
586
+ - Clone repositories on demand
587
+ - Setup development environments automatically
588
+ - Execute work assignments from a job queue
589
+ - Report results via webhooks
590
+
591
+ ```bash
592
+ # Server startup
593
+ docker run -d \
594
+ -p 8000:8000 \
595
+ -v ~/.claude:/root/.claude:ro \
596
+ -v ~/.gitconfig:/root/.gitconfig:ro \
597
+ -v ~/.config/gh:/root/.config/gh:ro \
598
+ -v ~/workspace:/root/workspace \
599
+ ghcr.io/developerz-ai/claude-task-master:latest
600
+
601
+ # External system sends work
602
+ curl http://ai-dev-server:8000/repo/clone -d '{"repo_url": "...", "project_name": "..."}'
603
+ curl http://ai-dev-server:8000/repo/setup -d '{"project_name": "..."}'
604
+ curl http://ai-dev-server:8000/task/init -d '{"project_dir": "...", "goal": "..."}'
605
+ ```
606
+
607
+ **2. Local Development Workspace Management**
608
+
609
+ Setup a local workspace where Claude helps manage multiple projects:
610
+
611
+ ```bash
612
+ # Initialize workspace
613
+ mkdir -p ~/workspace/claude-task-master
614
+ cd ~/workspace/claude-task-master
615
+
616
+ # Clone and setup multiple projects
617
+ claudetm repo clone https://github.com/org/api-server api-server
618
+ claudetm repo setup api-server
619
+
620
+ claudetm repo clone https://github.com/org/web-client web-client
621
+ claudetm repo setup web-client
622
+
623
+ # Work on individual projects
624
+ cd api-server
625
+ claudetm start "Add rate limiting to API endpoints"
626
+
627
+ cd ../web-client
628
+ claudetm start "Implement dark mode toggle"
629
+ ```
630
+
631
+ **3. Continuous Integration as AI Development**
632
+
633
+ Integrate with CI/CD to have Claude automatically work on issues:
634
+
635
+ ```bash
636
+ # GitHub Action or external trigger
637
+ curl http://localhost:8000/repo/clone \
638
+ -d '{"repo_url": "'$GITHUB_REPOSITORY'", "project_name": "repo"}'
639
+
640
+ curl http://localhost:8000/repo/setup \
641
+ -d '{"project_name": "repo"}'
642
+
643
+ curl http://localhost:8000/task/init \
644
+ -d '{"project_dir": "~/workspace/claude-task-master/repo", "goal": "'$ISSUE_TITLE'"}'
645
+
646
+ # Results reported via webhook callback
647
+ ```
648
+
431
649
  ## Troubleshooting
432
650
 
433
651
  ### Credentials & Setup
@@ -629,6 +847,7 @@ Each stage has specific handlers that determine when to transition to the next s
629
847
  ├── state.json # Machine-readable state
630
848
  ├── progress.md # Progress summary
631
849
  ├── context.md # Accumulated learnings
850
+ ├── mailbox.json # Pending messages for plan updates
632
851
  └── logs/
633
852
  └── run-{timestamp}.txt # Full log (kept on success)
634
853
  ```
@@ -113,9 +113,19 @@ Claude Task Master uses the Claude Agent SDK to autonomously work on complex tas
113
113
  4. **Handle CI** - Wait for checks, fix failures, address review comments
114
114
  5. **Merge** - Auto-merge when approved (configurable)
115
115
  6. **Verify** - Confirm all success criteria are met
116
+ 7. **Adapt** - Accept dynamic plan updates via mailbox while working
116
117
 
117
118
  **Core Philosophy**: Claude is smart enough to do the work AND verify it. Task Master keeps the loop going and persists state between sessions.
118
119
 
120
+ ### Key Features
121
+
122
+ - **Autonomous Execution** - Runs until goal is achieved or needs human input
123
+ - **PR-Based Workflow** - All work flows through pull requests for review
124
+ - **CI Integration** - Handles CI failures and review comments together
125
+ - **Mailbox System** - Receive dynamic plan updates while working (via REST API, MCP, or CLI)
126
+ - **Multi-Instance Coordination** - Multiple instances can communicate via mailbox
127
+ - **State Persistence** - Survives interruptions, resumes where it left off
128
+
119
129
  ## Workflow
120
130
 
121
131
  ```
@@ -300,6 +310,7 @@ Complete documentation for all features and deployment options:
300
310
  | **[Authentication](./docs/authentication.md)** | Password-based authentication for REST API, MCP server, and webhooks |
301
311
  | **[REST API Reference](./docs/api-reference.md)** | Complete REST API endpoint documentation with examples |
302
312
  | **[Webhooks](./docs/webhooks.md)** | Webhook events, payload formats, HMAC signature verification, and integration examples |
313
+ | **[Mailbox System](./docs/mailbox.md)** | Inter-instance communication, dynamic plan updates, and multi-instance coordination |
303
314
 
304
315
  ## Usage
305
316
 
@@ -309,6 +320,7 @@ Complete documentation for all features and deployment options:
309
320
  |---------|-------------|
310
321
  | `claudetm start "goal"` | Start a new task |
311
322
  | `claudetm resume` | Resume a paused task |
323
+ | `claudetm resume "message"` | Update plan with message, then resume |
312
324
  | `claudetm status` | Show current status |
313
325
  | `claudetm plan` | View task list |
314
326
  | `claudetm progress` | View progress summary |
@@ -318,6 +330,9 @@ Complete documentation for all features and deployment options:
318
330
  | `claudetm comments` | Show review comments |
319
331
  | `claudetm clean` | Clean up task state |
320
332
  | `claudetm doctor` | Verify system setup |
333
+ | `claudetm mailbox` | Show mailbox status |
334
+ | `claudetm mailbox send "msg"` | Send message to mailbox |
335
+ | `claudetm mailbox clear` | Clear pending messages |
321
336
 
322
337
  ### Start Options
323
338
 
@@ -346,6 +361,14 @@ claudetm start "Fix bug in parser" --max-sessions 5
346
361
 
347
362
  # Monitor progress
348
363
  watch -n 5 'claudetm status'
364
+
365
+ # Resume with a change request (updates plan first)
366
+ claudetm resume "Also add input validation to the forms"
367
+
368
+ # Send message to mailbox via REST API
369
+ curl -X POST http://localhost:8000/mailbox/send \
370
+ -H "Content-Type: application/json" \
371
+ -d '{"content": "Prioritize security fixes", "priority": 2}'
349
372
  ```
350
373
 
351
374
  ## Examples & Use Cases
@@ -382,6 +405,202 @@ claudetm start "Add API documentation and examples"
382
405
  7. **[CI/CD Integration](./examples/07-cicd.md)** - GitHub Actions workflows
383
406
  8. **[Advanced Workflows](./examples/08-advanced-workflows.md)** - Complex scenarios
384
407
 
408
+ ## AI Developer Workflow
409
+
410
+ Claude Task Master includes built-in support for repository cloning and setup, enabling an AI-driven development environment. This is particularly useful for:
411
+
412
+ - **AI Server Deployments** - Deploy Claude Task Master to servers and have it autonomously clone and setup projects
413
+ - **Development Environment Setup** - Automatically configure repositories for local development
414
+ - **Multi-Project Coordination** - Manage multiple projects simultaneously, each in isolated directories
415
+ - **Continuous AI Development** - Receive work requests, setup projects, implement tasks, all autonomously
416
+
417
+ ### Repo Setup Workflow
418
+
419
+ The repo setup workflow consists of three phases:
420
+
421
+ 1. **Clone** - Clone a git repository to `~/workspace/claude-task-master/{project-name}`
422
+ 2. **Setup** - Automatically install dependencies, create virtual environments, run setup scripts
423
+ 3. **Plan or Work** - Either analyze the project and create a plan, or immediately start working on tasks
424
+
425
+ ### Clone a Repository
426
+
427
+ **Via REST API:**
428
+ ```bash
429
+ curl -X POST http://localhost:8000/repo/clone \
430
+ -H "Content-Type: application/json" \
431
+ -d '{
432
+ "repo_url": "https://github.com/example/my-project.git",
433
+ "project_name": "my-project"
434
+ }'
435
+ ```
436
+
437
+ **Via MCP Tools (IDE Integration):**
438
+ ```
439
+ Claude: Clone the repository https://github.com/example/my-project.git
440
+ → Uses clone_repo tool to clone to ~/workspace/claude-task-master/my-project
441
+ ```
442
+
443
+ ### Setup a Cloned Repository
444
+
445
+ After cloning, setup installs dependencies and prepares the project for development:
446
+
447
+ **Via REST API:**
448
+ ```bash
449
+ curl -X POST http://localhost:8000/repo/setup \
450
+ -H "Content-Type: application/json" \
451
+ -d '{
452
+ "project_name": "my-project"
453
+ }'
454
+ ```
455
+
456
+ **Via MCP Tools:**
457
+ ```
458
+ Claude: Set up the project my-project for development
459
+ → Uses setup_repo tool to configure and prepare the repository
460
+ ```
461
+
462
+ The setup phase:
463
+ - Detects project type (Python, Node.js, Ruby, etc.)
464
+ - Installs package manager if needed (uv, npm, pip, bundler, etc.)
465
+ - Creates virtual environments (venv, node_modules, etc.)
466
+ - Runs setup scripts if present (setup.sh, Makefile, scripts/setup-hooks.sh, etc.)
467
+ - Installs dependencies from lock files (requirements.txt, package.json, Gemfile, etc.)
468
+
469
+ ### Plan a Repository (Analysis Only)
470
+
471
+ Analyze a project and generate a task plan without executing work:
472
+
473
+ **Via REST API:**
474
+ ```bash
475
+ curl -X POST http://localhost:8000/repo/plan \
476
+ -H "Content-Type: application/json" \
477
+ -d '{
478
+ "project_name": "my-project",
479
+ "goal": "Add authentication to the application"
480
+ }'
481
+ ```
482
+
483
+ **Via MCP Tools:**
484
+ ```
485
+ Claude: Plan the task "Add authentication" for project my-project
486
+ → Uses plan_repo tool to analyze and generate a task plan
487
+ ```
488
+
489
+ This phase creates a plan in `.claude-task-master/plan.md` without executing any tasks, allowing review before work begins.
490
+
491
+ ### Complete AI Developer Workflow Example
492
+
493
+ A full end-to-end workflow:
494
+
495
+ ```bash
496
+ # 1. Clone a repository
497
+ curl -X POST http://localhost:8000/repo/clone \
498
+ -H "Content-Type: application/json" \
499
+ -d '{"repo_url": "https://github.com/example/myapp.git", "project_name": "myapp"}'
500
+
501
+ # 2. Setup the project for development
502
+ curl -X POST http://localhost:8000/repo/setup \
503
+ -H "Content-Type: application/json" \
504
+ -d '{"project_name": "myapp"}'
505
+
506
+ # 3. Plan the work (optional - just analyze)
507
+ curl -X POST http://localhost:8000/repo/plan \
508
+ -H "Content-Type: application/json" \
509
+ -d '{"project_name": "myapp", "goal": "Add user authentication with OAuth"}'
510
+
511
+ # 4. Or start work directly with a goal
512
+ curl -X POST http://localhost:8000/task/init \
513
+ -H "Content-Type: application/json" \
514
+ -d '{"project_dir": "~/workspace/claude-task-master/myapp", "goal": "Add user authentication with OAuth"}'
515
+ ```
516
+
517
+ ### Directory Structure
518
+
519
+ When using the repo setup workflow, projects are organized as follows:
520
+
521
+ ```
522
+ ~/workspace/claude-task-master/
523
+ ├── my-project/
524
+ │ ├── .git/
525
+ │ ├── src/
526
+ │ ├── .claude-task-master/ # State directory (auto-created by claudetm)
527
+ │ │ ├── goal.txt
528
+ │ │ ├── plan.md
529
+ │ │ ├── state.json
530
+ │ │ └── logs/
531
+ │ └── ...
532
+ ├── another-project/
533
+ │ └── ...
534
+ ```
535
+
536
+ ### Use Cases
537
+
538
+ **1. Server-Based AI Development Platform**
539
+
540
+ Deploy Claude Task Master to a server with git credentials and have it:
541
+ - Clone repositories on demand
542
+ - Setup development environments automatically
543
+ - Execute work assignments from a job queue
544
+ - Report results via webhooks
545
+
546
+ ```bash
547
+ # Server startup
548
+ docker run -d \
549
+ -p 8000:8000 \
550
+ -v ~/.claude:/root/.claude:ro \
551
+ -v ~/.gitconfig:/root/.gitconfig:ro \
552
+ -v ~/.config/gh:/root/.config/gh:ro \
553
+ -v ~/workspace:/root/workspace \
554
+ ghcr.io/developerz-ai/claude-task-master:latest
555
+
556
+ # External system sends work
557
+ curl http://ai-dev-server:8000/repo/clone -d '{"repo_url": "...", "project_name": "..."}'
558
+ curl http://ai-dev-server:8000/repo/setup -d '{"project_name": "..."}'
559
+ curl http://ai-dev-server:8000/task/init -d '{"project_dir": "...", "goal": "..."}'
560
+ ```
561
+
562
+ **2. Local Development Workspace Management**
563
+
564
+ Setup a local workspace where Claude helps manage multiple projects:
565
+
566
+ ```bash
567
+ # Initialize workspace
568
+ mkdir -p ~/workspace/claude-task-master
569
+ cd ~/workspace/claude-task-master
570
+
571
+ # Clone and setup multiple projects
572
+ claudetm repo clone https://github.com/org/api-server api-server
573
+ claudetm repo setup api-server
574
+
575
+ claudetm repo clone https://github.com/org/web-client web-client
576
+ claudetm repo setup web-client
577
+
578
+ # Work on individual projects
579
+ cd api-server
580
+ claudetm start "Add rate limiting to API endpoints"
581
+
582
+ cd ../web-client
583
+ claudetm start "Implement dark mode toggle"
584
+ ```
585
+
586
+ **3. Continuous Integration as AI Development**
587
+
588
+ Integrate with CI/CD to have Claude automatically work on issues:
589
+
590
+ ```bash
591
+ # GitHub Action or external trigger
592
+ curl http://localhost:8000/repo/clone \
593
+ -d '{"repo_url": "'$GITHUB_REPOSITORY'", "project_name": "repo"}'
594
+
595
+ curl http://localhost:8000/repo/setup \
596
+ -d '{"project_name": "repo"}'
597
+
598
+ curl http://localhost:8000/task/init \
599
+ -d '{"project_dir": "~/workspace/claude-task-master/repo", "goal": "'$ISSUE_TITLE'"}'
600
+
601
+ # Results reported via webhook callback
602
+ ```
603
+
385
604
  ## Troubleshooting
386
605
 
387
606
  ### Credentials & Setup
@@ -583,6 +802,7 @@ Each stage has specific handlers that determine when to transition to the next s
583
802
  ├── state.json # Machine-readable state
584
803
  ├── progress.md # Progress summary
585
804
  ├── context.md # Accumulated learnings
805
+ ├── mailbox.json # Pending messages for plan updates
586
806
  └── logs/
587
807
  └── run-{timestamp}.txt # Full log (kept on success)
588
808
  ```
@@ -4,10 +4,10 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "claude-task-master"
7
- version = "0.1.4"
7
+ version = "0.1.5"
8
8
  description = "Autonomous task orchestration system that keeps Claude working until a goal is achieved"
9
9
  readme = "README.md"
10
- requires-python = ">=3.10"
10
+ requires-python = ">=3.12"
11
11
  license = "MIT"
12
12
  authors = [
13
13
  {name = "Claude Task Master Team"}
@@ -17,8 +17,6 @@ classifiers = [
17
17
  "Development Status :: 3 - Alpha",
18
18
  "Intended Audience :: Developers",
19
19
  "Programming Language :: Python :: 3",
20
- "Programming Language :: Python :: 3.10",
21
- "Programming Language :: Python :: 3.11",
22
20
  "Programming Language :: Python :: 3.12",
23
21
  "Operating System :: OS Independent",
24
22
  "Topic :: Software Development :: Libraries :: Python Modules",
@@ -56,6 +54,7 @@ dev = [
56
54
  "pytest-cov>=4.1.0",
57
55
  "pytest-asyncio>=0.23.0",
58
56
  "pytest-timeout>=2.4.0",
57
+ "hypothesis>=6.100.0",
59
58
  "ruff>=0.3.0",
60
59
  "mypy>=1.9.0",
61
60
  ]
@@ -89,7 +88,7 @@ claude_task_master = ["bin/claudetm"]
89
88
 
90
89
  [tool.ruff]
91
90
  line-length = 100
92
- target-version = "py310"
91
+ target-version = "py312"
93
92
 
94
93
  [tool.ruff.lint]
95
94
  select = [
@@ -110,7 +109,7 @@ quote-style = "double"
110
109
  indent-style = "space"
111
110
 
112
111
  [tool.mypy]
113
- python_version = "3.10"
112
+ python_version = "3.12"
114
113
  warn_return_any = true
115
114
  warn_unused_configs = true
116
115
  disallow_untyped_defs = true
@@ -138,6 +137,10 @@ ignore_missing_imports = true
138
137
  module = "passlib.*"
139
138
  ignore_missing_imports = true
140
139
 
140
+ [[tool.mypy.overrides]]
141
+ module = "anthropic.*"
142
+ ignore_missing_imports = true
143
+
141
144
  [[tool.mypy.overrides]]
142
145
  module = "tests.*"
143
146
  disallow_untyped_defs = false
@@ -155,7 +158,6 @@ addopts = [
155
158
  "--cov-report=term-missing",
156
159
  "--cov-report=html:coverage_html",
157
160
  "--cov-report=xml:coverage.xml",
158
- "--cov-fail-under=50",
159
161
  "--timeout=2",
160
162
  ]
161
163
  asyncio_mode = "auto"
@@ -169,8 +171,16 @@ markers = [
169
171
  "slow: marks tests as slow (deselect with '-m \"not slow\"')",
170
172
  "integration: marks tests as integration tests (require external services)",
171
173
  "unit: marks tests as unit tests",
174
+ "property: marks tests as property-based tests using Hypothesis",
172
175
  ]
173
176
 
177
+ # Hypothesis settings for property-based tests
178
+ [tool.hypothesis]
179
+ profile = "default"
180
+ # Profiles available: default, ci, dev, quick, thorough
181
+ # Set HYPOTHESIS_PROFILE environment variable to use a different profile
182
+ # Example: HYPOTHESIS_PROFILE=ci pytest tests/property/
183
+
174
184
  [tool.coverage.run]
175
185
  source = ["src/claude_task_master"]
176
186
  branch = true
@@ -3,5 +3,5 @@
3
3
  Uses Claude Agent SDK to keep Claude working until a goal is achieved.
4
4
  """
5
5
 
6
- __version__ = "0.1.4"
6
+ __version__ = "0.1.5"
7
7
  __all__ = ["__version__"]