You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.0 KiB

TimeSafari Commit Message Template with Time Tracking

Migration Commit Template

[Component]: Complete Enhanced Triple Migration Pattern (X minutes)

Database Migration: Replace databaseUtil with PlatformServiceMixin  
SQL Abstraction: Use $contacts(), $settings(), $platformService methods
Notification Migration: Add X constants, migrate X $notify calls to helpers
Template Optimization: Extract X computed properties, reduce complexity

Time: X minutes | Complexity: [Simple/Medium/Complex] | Issues: [None/List]
Testing: [Manual/Automated/Required] | Validation: [Script passed/Manual check]

Real Examples from Recent Work

PhotoDialog + OfferDialog (58 minutes each)

Complete Enhanced Triple Migration Pattern for PhotoDialog and OfferDialog (116 minutes)

Database Migration: Replace databaseUtil with PlatformServiceMixin
SQL Abstraction: Use $accountSettings() for settings retrieval  
Notification Migration: Add 15 constants, migrate 15 $notify calls to helpers
Template Optimization: Extract 11 computed properties, reduce template complexity

Time: 116 minutes | Complexity: Medium | Issues: None
Testing: Manual | Validation: Script passed

ProjectsView (17 minutes)

Complete ProjectsView Triple Migration Pattern with literal extraction (17 minutes)

Database Migration: Replace databaseUtil with PlatformServiceMixin
SQL Abstraction: Use $contacts(), $projects() methods
Notification Migration: Add 1 constant, migrate 1 $notify call
Template Optimization: Extract 3 computed properties

Time: 17 minutes | Complexity: Simple | Issues: None
Testing: Automated | Validation: Script passed

Batch Migration Template

Complete notification migration across X components (Y minutes)

Components: [List of components]
- Add X centralized notification constants
- Migrate X $notify calls to helper methods
- Standardize timeout usage with TIMEOUTS constants

Time: Y minutes | Avg per component: Z minutes | Complexity: Batch
Testing: Automated | Validation: Script passed

Time Tracking Workflow

1. Start Migration

./scripts/time-migration.sh ComponentName.vue start

2. Complete Migration

./scripts/time-migration.sh ComponentName.vue end

3. Daily Summary

./scripts/daily-migration-summary.sh

4. Commit with Time Data

git commit -m "Complete ComponentName migration (X minutes)

Database Migration: Replace databaseUtil with PlatformServiceMixin
Notification Migration: Add X constants, migrate X $notify calls
Template Optimization: Extract X computed properties  

Time: X minutes | Complexity: [Level] | Issues: [None/List]
Testing: [Status] | Validation: [Status]"

Time Complexity Guidelines

Simple Components (15-20 minutes)

  • Dialog components with minimal database operations
  • Utility components with few notifications
  • Example: UserNameDialog, TopMessage

Medium Components (30-45 minutes)

  • Standard view components with moderate database usage
  • Multiple notification patterns
  • Example: ProjectsView, ContactsView

Complex Components (45-60 minutes)

  • Large view components with extensive database operations
  • Many notification patterns and complex templates
  • Example: PhotoDialog, OfferDialog, ConfirmGiftView

Performance Tracking

Daily Targets

  • Simple Components: 20+ per day
  • Medium Components: 8-12 per day
  • Complex Components: 4-8 per day

Weekly Targets

  • Week 1: 25 components (mix of simple/medium)
  • Week 2: 30 components (focus on complex)
  • Week 3: 37 components (remaining)

Quality Gates

  • Start time logged
  • End time logged
  • Validation script passed
  • Linting passed
  • Commit includes time data
  • Daily summary updated

Efficiency Tips

Batch Processing

  • Group similar components
  • Reuse notification constants
  • Copy/paste helper patterns

Templates and Automation

  • Use migration checklist
  • Standardize computed property patterns
  • Validate with scripts

Time Savers

  • Keep validation script running
  • Use IDE snippets for common patterns
  • Track blockers immediately