AWS Q Developer Challenge #1 Entry: A hilarious but genuinely useful CLI that tells devs WTF they did today
Built specifically for the AWS Q Developer Challenge, this CLI showcases innovative use of Q Developer CLI agents to transform your daily Git commits and file changes into delightful, witty productivity summaries. Never end another workday wondering what you accomplished!
# Install dependencies
npm install
# Setup Google Calendar integration (optional but recommended)
npx wtfdid --setup-calendar
# Find out WTF you did today (with calendar events!)
npx wtfdid
# Save it to your journal
npx wtfdid --save
# Check what you did yesterday
npx wtfdid --yesterday
# See the raw data before AI magic
npx wtfdid --dry-run
# Test integrations
npx wtfdid --test-q # Test Q Developer CLI
npx wtfdid --test-calendar # Test Google Calendar
npx wtfdid --test-apps # Test app tracking- Git Analysis: Scans today's commits across all branches
- File Tracking: Lists files you modified today (ignores node_modules, .git, etc.)
- App Usage Tracking: Monitors applications you used (VS Code, browsers, terminals, etc.)
- Google Calendar Integration: Includes your meetings and events in the summary
- Productivity Streak: Tracks your daily coding momentum
- AI Summary: Uses Q Developer CLI + Claude to create a witty, encouraging summary
- Standup Ready: Generate professional summaries perfect for daily standup meetings
- Journal Integration: Optionally saves summaries to
~/journals/YYYY-MM-DD.md - Personality: Talks like your favorite dev buddy who actually gets it
- Node.js 14+
- Git repository (for commit tracking)
- Q Developer CLI installed and configured
git clone <this-repo>
cd wtfdid-cli
npm install
npm link # Makes 'wtfdid' available globallyThis tool is designed to showcase Q Developer CLI integration for the AWS Q Developer Challenge!
-
Install Q Developer CLI: Follow the official Q Developer setup guide
-
Test Q Developer Integration:
npx wtfdid --test-q
-
Configure Your Agent (optional): The CLI automatically creates a
q-agent-config.jsonwith optimized settings:{ "name": "wtfdid-summarizer", "description": "Daily productivity summary agent", "instructions": "You are a witty productivity assistant that helps developers understand what they accomplished each day. Be encouraging, slightly sarcastic, and use developer-friendly language.", "model": "claude-3-sonnet" } -
Verify Setup:
q chat "Hello from wtfdid-cli!"
Note: The tool works without Q Developer (using built-in fallback summaries), but Q Developer integration is what makes this a true hackathon showcase!
Add your calendar events to daily summaries for complete productivity tracking:
wtfdid --setup-google-
Get Google API Credentials:
- Go to Google Cloud Console
- Create a new project or select existing
- Enable Google Calendar API
- Create API Key credentials
- Copy your API key and calendar ID (usually your email)
-
Configure Globally (Recommended): Create
~/.wtfdid-config.json:{ "googleApiKey": "your-api-key-here", "googleCalendarId": "[email protected]" } -
Alternative: Environment Variables: Add to your shell profile (
~/.bashrc,~/.zshrc):export GOOGLE_API_KEY="your-api-key-here" export GOOGLE_CALENDAR_ID="[email protected]"
-
Test Integration:
wtfdid --test-calendar
# Main Commands
wtfdid # Generate today's summary (with everything!)
wtfdid --standup # Generate standup-ready summary
wtfdid --save # Also save to ~/journals/
wtfdid --yesterday # Yesterday's summary
wtfdid --dry-run # Show raw data without AI
# Setup & Testing
wtfdid --setup-google # Setup Google Calendar integration
wtfdid --test-calendar # Test Google Calendar integration
wtfdid --test-apps # Test app tracking integration
wtfdid --test-q # Test Q Developer CLI integration
wtfdid --streak # Show productivity streak infoπ§ wtfdid-cli: Let's see what you accomplished, boss...
β
Found 3 commits. Not bad!
β
You edited 8 files today. Impressive!
β
Summary generated. Spoiler: you're amazing.
π Your Daily Summary:
ποΈ **Daily Summary for 1/21/2025**
π **Git Activity** (3 commits)
β’ a1b2c3d: "Fix authentication bug that haunted me for 2 days"
β’ e4f5g6h: "Add error handling because production is scary"
β’ i7j8k9l: "Update README because documentation matters"
π **File Changes** (8 files modified)
β’ .js: 4 files
β’ .md: 2 files
β’ .json: 2 files
**Recent files you touched:**
β’ src/auth.js
β’ README.md
β’ package.json
β’ tests/auth.test.js
ποΈ **Calendar Events** (2 events)
β’ 9:00 AM: "Daily Standup" (30m)
β’ 2:00 PM: "Code Review Session" (1h)
π» **Applications Used** (5 apps across categories)
β’ Development: code, terminal, node
β’ Browsers: chrome, firefox
π₯ **Productivity Streak**: 9 days!
Well played today, boss. You're building something amazing! π
β¨ Now go eat. You earned it, Code Wizard! β¨
wtfdid-cli/
βββ bin/wtfdid.js # CLI entry point
βββ src/
β βββ gitSummary.js # Git commit analysis
β βββ fileTracker.js # File modification tracking
β βββ aiSummarizer.js # Q Developer integration
β βββ journalWriter.js # Journal file management
βββ package.json
This project showcases innovative Q Developer CLI usage in several key ways:
- Custom Agent Configuration: Creates a specialized
wtfdid-summarizeragent with personality-driven instructions - Dynamic Agent Invocation: Automatically tries multiple Q Developer CLI command patterns for maximum compatibility
- Intelligent Fallback: Gracefully handles Q Developer unavailability while maintaining functionality
# The CLI tries these Q Developer commands in order:
q chat --agent-id wtfdid-summarizer [prompt] # Custom agent
q chat [prompt] # Standard chat
q agents chat --agent wtfdid-summarizer # Agent-specific chat
aws q chat [prompt] # AWS CLI integration- Structured Input: Feeds Q Developer rich, structured data about Git commits and file changes
- Context-Aware Prompting: Builds intelligent prompts that help Q Developer understand developer workflow
- Personality Injection: Uses Q Developer to maintain consistent, witty personality across all summaries
This isn't just a demo - it's a genuine productivity tool that developers can use daily to:
- Reflect on their accomplishments
- Build a searchable journal of their work
- Get encouraging feedback about their progress
- Track productivity patterns over time
- Smart Git Parsing: Finds commits from today across all branches
- Intelligent File Filtering: Ignores noise (node_modules, logs, etc.)
- Cross-Platform App Tracking: Monitors VS Code, browsers, terminals, and more
- Google Calendar Integration: Includes meetings and events in your summary
- Productivity Streak Tracking: Gamifies your daily coding habits
- Q Developer AI Summaries: Witty, encouraging summaries powered by Q Developer CLI
- Standup Summaries: Professional, concise summaries perfect for team meetings
- Fallback Summaries: Works even if Q Developer is unavailable
- Journal Integration: Builds a markdown journal over time
- Developer Humor: Because coding should be fun
- Cross-Platform: Works on Windows, Mac, Linux
Never struggle with "What did I do yesterday?" again! The --standup flag generates professional summaries perfect for team meetings:
wtfdid --standupSample Standup Output:
## π
Daily Standup - Tuesday, July 22, 2025
### π― What I Accomplished:
β’ Fixed authentication bug in user login flow
β’ Implemented new dashboard components
β’ Updated API documentation
β’ Attended sprint planning meeting (2h)
### π― What I'm Working On Next:
β’ Complete user profile feature
β’ Address code review feedback
β’ Prepare for client demo
### π§ Blockers/Challenges:
β’ Waiting for API endpoint from backend teamThis is built for the AWS Q Developer Challenge - let's make it legendary!
- Fork the repository
- Create your feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Additional calendar integrations (Outlook, Apple Calendar)
- More app tracking platforms and categories
- Enhanced AI prompt engineering
- Better streak visualization
- Export formats (PDF, HTML)
- Team/organization features
Found a bug or have a feature request?
- Check existing issues first
- Create a new issue with:
- Clear description of the problem/feature
- Steps to reproduce (for bugs)
- Your environment (OS, Node version)
- Sample output (if applicable)
MIT License - see the LICENSE file for details.
This means you can:
- β Use it commercially
- β Modify it however you want
- β Distribute it
- β Use it privately
- β Sublicense it
Just keep the copyright notice and license text in any copies.
- AWS Q Developer for the amazing AI capabilities
- Google Calendar API for calendar integration
- All the developers who will use this to track their daily wins
- The open source community for inspiration and tools
If this tool helps you track your daily productivity wins, please:
- β Star this repository
- π¦ Share it on social media
- π¬ Tell your developer friends
- π Buy me a coffee (just kidding, star it instead!)
Built with β and a healthy dose of "WTF did I actually accomplish today?" energy
Made with β and a healthy dose of imposter syndrome