6.2 KiB
Migration Guide: New .taskmaster Directory Structure
Overview
Task Master v0.16.0 introduces a new .taskmaster/ directory structure to keep your project directories clean and organized. This guide explains the benefits of the new structure and how to migrate existing projects.
What's New
Before (Legacy Structure)
your-project/
├── tasks/ # Task files
│ ├── tasks.json
│ ├── task-1.txt
│ └── task-2.txt
├── scripts/ # PRD and reports
│ ├── prd.txt
│ ├── example_prd.txt
│ └── task-complexity-report.json
├── .taskmasterconfig # Configuration
└── ... (your project files)
After (New Structure)
your-project/
├── .taskmaster/ # Consolidated Task Master files
│ ├── config.json # Configuration (was .taskmasterconfig)
│ ├── tasks/ # Task files
│ │ ├── tasks.json
│ │ ├── task-1.txt
│ │ └── task-2.txt
│ ├── docs/ # Project documentation
│ │ └── prd.txt
│ ├── reports/ # Generated reports
│ │ └── task-complexity-report.json
│ └── templates/ # Example/template files
│ └── example_prd.txt
└── ... (your project files)
Benefits of the New Structure
✅ Cleaner Project Root: No more scattered Task Master files
✅ Better Organization: Logical separation of tasks, docs, reports, and templates
✅ Hidden by Default: .taskmaster/ directory is hidden from most file browsers
✅ Future-Proof: Centralized location for Task Master extensions
✅ Backward Compatible: Existing projects continue to work until migrated
Migration Options
Option 1: Automatic Migration (Recommended)
Task Master provides a built-in migration command that handles everything automatically:
CLI Migration
# Dry run to see what would be migrated
task-master migrate --dry-run
# Perform the migration with backup
task-master migrate --backup
# Force migration (overwrites existing files)
task-master migrate --force
# Clean up legacy files after migration
task-master migrate --cleanup
MCP Migration (Cursor/AI Editors)
Ask your AI assistant:
Please migrate my Task Master project to the new .taskmaster directory structure
Option 2: Manual Migration
If you prefer to migrate manually:
-
Create the new directory structure:
mkdir -p .taskmaster/{tasks,docs,reports,templates} -
Move your files:
# Move tasks mv tasks/* .taskmaster/tasks/ # Move configuration mv .taskmasterconfig .taskmaster/config.json # Move PRD and documentation mv scripts/prd.txt .taskmaster/docs/ mv scripts/example_prd.txt .taskmaster/templates/ # Move reports (if they exist) mv scripts/task-complexity-report.json .taskmaster/reports/ 2>/dev/null || true -
Clean up empty directories:
rmdir tasks scripts 2>/dev/null || true
What Gets Migrated
The migration process handles these file types:
Tasks Directory → .taskmaster/tasks/
tasks.json- Individual task text files (
.txt)
Scripts Directory → Multiple Destinations
- PRD files →
.taskmaster/docs/prd.txt,requirements.txt, etc.
- Example/Template files →
.taskmaster/templates/example_prd.txt, template files
- Reports →
.taskmaster/reports/task-complexity-report.json
Configuration
.taskmasterconfig→.taskmaster/config.json
After Migration
Once migrated, Task Master will:
✅ Automatically use the new directory structure
✅ Show deprecation warnings when legacy files are detected
✅ Create new files in the proper locations
✅ Fall back gracefully to legacy locations if new ones don't exist
Verification
After migration, verify everything works:
-
List your tasks:
task-master list -
Check your configuration:
task-master models -
Generate new task files:
task-master generate
Troubleshooting
Migration Issues
Q: Migration says "no files to migrate"
A: Your project may already be using the new structure or have no Task Master files to migrate.
Q: Migration fails with permission errors
A: Ensure you have write permissions in your project directory.
Q: Some files weren't migrated
A: Check the migration output - some files may not match the expected patterns. You can migrate these manually.
Working with Legacy Projects
If you're working with an older project that hasn't been migrated:
- Task Master will continue to work with the old structure
- You'll see deprecation warnings in the output
- New files will still be created in legacy locations
- Use the migration command when ready to upgrade
New Project Initialization
New projects automatically use the new structure:
task-master init # Creates .taskmaster/ structure
Path Changes for Developers
If you're developing tools or scripts that interact with Task Master files:
Configuration File
- Old:
.taskmasterconfig - New:
.taskmaster/config.json - Fallback: Task Master checks both locations
Tasks File
- Old:
tasks/tasks.json - New:
.taskmaster/tasks/tasks.json - Fallback: Task Master checks both locations
Reports
- Old:
scripts/task-complexity-report.json - New:
.taskmaster/reports/task-complexity-report.json - Fallback: Task Master checks both locations
PRD Files
- Old:
scripts/prd.txt - New:
.taskmaster/docs/prd.txt - Fallback: Task Master checks both locations
Need Help?
If you encounter issues during migration:
- Check the logs: Add
--debugflag for detailed output - Backup first: Always use
--backupoption for safety - Test with dry-run: Use
--dry-runto preview changes - Ask for help: Use our Discord community or GitHub issues
This migration guide applies to Task Master v3.x and later. For older versions, please upgrade to the latest version first.