Back to the catalog

gemini-cli-wakatime

Track your AI-assisted coding activity, time spent prompting AI, and lines of code generated using the WakaTime/Wakapi extension for Gemini

Open source Open in the app JSON README (API)

About

Track your AI-assisted coding activity, time spent prompting AI, and lines of code generated using the WakaTime/Wakapi extension for Gemini CLI.

Details

Kind
Plugins
Topic
AI, RAG & memory
Publisher
estebanforge
Origin
gemini
Category
ferramentas
Version
1.0.0
Stars
6
Last push
2026-03-20T17:11:43Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
estebanforge/gemini-cli-wakatime

README

# 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](https://wakatime.com/) is an open source plugin for metrics, insights, and time tracking automatically generated from your programming activity.

## Installation

### 1. Install the Extension

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

### 2. Configure WakaTime

Add your [WakaTime API key](https://wakatime.com/api-key) to `~/.wakatime.cfg`:

```ini
[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](https://wakatime.com) to see your coding activity dashboard.

![WakaTime Dashboard](https://wakatime.com/static/img/ScreenShots/Screen-Shot-2016-03-21.png)

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

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

### Development Workflow

```bash
# 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

```bash
# 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

```bash
gemini extensions list
```

### Update extension

```bash
gemini extensions update gemini-cli-wakatime
```

### Uninstall extension

```bash
gemini extensions uninstall gemini-cli-wakatime
```

## Troubleshooting

### Extension not working

1. **Check API key configuration**:
   ```bash
   cat ~/.wakatime.cfg
   ```

2. **Enable debug mode**:
   Edit `~/.wakatime.cfg`:
   ```ini
   [settings]
   debug = true
   ```
   Then check logs at `~/.wakatime/gemini-cli.log`

3. **Verify WakaTime CLI auto-installation**:
   ```bash
   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

```bash
gemini extensions list
```

## Configuration

### WakaTime Settings

Edit `~/.wakatime.cfg`:

```ini
[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](LICENSE.md) 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

- [GitHub Issues](https://github.com/EstebanForge/gemini-cli-wakatime/issues)
- [WakaTime Website](https://wakatime.com)
- [Gemini CLI Documentation](https://geminicli.com/docs/extensions)

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

More