Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Git Paid 💰 - AI Time TrackingNew to Visual Studio Code? Get it now.
Git Paid 💰 - AI Time Tracking

Git Paid 💰 - AI Time Tracking

MSTANFORD23

|
2 installs
| (0) | Free
Get paid for your work! Privacy-first AI-generated invoice descriptions. Tracks coding activity and generates billable-hour summaries.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Git Paid 💰 - AI Time Tracking

"Get paid for your git commits!" (but we track all your edits)

Privacy-first AI-generated work descriptions for developer time tracking. Track your coding sessions and generate invoice-ready summaries grounded only in observable signals.

Features

  • 💰 Activity Tracking: Automatically tracks file opens, edits, saves, and focus changes
  • 📊 Work Block Segmentation: Groups activity into meaningful "work blocks" separated by idle gaps
  • 🔀 Git Integration: Collects branch names, commit messages, and diff statistics
  • 🤖 AI Descriptions: Generates human-readable descriptions using VS Code's Copilot or external providers
  • 🔒 Privacy First: Never sends source code off-machine; uses only metadata
  • 💾 Persistent Storage: Activity data persists across VS Code sessions
  • ☁️ Cloud Sync: Backup worklogs to GitHub Gists
  • 📅 Monthly Exports: Generate invoice-ready monthly reports with earnings calculation
  • 💵 Earnings Tracking: Set your hourly rate and see calculated earnings

Privacy & Security

This extension is designed with privacy as a core principle:

  • ✅ No source code is ever sent to AI providers
  • ✅ Only metadata is used: file names, paths (optionally redacted), languages, time spent
  • ✅ Git context is limited to: branch names, commit messages, diff stats (lines added/removed)
  • ✅ API keys are stored in VS Code's SecretStorage (encrypted)
  • ✅ Local-first option: Use Ollama for fully offline operation
  • ✅ Configurable redaction: Choose between full paths, basenames only, or hashed paths

What is sent to AI providers

The following metadata may be sent (depending on your settings):

{
  "workspace": "my-project",
  "duration": { "minutes": 45, "formatted": "45m" },
  "files": [
    { "name": "index.ts", "language": "typescript", "timeSpentMinutes": 20 },
    { "name": "utils.ts", "language": "typescript", "timeSpentMinutes": 15 }
  ],
  "git": {
    "branch": "feature/ABC-123-new-feature",
    "commits": [{ "message": "Add new utility functions" }],
    "diffStats": { "filesChanged": 3, "linesAdded": 50, "linesRemoved": 10 },
    "ticketIds": ["ABC-123"]
  },
  "topFiles": ["index.ts", "utils.ts"]
}

What is NOT sent:

  • File contents
  • Code snippets
  • Full file paths (when redaction is enabled)
  • Any other sensitive data

Installation

From Source (Development)

  1. Clone the repository and navigate to the aw-worklog directory
  2. Install dependencies:
    npm install
    
  3. Compile the extension:
    npm run compile
    
  4. Press F5 in VS Code to launch the Extension Development Host

From VSIX

  1. Download or build the .vsix file
  2. Install via VS Code: Extensions → ... → Install from VSIX

Usage

Commands

Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and search for:

Command Description
Git Paid: Generate description for today Generate descriptions for all activity today
Git Paid: Generate description for last N minutes Generate for a specific time window
Git Paid: Show activity dashboard View activity summary and past worklogs
Git Paid: Export monthly report Generate invoice-ready monthly report
Git Paid: Sync to cloud Backup current worklog to GitHub Gist
Git Paid: Configure GitHub Gist sync Set up GitHub token for cloud sync
Git Paid: Pause/Resume tracking Toggle activity tracking
Git Paid: Set API key Configure API key for external AI providers

Workflow

  1. Work normally - The extension tracks your activity in the background
  2. Generate descriptions - Run one of the generate commands when ready
  3. Review - Use the interactive review to accept, edit, or regenerate descriptions
  4. Save - Worklogs are saved to .git-paid/YYYY-MM-DD.md and .git-paid/YYYY-MM-DD.json
  5. Export - Generate monthly reports for invoicing

Status Bar

The status bar shows:

  • 💰 123 - Number of events recorded today
  • 💰 Paused - Tracking is paused

