Skip to content

EstebanForge/gemini-cli-wakatime

Repository files navigation

WakaTime for Gemini CLI

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.

Installation

1. Install the Extension

gemini extensions install https://github.com/EstebanForge/gemini-cli-wakatime.git

2. Configure WakaTime

Add your WakaTime API key to ~/.wakatime.cfg:

[settings]
api_key = your_api_key_here

That's it! The extension will automatically download and install the WakaTime CLI on first use. No manual CLI installation required.

What happens on first run

  1. Extension detects missing WakaTime CLI
  2. Downloads platform-specific binary from GitHub
  3. Installs to ~/.wakatime/
  4. Starts tracking your activity automatically

Usage

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.

WakaTime Dashboard

How It Works

The extension includes an MCP (Model Context Protocol) server that integrates with Gemini CLI:

  1. Auto-Installation: Automatically downloads and installs the WakaTime CLI on first run
  2. File Monitoring: Tracks which files are read, written, or edited during sessions
  3. Line Change Calculation: Measures the lines of code added/modified by AI
  4. Heartbeat Sending: Sends data to WakaTime with:
    • File paths
    • Line changes count
    • Category: "AI coding"
    • Plugin: "gemini-cli-wakatime"

Development

Setup

git clone https://github.com/EstebanForge/gemini-cli-wakatime.git
cd gemini-cli-wakatime
npm install
npm run build

Development Workflow

# 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-wakatime

Important for Development:

  • After making changes, run npm run build and git 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 list to ensure no connection errors

Packaging for Release

# 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/ directory

Extension Management

List installed extensions

gemini extensions list

Update extension

gemini extensions update gemini-cli-wakatime

Uninstall extension

gemini extensions uninstall gemini-cli-wakatime

Troubleshooting

Extension not working

  1. Check API key configuration:

    cat ~/.wakatime.cfg
  2. Enable debug mode: Edit ~/.wakatime.cfg:

    [settings]
    debug = true

    Then check logs at ~/.wakatime/gemini-cli.log

  3. Verify WakaTime CLI auto-installation:

    ls -la ~/.wakatime/wakatime-cli*
  4. Restart Gemini CLI: Close and reopen your terminal

No data on dashboard

  • 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

Check extension status

gemini extensions list

Configuration

WakaTime Settings

Edit ~/.wakatime.cfg:

[settings]
api_key = your_api_key_here
debug = false
proxy = http://proxy:8080
no_ssl_verify = false

See all WakaTime settings: https://github.com/wakatime/wakatime-cli#configuration-file

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please:

  1. Open an issue to discuss changes
  2. Fork the repository
  3. Create a feature branch
  4. Submit a pull request

Support

Features

  • 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

Release History

v1.0.0

  • Initial release
  • Automatic WakaTime CLI installation
  • File operation tracking
  • WakaTime heartbeat integration
  • MCP server implementation
  • Cross-platform support

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published