data_porter 0.1.0

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 (159) hide show
  1. checksums.yaml +7 -0
  2. data/.claude/commands/blog-status.md +10 -0
  3. data/.claude/commands/blog.md +109 -0
  4. data/.claude/commands/task-done.md +27 -0
  5. data/.claude/commands/tm/add-dependency.md +58 -0
  6. data/.claude/commands/tm/add-subtask.md +79 -0
  7. data/.claude/commands/tm/add-task.md +81 -0
  8. data/.claude/commands/tm/analyze-complexity.md +124 -0
  9. data/.claude/commands/tm/analyze-project.md +100 -0
  10. data/.claude/commands/tm/auto-implement-tasks.md +100 -0
  11. data/.claude/commands/tm/command-pipeline.md +80 -0
  12. data/.claude/commands/tm/complexity-report.md +120 -0
  13. data/.claude/commands/tm/convert-task-to-subtask.md +74 -0
  14. data/.claude/commands/tm/expand-all-tasks.md +52 -0
  15. data/.claude/commands/tm/expand-task.md +52 -0
  16. data/.claude/commands/tm/fix-dependencies.md +82 -0
  17. data/.claude/commands/tm/help.md +101 -0
  18. data/.claude/commands/tm/init-project-quick.md +49 -0
  19. data/.claude/commands/tm/init-project.md +53 -0
  20. data/.claude/commands/tm/install-taskmaster.md +118 -0
  21. data/.claude/commands/tm/learn.md +106 -0
  22. data/.claude/commands/tm/list-tasks-by-status.md +42 -0
  23. data/.claude/commands/tm/list-tasks-with-subtasks.md +30 -0
  24. data/.claude/commands/tm/list-tasks.md +46 -0
  25. data/.claude/commands/tm/next-task.md +69 -0
  26. data/.claude/commands/tm/parse-prd-with-research.md +51 -0
  27. data/.claude/commands/tm/parse-prd.md +52 -0
  28. data/.claude/commands/tm/project-status.md +67 -0
  29. data/.claude/commands/tm/quick-install-taskmaster.md +23 -0
  30. data/.claude/commands/tm/remove-all-subtasks.md +94 -0
  31. data/.claude/commands/tm/remove-dependency.md +65 -0
  32. data/.claude/commands/tm/remove-subtask.md +87 -0
  33. data/.claude/commands/tm/remove-subtasks.md +89 -0
  34. data/.claude/commands/tm/remove-task.md +110 -0
  35. data/.claude/commands/tm/setup-models.md +52 -0
  36. data/.claude/commands/tm/show-task.md +85 -0
  37. data/.claude/commands/tm/smart-workflow.md +58 -0
  38. data/.claude/commands/tm/sync-readme.md +120 -0
  39. data/.claude/commands/tm/tm-main.md +147 -0
  40. data/.claude/commands/tm/to-cancelled.md +58 -0
  41. data/.claude/commands/tm/to-deferred.md +50 -0
  42. data/.claude/commands/tm/to-done.md +47 -0
  43. data/.claude/commands/tm/to-in-progress.md +39 -0
  44. data/.claude/commands/tm/to-pending.md +35 -0
  45. data/.claude/commands/tm/to-review.md +43 -0
  46. data/.claude/commands/tm/update-single-task.md +122 -0
  47. data/.claude/commands/tm/update-task.md +75 -0
  48. data/.claude/commands/tm/update-tasks-from-id.md +111 -0
  49. data/.claude/commands/tm/validate-dependencies.md +72 -0
  50. data/.claude/commands/tm/view-models.md +52 -0
  51. data/.env.example +12 -0
  52. data/.mcp.json +24 -0
  53. data/.taskmaster/CLAUDE.md +435 -0
  54. data/.taskmaster/config.json +44 -0
  55. data/.taskmaster/docs/prd.txt +2044 -0
  56. data/.taskmaster/state.json +6 -0
  57. data/.taskmaster/tasks/task_001.md +19 -0
  58. data/.taskmaster/tasks/task_002.md +19 -0
  59. data/.taskmaster/tasks/task_003.md +19 -0
  60. data/.taskmaster/tasks/task_004.md +19 -0
  61. data/.taskmaster/tasks/task_005.md +19 -0
  62. data/.taskmaster/tasks/task_006.md +19 -0
  63. data/.taskmaster/tasks/task_007.md +19 -0
  64. data/.taskmaster/tasks/task_008.md +19 -0
  65. data/.taskmaster/tasks/task_009.md +19 -0
  66. data/.taskmaster/tasks/task_010.md +19 -0
  67. data/.taskmaster/tasks/task_011.md +19 -0
  68. data/.taskmaster/tasks/task_012.md +19 -0
  69. data/.taskmaster/tasks/task_013.md +19 -0
  70. data/.taskmaster/tasks/task_014.md +19 -0
  71. data/.taskmaster/tasks/task_015.md +19 -0
  72. data/.taskmaster/tasks/task_016.md +19 -0
  73. data/.taskmaster/tasks/task_017.md +19 -0
  74. data/.taskmaster/tasks/task_018.md +19 -0
  75. data/.taskmaster/tasks/task_019.md +19 -0
  76. data/.taskmaster/tasks/task_020.md +19 -0
  77. data/.taskmaster/tasks/tasks.json +299 -0
  78. data/.taskmaster/templates/example_prd.txt +47 -0
  79. data/.taskmaster/templates/example_prd_rpg.txt +511 -0
  80. data/CHANGELOG.md +29 -0
  81. data/CLAUDE.md +65 -0
  82. data/CODE_OF_CONDUCT.md +10 -0
  83. data/CONTRIBUTING.md +49 -0
  84. data/LICENSE +21 -0
  85. data/README.md +463 -0
  86. data/Rakefile +12 -0
  87. data/app/assets/stylesheets/data_porter/application.css +646 -0
  88. data/app/channels/data_porter/import_channel.rb +10 -0
  89. data/app/controllers/data_porter/imports_controller.rb +68 -0
  90. data/app/javascript/data_porter/progress_controller.js +33 -0
  91. data/app/jobs/data_porter/dry_run_job.rb +12 -0
  92. data/app/jobs/data_porter/import_job.rb +12 -0
  93. data/app/jobs/data_porter/parse_job.rb +12 -0
  94. data/app/models/data_porter/data_import.rb +49 -0
  95. data/app/views/data_porter/imports/index.html.erb +142 -0
  96. data/app/views/data_porter/imports/new.html.erb +88 -0
  97. data/app/views/data_porter/imports/show.html.erb +49 -0
  98. data/config/database.yml +3 -0
  99. data/config/routes.rb +12 -0
  100. data/docs/SPEC.md +2012 -0
  101. data/docs/UI.md +32 -0
  102. data/docs/blog/001-why-build-a-data-import-engine.md +166 -0
  103. data/docs/blog/002-scaffolding-a-rails-engine.md +188 -0
  104. data/docs/blog/003-configuration-dsl.md +222 -0
  105. data/docs/blog/004-store-model-jsonb.md +237 -0
  106. data/docs/blog/005-target-dsl.md +284 -0
  107. data/docs/blog/006-parsing-csv-sources.md +300 -0
  108. data/docs/blog/007-orchestrator.md +247 -0
  109. data/docs/blog/008-actioncable-stimulus.md +376 -0
  110. data/docs/blog/009-phlex-ui-components.md +446 -0
  111. data/docs/blog/010-controllers-routing.md +374 -0
  112. data/docs/blog/011-generators.md +364 -0
  113. data/docs/blog/012-json-api-sources.md +323 -0
  114. data/docs/blog/013-testing-rails-engine.md +618 -0
  115. data/docs/blog/014-dry-run.md +307 -0
  116. data/docs/blog/015-publishing-retro.md +264 -0
  117. data/docs/blog/016-erb-view-templates.md +431 -0
  118. data/docs/blog/017-showcase-final-retro.md +220 -0
  119. data/docs/blog/BACKLOG.md +8 -0
  120. data/docs/blog/SERIES.md +154 -0
  121. data/docs/screenshots/index-with-previewing.jpg +0 -0
  122. data/docs/screenshots/index.jpg +0 -0
  123. data/docs/screenshots/modal-new-import.jpg +0 -0
  124. data/docs/screenshots/preview.jpg +0 -0
  125. data/lib/data_porter/broadcaster.rb +29 -0
  126. data/lib/data_porter/components/base.rb +10 -0
  127. data/lib/data_porter/components/failure_alert.rb +20 -0
  128. data/lib/data_porter/components/preview_table.rb +54 -0
  129. data/lib/data_porter/components/progress_bar.rb +33 -0
  130. data/lib/data_porter/components/results_summary.rb +19 -0
  131. data/lib/data_porter/components/status_badge.rb +16 -0
  132. data/lib/data_porter/components/summary_cards.rb +30 -0
  133. data/lib/data_porter/components.rb +14 -0
  134. data/lib/data_porter/configuration.rb +25 -0
  135. data/lib/data_porter/dsl/api_config.rb +25 -0
  136. data/lib/data_porter/dsl/column.rb +17 -0
  137. data/lib/data_porter/engine.rb +15 -0
  138. data/lib/data_porter/orchestrator.rb +141 -0
  139. data/lib/data_porter/record_validator.rb +32 -0
  140. data/lib/data_porter/registry.rb +33 -0
  141. data/lib/data_porter/sources/api.rb +49 -0
  142. data/lib/data_porter/sources/base.rb +35 -0
  143. data/lib/data_porter/sources/csv.rb +43 -0
  144. data/lib/data_porter/sources/json.rb +45 -0
  145. data/lib/data_porter/sources.rb +20 -0
  146. data/lib/data_porter/store_models/error.rb +13 -0
  147. data/lib/data_porter/store_models/import_record.rb +52 -0
  148. data/lib/data_porter/store_models/report.rb +21 -0
  149. data/lib/data_porter/target.rb +89 -0
  150. data/lib/data_porter/type_validator.rb +46 -0
  151. data/lib/data_porter/version.rb +5 -0
  152. data/lib/data_porter.rb +32 -0
  153. data/lib/generators/data_porter/install/install_generator.rb +33 -0
  154. data/lib/generators/data_porter/install/templates/create_data_porter_imports.rb.erb +21 -0
  155. data/lib/generators/data_porter/install/templates/initializer.rb +30 -0
  156. data/lib/generators/data_porter/target/target_generator.rb +44 -0
  157. data/lib/generators/data_porter/target/templates/target.rb.tt +20 -0
  158. data/sig/data_porter.rbs +4 -0
  159. metadata +274 -0
@@ -0,0 +1,111 @@
1
+ Update Tasks From ID
2
+
3
+ Arguments: $ARGUMENTS
4
+ Update multiple tasks starting from a specific ID.
5
+
6
+ Arguments: $ARGUMENTS
7
+
8
+ Parse starting task ID and update context.
9
+
10
+ ## Bulk Task Updates
11
+
12
+ Update multiple related tasks based on new requirements or context changes.
13
+
14
+ ## Argument Parsing
15
+
16
+ - "from 5: add security requirements"
17
+ - "5 onwards: update API endpoints"
18
+ - "starting at 5: change to use new framework"
19
+
20
+ ## Execution
21
+
22
+ ```bash
23
+ task-master update --from=<id> --prompt="<context>"
24
+ ```
25
+
26
+ ## Update Process
27
+
28
+ ### 1. **Task Selection**
29
+ Starting from specified ID:
30
+ - Include the task itself
31
+ - Include all dependent tasks
32
+ - Include related subtasks
33
+ - Smart boundary detection
34
+
35
+ ### 2. **Context Application**
36
+ AI analyzes the update context and:
37
+ - Identifies what needs changing
38
+ - Maintains consistency
39
+ - Preserves completed work
40
+ - Updates related information
41
+
42
+ ### 3. **Intelligent Updates**
43
+ - Modify descriptions appropriately
44
+ - Update test strategies
45
+ - Adjust time estimates
46
+ - Revise dependencies if needed
47
+
48
+ ## Smart Features
49
+
50
+ 1. **Scope Detection**
51
+ - Find natural task groupings
52
+ - Identify related features
53
+ - Stop at logical boundaries
54
+ - Avoid over-updating
55
+
56
+ 2. **Consistency Maintenance**
57
+ - Keep naming conventions
58
+ - Preserve relationships
59
+ - Update cross-references
60
+ - Maintain task flow
61
+
62
+ 3. **Change Preview**
63
+ ```
64
+ Bulk Update Preview
65
+ ━━━━━━━━━━━━━━━━━━
66
+ Starting from: Task #5
67
+ Tasks to update: 8 tasks + 12 subtasks
68
+
69
+ Context: "add security requirements"
70
+
71
+ Changes will include:
72
+ - Add security sections to descriptions
73
+ - Update test strategies for security
74
+ - Add security-related subtasks where needed
75
+ - Adjust time estimates (+20% average)
76
+
77
+ Continue? (y/n)
78
+ ```
79
+
80
+ ## Example Updates
81
+
82
+ ```
83
+ /taskmaster:update-tasks-from-id 5: change database to PostgreSQL
84
+ → Analyzing impact starting from task #5
85
+ → Found 6 related tasks to update
86
+ → Updates will maintain consistency
87
+ → Preview changes? (y/n)
88
+
89
+ Applied updates:
90
+ ✓ Task #5: Updated connection logic references
91
+ ✓ Task #6: Changed migration approach
92
+ ✓ Task #7: Updated query syntax notes
93
+ ✓ Task #8: Revised testing strategy
94
+ ✓ Task #9: Updated deployment steps
95
+ ✓ Task #12: Changed backup procedures
96
+ ```
97
+
98
+ ## Safety Features
99
+
100
+ - Preview all changes
101
+ - Selective confirmation
102
+ - Rollback capability
103
+ - Change logging
104
+ - Validation checks
105
+
106
+ ## Post-Update
107
+
108
+ - Summary of changes
109
+ - Consistency verification
110
+ - Suggest review tasks
111
+ - Update timeline if needed
@@ -0,0 +1,72 @@
1
+ Validate Dependencies
2
+ Validate all task dependencies for issues.
3
+
4
+ ## Dependency Validation
5
+
6
+ Comprehensive check for dependency problems across the entire project.
7
+
8
+ ## Execution
9
+
10
+ ```bash
11
+ task-master validate-dependencies
12
+ ```
13
+
14
+ ## Validation Checks
15
+
16
+ 1. **Circular Dependencies**
17
+ - A depends on B, B depends on A
18
+ - Complex circular chains
19
+ - Self-dependencies
20
+
21
+ 2. **Missing Dependencies**
22
+ - References to non-existent tasks
23
+ - Deleted task references
24
+ - Invalid task IDs
25
+
26
+ 3. **Logical Issues**
27
+ - Completed tasks depending on pending
28
+ - Cancelled tasks in dependency chains
29
+ - Impossible sequences
30
+
31
+ 4. **Complexity Warnings**
32
+ - Over-complex dependency chains
33
+ - Too many dependencies per task
34
+ - Bottleneck tasks
35
+
36
+ ## Smart Analysis
37
+
38
+ The validation provides:
39
+ - Visual dependency graph
40
+ - Critical path analysis
41
+ - Bottleneck identification
42
+ - Suggested optimizations
43
+
44
+ ## Report Format
45
+
46
+ ```
47
+ Dependency Validation Report
48
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━
49
+ ✅ No circular dependencies found
50
+ ⚠️ 2 warnings found:
51
+ - Task #23 has 7 dependencies (consider breaking down)
52
+ - Task #45 blocks 5 other tasks (potential bottleneck)
53
+ ❌ 1 error found:
54
+ - Task #67 depends on deleted task #66
55
+
56
+ Critical Path: #1 → #5 → #23 → #45 → #50 (15 days)
57
+ ```
58
+
59
+ ## Actionable Output
60
+
61
+ For each issue found:
62
+ - Clear description
63
+ - Impact assessment
64
+ - Suggested fix
65
+ - Command to resolve
66
+
67
+ ## Next Steps
68
+
69
+ After validation:
70
+ - Run `/taskmaster:fix-dependencies` to auto-fix
71
+ - Manually adjust problematic dependencies
72
+ - Rerun to verify fixes
@@ -0,0 +1,52 @@
1
+ View Models
2
+ View current AI model configuration.
3
+
4
+ ## Model Configuration Display
5
+
6
+ Shows the currently configured AI providers and models for Task Master.
7
+
8
+ ## Execution
9
+
10
+ ```bash
11
+ task-master models
12
+ ```
13
+
14
+ ## Information Displayed
15
+
16
+ 1. **Main Provider**
17
+ - Model ID and name
18
+ - API key status (configured/missing)
19
+ - Usage: Primary task generation
20
+
21
+ 2. **Research Provider**
22
+ - Model ID and name
23
+ - API key status
24
+ - Usage: Enhanced research mode
25
+
26
+ 3. **Fallback Provider**
27
+ - Model ID and name
28
+ - API key status
29
+ - Usage: Backup when main fails
30
+
31
+ ## Visual Status
32
+
33
+ ```
34
+ Task Master AI Model Configuration
35
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+ Main: ✅ claude-3-5-sonnet (configured)
37
+ Research: ✅ perplexity-sonar (configured)
38
+ Fallback: ⚠️ Not configured (optional)
39
+
40
+ Available Models:
41
+ - claude-3-5-sonnet
42
+ - gpt-4-turbo
43
+ - gpt-3.5-turbo
44
+ - perplexity-sonar
45
+ ```
46
+
47
+ ## Next Actions
48
+
49
+ Based on configuration:
50
+ - If missing API keys → Suggest setup
51
+ - If no research model → Explain benefits
52
+ - If all configured → Show usage tips
data/.env.example ADDED
@@ -0,0 +1,12 @@
1
+ # API Keys (Required to enable respective provider)
2
+ ANTHROPIC_API_KEY="your_anthropic_api_key_here" # Required: Format: sk-ant-api03-...
3
+ PERPLEXITY_API_KEY="your_perplexity_api_key_here" # Optional: Format: pplx-...
4
+ OPENAI_API_KEY="your_openai_api_key_here" # Optional, for OpenAI models. Format: sk-proj-...
5
+ GOOGLE_API_KEY="your_google_api_key_here" # Optional, for Google Gemini models.
6
+ MISTRAL_API_KEY="your_mistral_key_here" # Optional, for Mistral AI models.
7
+ XAI_API_KEY="YOUR_XAI_KEY_HERE" # Optional, for xAI AI models.
8
+ GROQ_API_KEY="YOUR_GROQ_KEY_HERE" # Optional, for Groq models.
9
+ OPENROUTER_API_KEY="YOUR_OPENROUTER_KEY_HERE" # Optional, for OpenRouter models.
10
+ AZURE_OPENAI_API_KEY="your_azure_key_here" # Optional, for Azure OpenAI models (requires endpoint in .taskmaster/config.json).
11
+ OLLAMA_API_KEY="your_ollama_api_key_here" # Optional: For remote Ollama servers that require authentication.
12
+ GITHUB_API_KEY="your_github_api_key_here" # Optional: For GitHub import/export features. Format: ghp_... or github_pat_...
data/.mcp.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "mcpServers": {
3
+ "task-master-ai": {
4
+ "type": "stdio",
5
+ "command": "npx",
6
+ "args": [
7
+ "-y",
8
+ "task-master-ai"
9
+ ],
10
+ "env": {
11
+ "TASK_MASTER_TOOLS": "core",
12
+ "ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE",
13
+ "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE",
14
+ "OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
15
+ "GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE",
16
+ "XAI_API_KEY": "YOUR_XAI_KEY_HERE",
17
+ "OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE",
18
+ "MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE",
19
+ "AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE",
20
+ "OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY_HERE"
21
+ }
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,435 @@
1
+ # Task Master AI - Agent Integration Guide
2
+
3
+ ## Essential Commands
4
+
5
+ ### Core Workflow Commands
6
+
7
+ ```bash
8
+ # Project Setup
9
+ task-master init # Initialize Task Master in current project
10
+ task-master parse-prd .taskmaster/docs/prd.md # Generate tasks from PRD document
11
+ task-master models --setup # Configure AI models interactively
12
+
13
+ # Daily Development Workflow
14
+ task-master list # Show all tasks with status
15
+ task-master next # Get next available task to work on
16
+ task-master show <id> # View detailed task information (e.g., task-master show 1.2)
17
+ task-master set-status --id=<id> --status=done # Mark task complete
18
+
19
+ # Task Management
20
+ task-master add-task --prompt="description" --research # Add new task with AI assistance
21
+ task-master expand --id=<id> --research --force # Break task into subtasks
22
+ task-master update-task --id=<id> --prompt="changes" # Update specific task
23
+ task-master update --from=<id> --prompt="changes" # Update multiple tasks from ID onwards
24
+ task-master update-subtask --id=<id> --prompt="notes" # Add implementation notes to subtask
25
+
26
+ # Analysis & Planning
27
+ task-master analyze-complexity --research # Analyze task complexity
28
+ task-master complexity-report # View complexity analysis
29
+ task-master expand --all --research # Expand all eligible tasks
30
+
31
+ # Dependencies & Organization
32
+ task-master add-dependency --id=<id> --depends-on=<id> # Add task dependency
33
+ task-master move --from=<id> --to=<id> # Reorganize task hierarchy
34
+ task-master validate-dependencies # Check for dependency issues
35
+ task-master generate # Update task markdown files (usually auto-called)
36
+ ```
37
+
38
+ ## Key Files & Project Structure
39
+
40
+ ### Core Files
41
+
42
+ - `.taskmaster/tasks/tasks.json` - Main task data file (auto-managed)
43
+ - `.taskmaster/config.json` - AI model configuration (use `task-master models` to modify)
44
+ - `.taskmaster/docs/prd.md` - Product Requirements Document for parsing (`.md` extension recommended for better editor support)
45
+ - `.taskmaster/tasks/*.txt` - Individual task files (auto-generated from tasks.json)
46
+ - `.env` - API keys for CLI usage
47
+
48
+ **PRD File Format:** While both `.txt` and `.md` extensions work, **`.md` is recommended** because:
49
+ - Markdown syntax highlighting in editors improves readability
50
+ - Proper rendering when previewing in VS Code, GitHub, or other tools
51
+ - Better collaboration through formatted documentation
52
+
53
+ ### Claude Code Integration Files
54
+
55
+ - `CLAUDE.md` - Auto-loaded context for Claude Code (this file)
56
+ - `.claude/settings.json` - Claude Code tool allowlist and preferences
57
+ - `.claude/commands/` - Custom slash commands for repeated workflows
58
+ - `.mcp.json` - MCP server configuration (project-specific)
59
+
60
+ ### Directory Structure
61
+
62
+ ```
63
+ project/
64
+ ├── .taskmaster/
65
+ │ ├── tasks/ # Task files directory
66
+ │ │ ├── tasks.json # Main task database
67
+ │ │ ├── task-1.md # Individual task files
68
+ │ │ └── task-2.md
69
+ │ ├── docs/ # Documentation directory
70
+ │ │ ├── prd.md # Product requirements (.md recommended)
71
+ │ ├── reports/ # Analysis reports directory
72
+ │ │ └── task-complexity-report.json
73
+ │ ├── templates/ # Template files
74
+ │ │ └── example_prd.md # Example PRD template (.md recommended)
75
+ │ └── config.json # AI models & settings
76
+ ├── .claude/
77
+ │ ├── settings.json # Claude Code configuration
78
+ │ └── commands/ # Custom slash commands
79
+ ├── .env # API keys
80
+ ├── .mcp.json # MCP configuration
81
+ └── CLAUDE.md # This file - auto-loaded by Claude Code
82
+ ```
83
+
84
+ ## MCP Integration
85
+
86
+ Task Master provides an MCP server that Claude Code can connect to. Configure in `.mcp.json`:
87
+
88
+ ```json
89
+ {
90
+ "mcpServers": {
91
+ "task-master-ai": {
92
+ "command": "npx",
93
+ "args": ["-y", "task-master-ai"],
94
+ "env": {
95
+ "TASK_MASTER_TOOLS": "core",
96
+ "ANTHROPIC_API_KEY": "your_key_here",
97
+ "PERPLEXITY_API_KEY": "your_key_here",
98
+ "OPENAI_API_KEY": "OPENAI_API_KEY_HERE",
99
+ "GOOGLE_API_KEY": "GOOGLE_API_KEY_HERE",
100
+ "XAI_API_KEY": "XAI_API_KEY_HERE",
101
+ "OPENROUTER_API_KEY": "OPENROUTER_API_KEY_HERE",
102
+ "MISTRAL_API_KEY": "MISTRAL_API_KEY_HERE",
103
+ "AZURE_OPENAI_API_KEY": "AZURE_OPENAI_API_KEY_HERE",
104
+ "OLLAMA_API_KEY": "OLLAMA_API_KEY_HERE"
105
+ }
106
+ }
107
+ }
108
+ }
109
+ ```
110
+
111
+ ### MCP Tool Tiers
112
+
113
+ Default: `core` (7 tools). Set via `TASK_MASTER_TOOLS` env var.
114
+
115
+ | Tier | Count | Tools |
116
+ |------|-------|-------|
117
+ | `core` | 7 | `get_tasks`, `next_task`, `get_task`, `set_task_status`, `update_subtask`, `parse_prd`, `expand_task` |
118
+ | `standard` | 14 | core + `initialize_project`, `analyze_project_complexity`, `expand_all`, `add_subtask`, `remove_task`, `add_task`, `complexity_report` |
119
+ | `all` | 44+ | standard + dependencies, tags, research, autopilot, scoping, models, rules |
120
+
121
+ **Upgrade when tool unavailable:** Edit MCP config, change `TASK_MASTER_TOOLS` from `"core"` to `"standard"` or `"all"`, restart MCP.
122
+
123
+ ### Essential MCP Tools
124
+
125
+ ```javascript
126
+ help; // = shows available taskmaster commands
127
+ // Project setup
128
+ initialize_project; // = task-master init
129
+ parse_prd; // = task-master parse-prd
130
+
131
+ // Daily workflow
132
+ get_tasks; // = task-master list
133
+ next_task; // = task-master next
134
+ get_task; // = task-master show <id>
135
+ set_task_status; // = task-master set-status
136
+
137
+ // Task management
138
+ add_task; // = task-master add-task
139
+ expand_task; // = task-master expand
140
+ update_task; // = task-master update-task
141
+ update_subtask; // = task-master update-subtask
142
+ update; // = task-master update
143
+
144
+ // Analysis
145
+ analyze_project_complexity; // = task-master analyze-complexity
146
+ complexity_report; // = task-master complexity-report
147
+ ```
148
+
149
+ ## Claude Code Workflow Integration
150
+
151
+ ### Standard Development Workflow
152
+
153
+ #### 1. Project Initialization
154
+
155
+ ```bash
156
+ # Initialize Task Master
157
+ task-master init
158
+
159
+ # Create or obtain PRD, then parse it (use .md extension for better editor support)
160
+ task-master parse-prd .taskmaster/docs/prd.md
161
+
162
+ # Analyze complexity and expand tasks
163
+ task-master analyze-complexity --research
164
+ task-master expand --all --research
165
+ ```
166
+
167
+ If tasks already exist, another PRD can be parsed (with new information only!) using parse-prd with --append flag. This will add the generated tasks to the existing list of tasks..
168
+
169
+ #### 2. Daily Development Loop
170
+
171
+ ```bash
172
+ # Start each session
173
+ task-master next # Find next available task
174
+ task-master show <id> # Review task details
175
+
176
+ # During implementation, check in code context into the tasks and subtasks
177
+ task-master update-subtask --id=<id> --prompt="implementation notes..."
178
+
179
+ # Complete tasks
180
+ task-master set-status --id=<id> --status=done
181
+ ```
182
+
183
+ #### 3. Multi-Claude Workflows
184
+
185
+ For complex projects, use multiple Claude Code sessions:
186
+
187
+ ```bash
188
+ # Terminal 1: Main implementation
189
+ cd project && claude
190
+
191
+ # Terminal 2: Testing and validation
192
+ cd project-test-worktree && claude
193
+
194
+ # Terminal 3: Documentation updates
195
+ cd project-docs-worktree && claude
196
+ ```
197
+
198
+ ### Custom Slash Commands
199
+
200
+ Create `.claude/commands/taskmaster-next.md`:
201
+
202
+ ```markdown
203
+ Find the next available Task Master task and show its details.
204
+
205
+ Steps:
206
+
207
+ 1. Run `task-master next` to get the next task
208
+ 2. If a task is available, run `task-master show <id>` for full details
209
+ 3. Provide a summary of what needs to be implemented
210
+ 4. Suggest the first implementation step
211
+ ```
212
+
213
+ Create `.claude/commands/taskmaster-complete.md`:
214
+
215
+ ```markdown
216
+ Complete a Task Master task: $ARGUMENTS
217
+
218
+ Steps:
219
+
220
+ 1. Review the current task with `task-master show $ARGUMENTS`
221
+ 2. Verify all implementation is complete
222
+ 3. Run any tests related to this task
223
+ 4. Mark as complete: `task-master set-status --id=$ARGUMENTS --status=done`
224
+ 5. Show the next available task with `task-master next`
225
+ ```
226
+
227
+ ## Tool Allowlist Recommendations
228
+
229
+ Add to `.claude/settings.json`:
230
+
231
+ ```json
232
+ {
233
+ "allowedTools": [
234
+ "Edit",
235
+ "Bash(task-master *)",
236
+ "Bash(git commit:*)",
237
+ "Bash(git add:*)",
238
+ "Bash(npm run *)",
239
+ "mcp__task_master_ai__*"
240
+ ]
241
+ }
242
+ ```
243
+
244
+ ## Configuration & Setup
245
+
246
+ ### API Keys Required
247
+
248
+ At least **one** of these API keys must be configured:
249
+
250
+ - `ANTHROPIC_API_KEY` (Claude models) - **Recommended**
251
+ - `PERPLEXITY_API_KEY` (Research features) - **Highly recommended**
252
+ - `OPENAI_API_KEY` (GPT models)
253
+ - `GOOGLE_API_KEY` (Gemini models)
254
+ - `MISTRAL_API_KEY` (Mistral models)
255
+ - `OPENROUTER_API_KEY` (Multiple models)
256
+ - `XAI_API_KEY` (Grok models)
257
+
258
+ An API key is required for any provider used across any of the 3 roles defined in the `models` command.
259
+
260
+ ### Model Configuration
261
+
262
+ ```bash
263
+ # Interactive setup (recommended)
264
+ task-master models --setup
265
+
266
+ # Set specific models
267
+ task-master models --set-main claude-3-5-sonnet-20241022
268
+ task-master models --set-research perplexity-llama-3.1-sonar-large-128k-online
269
+ task-master models --set-fallback gpt-4o-mini
270
+ ```
271
+
272
+ ## Task Structure & IDs
273
+
274
+ ### Task ID Format
275
+
276
+ - Main tasks: `1`, `2`, `3`, etc.
277
+ - Subtasks: `1.1`, `1.2`, `2.1`, etc.
278
+ - Sub-subtasks: `1.1.1`, `1.1.2`, etc.
279
+
280
+ ### Task Status Values
281
+
282
+ - `pending` - Ready to work on
283
+ - `in-progress` - Currently being worked on
284
+ - `done` - Completed and verified
285
+ - `deferred` - Postponed
286
+ - `cancelled` - No longer needed
287
+ - `blocked` - Waiting on external factors
288
+
289
+ ### Task Fields
290
+
291
+ ```json
292
+ {
293
+ "id": "1.2",
294
+ "title": "Implement user authentication",
295
+ "description": "Set up JWT-based auth system",
296
+ "status": "pending",
297
+ "priority": "high",
298
+ "dependencies": ["1.1"],
299
+ "details": "Use bcrypt for hashing, JWT for tokens...",
300
+ "testStrategy": "Unit tests for auth functions, integration tests for login flow",
301
+ "subtasks": []
302
+ }
303
+ ```
304
+
305
+ ## Claude Code Best Practices with Task Master
306
+
307
+ ### Context Management
308
+
309
+ - Use `/clear` between different tasks to maintain focus
310
+ - This CLAUDE.md file is automatically loaded for context
311
+ - Use `task-master show <id>` to pull specific task context when needed
312
+
313
+ ### Iterative Implementation
314
+
315
+ 1. `task-master show <subtask-id>` - Understand requirements
316
+ 2. Explore codebase and plan implementation
317
+ 3. `task-master update-subtask --id=<id> --prompt="detailed plan"` - Log plan
318
+ 4. `task-master set-status --id=<id> --status=in-progress` - Start work
319
+ 5. Implement code following logged plan
320
+ 6. `task-master update-subtask --id=<id> --prompt="what worked/didn't work"` - Log progress
321
+ 7. `task-master set-status --id=<id> --status=done` - Complete task
322
+
323
+ ### Complex Workflows with Checklists
324
+
325
+ For large migrations or multi-step processes:
326
+
327
+ 1. Create a markdown PRD file describing the new changes: `touch task-migration-checklist.md` (prds can be .txt or .md)
328
+ 2. Use Taskmaster to parse the new prd with `task-master parse-prd --append` (also available in MCP)
329
+ 3. Use Taskmaster to expand the newly generated tasks into subtasks. Consdier using `analyze-complexity` with the correct --to and --from IDs (the new ids) to identify the ideal subtask amounts for each task. Then expand them.
330
+ 4. Work through items systematically, checking them off as completed
331
+ 5. Use `task-master update-subtask` to log progress on each task/subtask and/or updating/researching them before/during implementation if getting stuck
332
+
333
+ ### Git Integration
334
+
335
+ Task Master works well with `gh` CLI:
336
+
337
+ ```bash
338
+ # Create PR for completed task
339
+ gh pr create --title "Complete task 1.2: User authentication" --body "Implements JWT auth system as specified in task 1.2"
340
+
341
+ # Reference task in commits
342
+ git commit -m "feat: implement JWT auth (task 1.2)"
343
+ ```
344
+
345
+ ### Parallel Development with Git Worktrees
346
+
347
+ ```bash
348
+ # Create worktrees for parallel task development
349
+ git worktree add ../project-auth feature/auth-system
350
+ git worktree add ../project-api feature/api-refactor
351
+
352
+ # Run Claude Code in each worktree
353
+ cd ../project-auth && claude # Terminal 1: Auth work
354
+ cd ../project-api && claude # Terminal 2: API work
355
+ ```
356
+
357
+ ## Troubleshooting
358
+
359
+ ### AI Commands Failing
360
+
361
+ ```bash
362
+ # Check API keys are configured
363
+ cat .env # For CLI usage
364
+
365
+ # Verify model configuration
366
+ task-master models
367
+
368
+ # Test with different model
369
+ task-master models --set-fallback gpt-4o-mini
370
+ ```
371
+
372
+ ### MCP Connection Issues
373
+
374
+ - Check `.mcp.json` configuration
375
+ - Verify Node.js installation
376
+ - Use `--mcp-debug` flag when starting Claude Code
377
+ - Use CLI as fallback if MCP unavailable
378
+
379
+ ### Task File Sync Issues
380
+
381
+ ```bash
382
+ # Regenerate task files from tasks.json
383
+ task-master generate
384
+
385
+ # Fix dependency issues
386
+ task-master fix-dependencies
387
+ ```
388
+
389
+ DO NOT RE-INITIALIZE. That will not do anything beyond re-adding the same Taskmaster core files.
390
+
391
+ ## Important Notes
392
+
393
+ ### AI-Powered Operations
394
+
395
+ These commands make AI calls and may take up to a minute:
396
+
397
+ - `parse_prd` / `task-master parse-prd`
398
+ - `analyze_project_complexity` / `task-master analyze-complexity`
399
+ - `expand_task` / `task-master expand`
400
+ - `expand_all` / `task-master expand --all`
401
+ - `add_task` / `task-master add-task`
402
+ - `update` / `task-master update`
403
+ - `update_task` / `task-master update-task`
404
+ - `update_subtask` / `task-master update-subtask`
405
+
406
+ ### File Management
407
+
408
+ - Never manually edit `tasks.json` - use commands instead
409
+ - Never manually edit `.taskmaster/config.json` - use `task-master models`
410
+ - Task markdown files in `tasks/` are auto-generated
411
+ - Run `task-master generate` after manual changes to tasks.json
412
+
413
+ ### Claude Code Session Management
414
+
415
+ - Use `/clear` frequently to maintain focused context
416
+ - Create custom slash commands for repeated Task Master workflows
417
+ - Configure tool allowlist to streamline permissions
418
+ - Use headless mode for automation: `claude -p "task-master next"`
419
+
420
+ ### Multi-Task Updates
421
+
422
+ - Use `update --from=<id>` to update multiple future tasks
423
+ - Use `update-task --id=<id>` for single task updates
424
+ - Use `update-subtask --id=<id>` for implementation logging
425
+
426
+ ### Research Mode
427
+
428
+ - Add `--research` flag for research-based AI enhancement
429
+ - Requires a research model API key like Perplexity (`PERPLEXITY_API_KEY`) in environment
430
+ - Provides more informed task creation and updates
431
+ - Recommended for complex technical tasks
432
+
433
+ ---
434
+
435
+ _This guide ensures Claude Code has immediate access to Task Master's essential functionality for agentic development workflows._