Click to toggle pause.

Configuration

Access settings via File → Preferences → Settings → search for git-paid.

Setting Default Description
enableAIDescriptions true Enable AI-generated descriptions
redactionMode basename full (complete paths), basename (file names only), hash (hashed paths)
idleGapMinutes 5 Minutes of inactivity to start a new work block
provider vscode-lm AI provider: vscode-lm, openai, anthropic, ollama
ollamaEndpoint http://localhost:11434 Ollama API endpoint
ollamaModel llama3.2 Ollama model name
worklogPath .git-paid Directory for saving worklogs
autoSave false Save without review
persistActivity true Persist activity across sessions
hourlyRate - Your hourly rate for earnings calculation
currency $ Currency symbol
gistSync.enabled false Enable GitHub Gist sync
gistSync.gistId - Existing Gist ID to update
ticketPatterns ["[A-Z]{2,10}-\\d+", "#\\d+"] Regex patterns for ticket ID detection
excludePatterns ["**/node_modules/**", ...] Glob patterns for files to exclude

AI Providers

VS Code Language Model API / GitHub Copilot (Recommended)

Uses VS Code's built-in Language Model API with GitHub Copilot.

  • ✅ No additional setup required if you have Copilot
  • ✅ Uses your existing Copilot subscription
  • ⚠️ Requires VS Code 1.85+ with Language Model API support

Ollama (Local)

Run AI models locally for complete privacy.

  1. Install Ollama
  2. Pull a model: ollama pull llama3.2
  3. Set provider to ollama in settings
  4. Configure endpoint and model name if needed

OpenAI

  1. Get an API key from OpenAI
  2. Run Git Paid: Set API key and select OpenAI
  3. Set provider to openai in settings

Anthropic

  1. Get an API key from Anthropic Console
  2. Run Git Paid: Set API key and select Anthropic
  3. Set provider to anthropic in settings

Output Format

Markdown (.worklog/YYYY-MM-DD.md)

# Worklog: 2024-01-15

**Workspace:** my-project
**Total Focused Time:** 3h 45m

## Summary

### Development of API endpoints and unit tests

- Implemented new REST endpoints for user management
- Added unit tests for authentication service
- Fixed bug in data validation logic

## Work Sessions

### 09:00 - 11:30 (2h 30m)

**Implemented user authentication endpoints**

- Created login and registration endpoints
- Added JWT token generation
- Wrote integration tests

**Files:**
- `auth.controller.ts` (typescript) - 1h 20m (45 edits)
- `auth.service.ts` (typescript) - 50m (32 edits)

**Git:**
- Branch: `feature/USER-123-auth`
- Tickets: USER-123
- Changes: 3 files, +150/-20 lines

---

JSON (.worklog/YYYY-MM-DD.json)

Structured JSON for programmatic access and integration with time tracking tools.

Development

Project Structure

aw-worklog/
├── src/
│   ├── extension.ts      # Main entry point
│   ├── types.ts          # TypeScript interfaces
│   ├── activityTracker.ts # Event tracking
│   ├── segmenter.ts      # Work block segmentation
│   ├── gitCollector.ts   # Git metadata collection
│   ├── aiProvider.ts     # AI provider implementations
│   ├── worklogManager.ts # Worklog file management
│   └── reviewUI.ts       # Interactive review UI
├── test/
│   └── suite/            # Test files
├── package.json
├── tsconfig.json
└── README.md

Building

npm install
npm run compile

Testing

npm test

Running in Development

  1. Open the aw-worklog folder in VS Code
  2. Press F5 to launch the Extension Development Host
  3. Test the commands in the new VS Code window

Troubleshooting

No events recorded

  • Check that files you're editing aren't in the excludePatterns
  • Verify tracking isn't paused (check status bar)
  • Some file schemes (like untitled:) are excluded by default

AI generation fails

  • VS Code LM: Ensure you have Copilot or another Language Model extension installed
  • OpenAI/Anthropic: Verify your API key is set correctly
  • Ollama: Ensure the Ollama server is running and the model is pulled

Worklogs not saving

  • Ensure you have write permissions to the workspace
  • Check that the worklog path setting is valid

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

MIT

Acknowledgments

Inspired by ActivityWatch and the aw-watcher-vscode extension.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft