Track your AI-assisted coding activity, time spent prompting AI, and lines of code generated using the WakaTime extension for Gemini CLI.
WakaTime is an open source plugin for metrics, insights, and time tracking automatically generated from your programming activity.
gemini extensions install https://github.com/EstebanForge/gemini-cli-wakatime.gitAdd your WakaTime API key to ~/.wakatime.cfg:
[settings]
api_key = your_api_key_hereThat's it! The extension will automatically download and install the WakaTime CLI on first use. No manual CLI installation required.
- Extension detects missing WakaTime CLI
- Downloads platform-specific binary from GitHub
- Installs to
~/.wakatime/ - Starts tracking your activity automatically
The extension runs automatically in the background, tracking your AI-assisted coding activity. It:
- Monitors file operations (read, write, edit) during Gemini CLI sessions
- Tracks time spent on AI coding
- Records line changes generated by AI
- Sends heartbeats to WakaTime every 60 seconds
Visit https://wakatime.com to see your coding activity dashboard.
The extension includes an MCP (Model Context Protocol) server that integrates with Gemini CLI:
- Auto-Installation: Automatically downloads and installs the WakaTime CLI on first run
- File Monitoring: Tracks which files are read, written, or edited during sessions
- Line Change Calculation: Measures the lines of code added/modified by AI
- Heartbeat Sending: Sends data to WakaTime with:
- File paths
- Line changes count
- Category: "AI coding"
- Plugin: "gemini-cli-wakatime"
git clone https://github.com/EstebanForge/gemini-cli-wakatime.git
cd gemini-cli-wakatime
npm install
npm run build# Build the extension
npm run build
# Link for development (no need to reinstall after changes)
gemini extensions link .
# Test changes
gemini extensions list
# Uninstall when done
gemini extensions uninstall gemini-cli-wakatimeImportant for Development:
- After making changes, run
npm run buildandgit add dist/ && git commit -m "Update built files" - The
dist/directory must be committed as it contains the bundled MCP server - Always test after linking with
gemini extensions listto ensure no connection errors
# Create platform-specific archives
npm run package -- --platform=darwin --arch=arm64
npm run package -- --platform=linux --arch=x64
npm run package -- --platform=win32 --arch=x64
# Archives will be in release/ directorygemini extensions listgemini extensions update gemini-cli-wakatimegemini extensions uninstall gemini-cli-wakatime-
Check API key configuration:
cat ~/.wakatime.cfg -
Enable debug mode: Edit
~/.wakatime.cfg:[settings] debug = true
Then check logs at
~/.wakatime/gemini-cli.log -
Verify WakaTime CLI auto-installation:
ls -la ~/.wakatime/wakatime-cli*
-
Restart Gemini CLI: Close and reopen your terminal
- Activity may take a few minutes to appear (check https://wakatime.com/dashboard)
- Verify internet connection
- Check API key is correct
- Look for errors in WakaTime logs
gemini extensions listEdit ~/.wakatime.cfg:
[settings]
api_key = your_api_key_here
debug = false
proxy = http://proxy:8080
no_ssl_verify = falseSee all WakaTime settings: https://github.com/wakatime/wakatime-cli#configuration-file
MIT License - see LICENSE file for details
Contributions are welcome! Please:
- Open an issue to discuss changes
- Fork the repository
- Create a feature branch
- Submit a pull request
- Zero Configuration: Auto-downloads and installs WakaTime CLI
- Automatic Tracking: Monitors all file operations during AI sessions
- Line Change Metrics: Tracks AI-generated code changes
- Background Operation: Runs silently without interrupting workflow
- Cross-Platform: Works on macOS, Linux, and Windows
- Auto-Updates: CLI updates automatically every 4 hours
- Initial release
- Automatic WakaTime CLI installation
- File operation tracking
- WakaTime heartbeat integration
- MCP server implementation
- Cross-platform support
