fix(core): Fixed move-task.js writing _rawTaggedData directly, updated writeJSON to filter tag fields, fixed CLI move command missing projectRoot, added ensureTagMetadata utility

This commit is contained in:
Eyal Toledano
2025-06-12 18:12:53 -04:00
parent 75e017e371
commit 9efbd38f10
15 changed files with 589 additions and 40487 deletions

View File

@@ -0,0 +1,62 @@
# Task ID: 106
# Title: Implement Fun Easter Egg Commands for Developer Delight
# Status: pending
# Dependencies: 2, 4
# Priority: medium
# Description: Add playful easter egg commands to the CLI that provide entertainment and stress relief for developers while maintaining the professional nature of the tool.
# Details:
## Core Problem Statement
Developers often work long hours and need moments of levity to maintain productivity and morale. Adding fun, non-intrusive easter egg commands can:
1. **Boost Developer Morale**: Provide moments of humor and surprise during intense work sessions
2. **Showcase Tool Personality**: Give Task Master a friendly, approachable character
3. **Create Community Engagement**: Fun features often become talking points and increase tool adoption
4. **Stress Relief**: Offer quick mental breaks without leaving the development environment
## Implementation Approach
1. **Add Easter Egg Commands**: Implement hidden/fun commands in commands.js:
- `fortune` - Display random programming wisdom or motivational quotes
- `joke` - Show developer-friendly programming jokes
- `zen` - Display programming zen principles (like Python's zen)
- `coffee` - ASCII art coffee cup with brewing animation
- `rubber-duck` - Rubber duck debugging assistant with encouraging messages
- `praise` - Random praise messages for completed tasks
2. **Command Structure**: Follow existing CLI patterns but make commands discoverable through:
- Hidden help section (accessible via `--fun` flag on help command)
- Occasional hints when users complete milestones or long work sessions
3. **Content Management**: Create a separate `easter-eggs.js` module containing:
- Arrays of quotes, jokes, zen principles
- ASCII art templates
- Motivational messages
- Randomization logic for content selection
4. **Integration Points**:
- Add subtle hints after task completions ("Try 'task coffee' for a break!")
- Include fun stats in status displays (e.g., "You've completed X tasks - that deserves a joke!")
- Optional daily/weekly fun fact notifications
5. **Configuration**: Add optional config settings:
- `enableEasterEggs` (default: true)
- `funNotificationFrequency` (never, rare, occasional, frequent)
- `favoriteEasterEgg` for personalized defaults
6. **ASCII Art and Animations**: Implement simple text-based animations:
- Coffee brewing progress bars
- Rubber duck "thinking" animations
- Celebration ASCII art for major milestones
# Test Strategy:
- Test each easter egg command individually to ensure proper content display and formatting
- Verify ASCII art renders correctly across different terminal sizes and configurations
- Test configuration options to ensure easter eggs can be disabled/customized
- Validate that fun commands don't interfere with core Task Master functionality
- Test hint integration points to ensure they appear at appropriate times without being intrusive
- Verify content randomization works properly and doesn't repeat too frequently
- Test command discovery through hidden help sections
- Ensure all content is appropriate and maintains professional standards while being entertaining
- Test performance impact to ensure easter eggs don't slow down core operations
- Validate that easter egg commands gracefully handle edge cases (empty content arrays, display errors)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long