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.
- checksums.yaml +7 -0
- data/.claude/commands/blog-status.md +10 -0
- data/.claude/commands/blog.md +109 -0
- data/.claude/commands/task-done.md +27 -0
- data/.claude/commands/tm/add-dependency.md +58 -0
- data/.claude/commands/tm/add-subtask.md +79 -0
- data/.claude/commands/tm/add-task.md +81 -0
- data/.claude/commands/tm/analyze-complexity.md +124 -0
- data/.claude/commands/tm/analyze-project.md +100 -0
- data/.claude/commands/tm/auto-implement-tasks.md +100 -0
- data/.claude/commands/tm/command-pipeline.md +80 -0
- data/.claude/commands/tm/complexity-report.md +120 -0
- data/.claude/commands/tm/convert-task-to-subtask.md +74 -0
- data/.claude/commands/tm/expand-all-tasks.md +52 -0
- data/.claude/commands/tm/expand-task.md +52 -0
- data/.claude/commands/tm/fix-dependencies.md +82 -0
- data/.claude/commands/tm/help.md +101 -0
- data/.claude/commands/tm/init-project-quick.md +49 -0
- data/.claude/commands/tm/init-project.md +53 -0
- data/.claude/commands/tm/install-taskmaster.md +118 -0
- data/.claude/commands/tm/learn.md +106 -0
- data/.claude/commands/tm/list-tasks-by-status.md +42 -0
- data/.claude/commands/tm/list-tasks-with-subtasks.md +30 -0
- data/.claude/commands/tm/list-tasks.md +46 -0
- data/.claude/commands/tm/next-task.md +69 -0
- data/.claude/commands/tm/parse-prd-with-research.md +51 -0
- data/.claude/commands/tm/parse-prd.md +52 -0
- data/.claude/commands/tm/project-status.md +67 -0
- data/.claude/commands/tm/quick-install-taskmaster.md +23 -0
- data/.claude/commands/tm/remove-all-subtasks.md +94 -0
- data/.claude/commands/tm/remove-dependency.md +65 -0
- data/.claude/commands/tm/remove-subtask.md +87 -0
- data/.claude/commands/tm/remove-subtasks.md +89 -0
- data/.claude/commands/tm/remove-task.md +110 -0
- data/.claude/commands/tm/setup-models.md +52 -0
- data/.claude/commands/tm/show-task.md +85 -0
- data/.claude/commands/tm/smart-workflow.md +58 -0
- data/.claude/commands/tm/sync-readme.md +120 -0
- data/.claude/commands/tm/tm-main.md +147 -0
- data/.claude/commands/tm/to-cancelled.md +58 -0
- data/.claude/commands/tm/to-deferred.md +50 -0
- data/.claude/commands/tm/to-done.md +47 -0
- data/.claude/commands/tm/to-in-progress.md +39 -0
- data/.claude/commands/tm/to-pending.md +35 -0
- data/.claude/commands/tm/to-review.md +43 -0
- data/.claude/commands/tm/update-single-task.md +122 -0
- data/.claude/commands/tm/update-task.md +75 -0
- data/.claude/commands/tm/update-tasks-from-id.md +111 -0
- data/.claude/commands/tm/validate-dependencies.md +72 -0
- data/.claude/commands/tm/view-models.md +52 -0
- data/.env.example +12 -0
- data/.mcp.json +24 -0
- data/.taskmaster/CLAUDE.md +435 -0
- data/.taskmaster/config.json +44 -0
- data/.taskmaster/docs/prd.txt +2044 -0
- data/.taskmaster/state.json +6 -0
- data/.taskmaster/tasks/task_001.md +19 -0
- data/.taskmaster/tasks/task_002.md +19 -0
- data/.taskmaster/tasks/task_003.md +19 -0
- data/.taskmaster/tasks/task_004.md +19 -0
- data/.taskmaster/tasks/task_005.md +19 -0
- data/.taskmaster/tasks/task_006.md +19 -0
- data/.taskmaster/tasks/task_007.md +19 -0
- data/.taskmaster/tasks/task_008.md +19 -0
- data/.taskmaster/tasks/task_009.md +19 -0
- data/.taskmaster/tasks/task_010.md +19 -0
- data/.taskmaster/tasks/task_011.md +19 -0
- data/.taskmaster/tasks/task_012.md +19 -0
- data/.taskmaster/tasks/task_013.md +19 -0
- data/.taskmaster/tasks/task_014.md +19 -0
- data/.taskmaster/tasks/task_015.md +19 -0
- data/.taskmaster/tasks/task_016.md +19 -0
- data/.taskmaster/tasks/task_017.md +19 -0
- data/.taskmaster/tasks/task_018.md +19 -0
- data/.taskmaster/tasks/task_019.md +19 -0
- data/.taskmaster/tasks/task_020.md +19 -0
- data/.taskmaster/tasks/tasks.json +299 -0
- data/.taskmaster/templates/example_prd.txt +47 -0
- data/.taskmaster/templates/example_prd_rpg.txt +511 -0
- data/CHANGELOG.md +29 -0
- data/CLAUDE.md +65 -0
- data/CODE_OF_CONDUCT.md +10 -0
- data/CONTRIBUTING.md +49 -0
- data/LICENSE +21 -0
- data/README.md +463 -0
- data/Rakefile +12 -0
- data/app/assets/stylesheets/data_porter/application.css +646 -0
- data/app/channels/data_porter/import_channel.rb +10 -0
- data/app/controllers/data_porter/imports_controller.rb +68 -0
- data/app/javascript/data_porter/progress_controller.js +33 -0
- data/app/jobs/data_porter/dry_run_job.rb +12 -0
- data/app/jobs/data_porter/import_job.rb +12 -0
- data/app/jobs/data_porter/parse_job.rb +12 -0
- data/app/models/data_porter/data_import.rb +49 -0
- data/app/views/data_porter/imports/index.html.erb +142 -0
- data/app/views/data_porter/imports/new.html.erb +88 -0
- data/app/views/data_porter/imports/show.html.erb +49 -0
- data/config/database.yml +3 -0
- data/config/routes.rb +12 -0
- data/docs/SPEC.md +2012 -0
- data/docs/UI.md +32 -0
- data/docs/blog/001-why-build-a-data-import-engine.md +166 -0
- data/docs/blog/002-scaffolding-a-rails-engine.md +188 -0
- data/docs/blog/003-configuration-dsl.md +222 -0
- data/docs/blog/004-store-model-jsonb.md +237 -0
- data/docs/blog/005-target-dsl.md +284 -0
- data/docs/blog/006-parsing-csv-sources.md +300 -0
- data/docs/blog/007-orchestrator.md +247 -0
- data/docs/blog/008-actioncable-stimulus.md +376 -0
- data/docs/blog/009-phlex-ui-components.md +446 -0
- data/docs/blog/010-controllers-routing.md +374 -0
- data/docs/blog/011-generators.md +364 -0
- data/docs/blog/012-json-api-sources.md +323 -0
- data/docs/blog/013-testing-rails-engine.md +618 -0
- data/docs/blog/014-dry-run.md +307 -0
- data/docs/blog/015-publishing-retro.md +264 -0
- data/docs/blog/016-erb-view-templates.md +431 -0
- data/docs/blog/017-showcase-final-retro.md +220 -0
- data/docs/blog/BACKLOG.md +8 -0
- data/docs/blog/SERIES.md +154 -0
- data/docs/screenshots/index-with-previewing.jpg +0 -0
- data/docs/screenshots/index.jpg +0 -0
- data/docs/screenshots/modal-new-import.jpg +0 -0
- data/docs/screenshots/preview.jpg +0 -0
- data/lib/data_porter/broadcaster.rb +29 -0
- data/lib/data_porter/components/base.rb +10 -0
- data/lib/data_porter/components/failure_alert.rb +20 -0
- data/lib/data_porter/components/preview_table.rb +54 -0
- data/lib/data_porter/components/progress_bar.rb +33 -0
- data/lib/data_porter/components/results_summary.rb +19 -0
- data/lib/data_porter/components/status_badge.rb +16 -0
- data/lib/data_porter/components/summary_cards.rb +30 -0
- data/lib/data_porter/components.rb +14 -0
- data/lib/data_porter/configuration.rb +25 -0
- data/lib/data_porter/dsl/api_config.rb +25 -0
- data/lib/data_porter/dsl/column.rb +17 -0
- data/lib/data_porter/engine.rb +15 -0
- data/lib/data_porter/orchestrator.rb +141 -0
- data/lib/data_porter/record_validator.rb +32 -0
- data/lib/data_porter/registry.rb +33 -0
- data/lib/data_porter/sources/api.rb +49 -0
- data/lib/data_porter/sources/base.rb +35 -0
- data/lib/data_porter/sources/csv.rb +43 -0
- data/lib/data_porter/sources/json.rb +45 -0
- data/lib/data_porter/sources.rb +20 -0
- data/lib/data_porter/store_models/error.rb +13 -0
- data/lib/data_porter/store_models/import_record.rb +52 -0
- data/lib/data_porter/store_models/report.rb +21 -0
- data/lib/data_porter/target.rb +89 -0
- data/lib/data_porter/type_validator.rb +46 -0
- data/lib/data_porter/version.rb +5 -0
- data/lib/data_porter.rb +32 -0
- data/lib/generators/data_porter/install/install_generator.rb +33 -0
- data/lib/generators/data_porter/install/templates/create_data_porter_imports.rb.erb +21 -0
- data/lib/generators/data_porter/install/templates/initializer.rb +30 -0
- data/lib/generators/data_porter/target/target_generator.rb +44 -0
- data/lib/generators/data_porter/target/templates/target.rb.tt +20 -0
- data/sig/data_porter.rbs +4 -0
- 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._
|