Repository navigation
gday-cli v1.4.0 - Developer Experience & Time Processing Fixes
gday-cli v1.4.0 - Developer Experience & Time Processing Fixes
Major improvements to time handling logic, developer experience, and codebase architecture.
What's New
π Fixed Pomodoro Grouping
Pomodoros now appear in proper chronological order instead of grouped at the end:
- Each π treated as unique appointment at specific time
- Maintains chronological insertion order
- No more pomodoros clumped together at bottom of schedule
Before:
| 10:00am | Meeting A |
| 10:30am | Meeting B |
| 9:30am | π
| # Wrong! Out of order
| 11:00am | π
|
After:
| 9:30am | π
| # Correct chronological order
| 10:00am | Meeting A |
| 10:30am | Meeting B |
| 11:00am | π
|
β° Smart Off-Hour Time Alignment
Off-hour appointments now properly snap to 30-minute boundaries after the first block:
10:15am appointment spanning 3 blocks:
- First block: 10:15am ππ (shows actual time + cherry)
- Second block: 10:30am π₯ (snaps to boundary)
- Third block: 11:00am π (continues on boundaries)
Before: 10:15am β 10:45am β 11:15am (maintained offset)
After: 10:15am β 10:30am β 11:00am (proper boundaries)
π Enhanced Cherry Tomato Logic
Cherry indicators now appear only once per appointment block:
- Before: ππππππ (cherry repeated everywhere)
- After: ππππ (cherry once, then base emoji)
π§ͺ Professional Development Infrastructure
Complete testing and development workflow:
- BDD Testing: Executable Gherkin scenarios with Cucumber.js
- Separated Concerns: Config, tests, and docs in proper files
- Multiple Test Types: BDD, installation, manual function testing
- Developer Documentation: Comprehensive contributing guidelines
New Testing Commands:
npm run test:bdd # Run BDD scenarios
npm run test:install # Test installation methods
npm run test:manual # Test individual functionsπ Clean Architecture
Proper separation of concerns:
config/time-rules.yml- Pure configuration (no tests/docs)features/time-handling.feature- Executable BDD scenariosdocs/time-handling.md- Human-readable documentationfeatures/step_definitions/- Cucumber test implementations
π Enhanced Documentation
- Added comprehensive "Development & Contributing" section
- Architecture overview with component responsibilities
- Clear testing strategies and debugging guidance
- BDD scenario writing standards following well-formed story guidelines
Usage Examples
Time Alignment Demo:
# Test the new time boundary logic
gday --sort-alpha today # See proper pomodoro orderingDevelopment Workflow:
# Clone and test
git clone repo && cd repo
npm install
npm run test:bdd # Run behavior tests
./test-installation.sh # Test installationBenefits
- Better Schedule Readability: Pomodoros appear in correct chronological order
- Accurate Time Handling: Off-hour appointments align to proper boundaries
- Professional Development: BDD testing, clean architecture, comprehensive docs
- Maintainable Codebase: Separated concerns, executable scenarios, clear guidelines
- Enhanced Developer Experience: Multiple testing approaches, debugging tools
Breaking Changes
None - All existing functionality preserved. New time handling logic maintains backward compatibility while fixing edge cases.
Installation
Via Homebrew
brew upgrade discoveryworks/gday-cli/gdayManual Installation
git pull origin mainFor Developers
New Files:
config/time-rules.yml- Configuration settingsfeatures/time-handling.feature- BDD scenariosdocs/time-handling.md- Time processing documentationfeatures/step_definitions/time_steps.js- Test implementations
New Commands:
npm run test:bdd- Run behavior-driven testsnpm run test:install- Test installation methodsnpm run test:manual- Test individual functions
See the "Development & Contributing" section in README.md for complete developer setup instructions.