Skip to content

vincentiroleh/wtfdid-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

wtfdid-cli 🀯

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!

πŸš€ Quick Start

# 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

🎯 What It Does

  • 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

πŸ›  Setup

Prerequisites

  • Node.js 14+
  • Git repository (for commit tracking)
  • Q Developer CLI installed and configured

Installation

git clone <this-repo>
cd wtfdid-cli
npm install
npm link  # Makes 'wtfdid' available globally

Q Developer Setup (Required for AI Summaries)

This tool is designed to showcase Q Developer CLI integration for the AWS Q Developer Challenge!

  1. Install Q Developer CLI: Follow the official Q Developer setup guide

  2. Test Q Developer Integration:

    npx wtfdid --test-q
  3. Configure Your Agent (optional): The CLI automatically creates a q-agent-config.json with 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"
    }
  4. 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!

Google Calendar Setup (Optional but Awesome!)

Add your calendar events to daily summaries for complete productivity tracking:

Quick Setup:

wtfdid --setup-google

Manual Setup:

  1. 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)
  2. Configure Globally (Recommended): Create ~/.wtfdid-config.json:

    {
      "googleApiKey": "your-api-key-here",
      "googleCalendarId": "[email protected]"
    }
  3. Alternative: Environment Variables: Add to your shell profile (~/.bashrc, ~/.zshrc):

    export GOOGLE_API_KEY="your-api-key-here"
    export GOOGLE_CALENDAR_ID="[email protected]"
  4. Test Integration:

    wtfdid --test-calendar

πŸ“‹ Commands

# 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

🎨 Sample Output

🧠 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! ✨

πŸ— Architecture

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

πŸ† Q Developer Challenge Innovation

This project showcases innovative Q Developer CLI usage in several key ways:

πŸ€– Q Developer CLI Agent Integration

  • Custom Agent Configuration: Creates a specialized wtfdid-summarizer agent 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

πŸ”„ Smart Q Developer Workflow

# 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

πŸ“Š Data-Driven AI Prompts

  • 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

πŸ›  Real-World Productivity Solution

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

πŸŽͺ Features

  • 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

πŸ“‹ Perfect for Daily Standups

Never struggle with "What did I do yesterday?" again! The --standup flag generates professional summaries perfect for team meetings:

wtfdid --standup

Sample 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 team

🀝 Contributing

This is built for the AWS Q Developer Challenge - let's make it legendary!

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add some amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

πŸ’‘ Ideas for Contributions:

  • 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

πŸ› Issues & Support

Found a bug or have a feature request?

  1. Check existing issues first
  2. 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)

πŸ“ License

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.

πŸ™ Acknowledgments

  • 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

⭐ Show Your Support

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

About

A hilarious but genuinely useful CLI that tells devs WTF they did today

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published