CODITECT Standards v1.0 Migration Guide
Version: 1.0.0 Last Updated: 2025-11-28 Target Audience: Project teams migrating to CODITECT Standards v1.0
Quick Migration (5 Minutes)​
For existing Dashboard 2.0 projects:
# 1. Create .coditect/project.yml
cp templates/project.yml.template .coditect/project.yml
# Edit with your project details
# 2. Migrate tasklist.md (with backup)
python backend/tools/migrate_legacy_tasklist.py \
--input tasklist.md \
--output tasklist.md \
--backup
# 3. Validate
python backend/tools/coditect_lint.py validate .
# 4. Done!
What's New in v1.0?​
1. YAML Frontmatter​
All documentation files now include structured metadata:
tasklist.md- Task statistics, version trackingproject-plan.md- Project status, phase progress
2. Enhanced Task Format​
Tasks now include:
- Unique Task IDs:
TASK-{SHORT}-{NUMBER} - Time Tracking: Estimated, actual, remaining hours
- Acceptance Criteria: Checkbox-based completion tracking
- Dependencies: Explicit task relationships
- Tags: Categorization and filtering
3. Database Schema Updates​
New fields in tasks table:
task_id(unique identifier)complexity_hours,time_estimate,time_actual,time_remainingtags,acceptance_criteria,blockers(JSON)assignee,due_date,notes
4. Validation & Linting​
New tool: coditect_lint.py
- Validates project configuration
- Checks task ID uniqueness
- Verifies format compliance
Migration Steps​
Step 1: Create Project Configuration​
Create .coditect/project.yml:
project:
name: "Dashboard 2.0 POC"
short_name: "D20" # Used in task IDs: TASK-D20-1001
version: "4.0.0"
description: "Intelligent project management dashboard with AI-powered commit-task linking"
repository: "https://github.com/coditect-ai/dashboard-2.0"
status: "active"
start_date: "2025-11-01"
target_completion: "2025-12-31"
task_id_prefix: "TASK-D20"
task_id_start: 1000
Step 2: Migrate tasklist.md​
Option A: Automated Migration (Recommended)
python backend/tools/migrate_legacy_tasklist.py \
--input tasklist.md \
--output TASKLIST-v1.md \
--project-config .coditect/project.yml \
--dry-run
# Review changes
diff tasklist.md TASKLIST-v1.md
# Apply migration
python backend/tools/migrate_legacy_tasklist.py \
--input tasklist.md \
--output tasklist.md \
--backup
Option B: Manual Migration
- Add YAML frontmatter at top:
---
project: "D20"
version: "4.0.0"
last_updated: "2025-11-28"
total_tasks: 89
completed_tasks: 45
in_progress_tasks: 12
blocked_tasks: 3
status: "active"
---
- Add task IDs to headers:
#### TASK-D20-1045: Hybrid AI + TF-IDF Commit Linking
- Add structured fields to each task:
- **Status**: ✅ Completed
- **Priority**: P0 (Critical)
- **Complexity**: 8 points (21 hours)
- **Assignee**: Developer 1
- **Due Date**: 2025-11-25
- **Tags**: #ai #backend #linking
- **Dependencies**: TASK-D20-1040
- **Blockers**: None
- **Time Tracking**:
- Estimated: 21h
- Actual: 18h
- Remaining: 0h
- **Acceptance Criteria**:
- [x] AI linker operational
- [x] TF-IDF fallback working
- [x] Result merging implemented
Step 3: Run Database Migration​
# Apply schema updates
cd backend
sqlite3 dashboard.db < migrations/001_add_enhanced_task_fields.sql
# Verify migration
sqlite3 dashboard.db "SELECT * FROM migration_log;"
Step 4: Validate​
python backend/tools/coditect_lint.py validate .
Fix any errors reported before proceeding.
Step 5: Update Git Commit Template​
cat >> .git/commit_template.txt << 'EOF'
TASK: TASK-D20-XXXX
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
git config commit.template .git/commit_template.txt
Backward Compatibility​
Good news: The parser supports both old and new formats!
- ✅ Old tasklist.md without frontmatter still works
- ✅ Tasks without structured fields are still parsed
- ✅ Existing API endpoints remain unchanged
Migration is non-breaking - you can migrate incrementally.
Validation Rules​
Critical Errors (Block CI/CD)​
- Missing
.coditect/project.yml - Invalid YAML frontmatter
- Duplicate task IDs
- Invalid task ID format
- Missing required fields (name, short_name, version)
Warnings (Should Fix)​
- Missing optional fields
- Inconsistent formatting
- Tasks without acceptance criteria
- Overdue tasks without updates
Testing the Migration​
1. Parse Project Config​
cd backend
python3 -c "
from parsers.coditect_parser import CoditectParser
parser = CoditectParser('..')
config = parser.parse_project_config()
print(f'✅ Project: {config.name} ({config.short_name})')
"
2. Parse tasklist.md​
python3 -c "
from parsers.coditect_parser import CoditectParser
parser = CoditectParser('..')
fm, tasks = parser.parse_tasklist()
print(f'✅ Parsed {len(tasks)} tasks')
for task in tasks[:3]:
print(f' - {task.task_id}: {task.title}')
"
3. Validate All​
python backend/tools/coditect_lint.py validate . --strict
CI/CD Integration​
GitHub Actions Example​
name: Validate CODITECT Standards
on: [push, pull_request]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install dependencies
run: pip install pyyaml jsonschema
- name: Validate documentation
run: |
python backend/tools/coditect_lint.py validate . --strict --format github
Rollback Procedure​
If you need to rollback:
# Restore tasklist.md from backup
cp tasklist.md.backup-YYYYMMDD-HHMMSS tasklist.md
# Rollback database
sqlite3 backend/dashboard.db < backend/migrations/rollback_001.sql
# Remove .coditect directory
rm -rf .coditect
FAQ​
Q: Do I need to migrate immediately? A: No. Old format still works. Migrate when convenient.
Q: Will my existing Dashboard 2.0 break? A: No. All existing functionality continues to work.
Q: What if I have custom task formats? A: Parser is flexible. Contact support if issues arise.
Q: Can I customize task IDs?
A: Yes. Set task_id_prefix and task_id_start in project.yml.
Q: How do I handle multi-repo projects?
A: Each repo gets its own .coditect/project.yml with unique short_name.
Support​
Issues: GitHub Issues
Documentation: See docs/coditect-project-standards-v1.md
Tools: backend/parsers/, backend/tools/
Next Steps​
After migration:
- ✅ Commit migrated files
- ✅ Update team on new format
- ✅ Setup CI/CD validation
- ✅ Monitor for issues
- ✅ Provide feedback for v1.1
Migration Complete? Run final validation:
python backend/tools/coditect_lint.py validate . --strict --format text
Look for: ✅ PASSED
Version: 1.0.0 Status: Production Ready Last Updated: 2025-11-28