A comprehensive development activity tracking tool that aggregates data from GitHub and WakaTime to generate detailed daily productivity summaries and maintain activity logs.
- GitHub Integration: Fetches daily contribution data including commits, pull requests, issues, and reviews
- WakaTime Integration: Retrieves coding time statistics and language/project breakdowns
- Automated Summaries: Generates markdown summaries with productivity insights and ratings
- Dual Log Formats: Maintains both human-readable text logs and machine-readable JSON data
- Daily Reports: Creates detailed daily activity reports with visualizations and metrics
Clone the repository and ensure required dependencies are installed:
git clone https://github.com/elxecutor/dev-log.git
cd dev-log
# Make scripts executable
chmod +x scripts/*.sh
# Ensure required tools are installed
# curl (for API calls)
# jq (for JSON processing)
# These are typically pre-installed on most Linux systems
-
Set up environment variables:
export GITHUB_TOKEN="your_github_token" export PAT="your_personal_access_token" # Alternative to GITHUB_TOKEN export GITHUB_USERNAME="your_github_username" export GIT_USER_NAME="your_git_user_name" export GIT_USER_EMAIL="your_git_user_email" export WAKATIME_API_KEY="your_wakatime_api_key"
-
Run the update script for a specific date:
./scripts/update-log.sh 2025-01-15
This will:
- Fetch GitHub contribution data
- Fetch WakaTime coding statistics
- Generate a daily summary markdown file
- Update the activity logs
scripts/fetch-github.sh
- Fetches GitHub contribution data via GraphQL APIscripts/fetch-wakatime.sh
- Retrieves WakaTime coding time statisticsscripts/generate-daily-summary.sh
- Creates formatted markdown summariesscripts/update-log.sh
- Main script that orchestrates data fetching and loggingactivity.log
- Human-readable activity logactivity.json
- Machine-readable JSON activity datasummaries/
- Directory containing daily markdown summary files
We welcome contributions! Please see our Contributing Guidelines and Code of Conduct for details.
This project is licensed under the MIT License.
For questions or support, please open an issue or contact the maintainer via X.