Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 104 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,143 @@
# CodeClocker – Time & Activity Tracking for JetBrains IDEs
# CodeClocker — Auto-Generated Timesheets for Dev Teams | JetBrains Plugin

![Build](https://github.com/codeclocker/codeclocker-intellij-plugin/actions/workflows/gradle.yml/badge.svg)
[![Version](https://img.shields.io/jetbrains/plugin/v/26962.svg)](https://plugins.jetbrains.com/plugin/26962)
[![Downloads](https://img.shields.io/jetbrains/plugin/d/26962.svg)](https://plugins.jetbrains.com/plugin/26962)

**Auto-generate timesheets. Approve in minutes. Export for billing.**

CodeClocker automatically tracks active coding time in your JetBrains IDE and turns it into weekly timesheets — no manual timers needed.
Use it locally for personal tracking, or connect to CodeClocker Hub for team submissions, approvals, and billing exports.
Managers approve with one click, finance exports to CSV or PDF.

<a href="https://hub.codeclocker.com/">
<img src="https://site.codeclocker.com/screenshots/team-dashboard.jpg" alt="CodeClocker Team Dashboard — timesheet approvals, submission status, and tracked hours" width="100%" />
</a>

<p>
<a href="https://site.codeclocker.com/">Website</a> &bull;
<a href="https://hub.codeclocker.com/">CodeClocker Hub</a> &bull;
<a href="https://plugins.jetbrains.com/plugin/26962">JetBrains Marketplace</a> &bull;
<a href="https://github.com/codeclocker/codeclocker-intellij-plugin/issues">Report Issue</a>
</p>

---

<!-- Plugin description -->

## Automatic Time & Activity Tracker
## Auto-Generated Timesheets & Team Activity Tracking for JetBrains IDEs

Plugin automatically tracks your **active coding time per project**, shows your progress in the **IDE status bar**, and helps you build consistent habits with **daily/weekly goals**.
Use it **locally (offline)** by default, or optionally sync to **[CodeClocker Hub](https://hub.codeclocker.com/)** for **web dashboards** and **team analytics**.
CodeClocker is a JetBrains IDE plugin that automatically tracks coding time and generates weekly timesheets from real IDE activity. Every line item is backed by commits and branches — no guesswork, no manual entry. Use it locally for personal productivity, or connect to [CodeClocker Hub](https://hub.codeclocker.com/) to unlock team timesheets, approval workflows, and billing exports.

### Local Mode (Default - No account, no API key)
### For Teams & Managers

- **Automatic coding time tracking** - records active time while you work, organized by project.
- **Daily & weekly goals** - set targets globally or per project, monitor progress, and get notified when you reach them.
- **Pomodoro Timer** - built-in timer with configurable work/break intervals, cycle tracking, and status bar countdown.
- **What I Was Doing** - generate standup-ready summaries of recent activity with time breakdowns, per-project/branch details, and commits.
- **Activity Report** - detailed tree-view of daily activity with project breakdown and commit details.
- **CSV export** - export activity data for invoicing with date range selection.
- **Status bar widget** - see today's tracked time, and goal progress at a glance.
- **Auto-pause settings** - configure when tracking pauses (IDE focus lost, inactivity timeout).
- **Privacy** - all tracking data stays on your machine in Local Mode.
- **VCS / Git insights** - tracks **added & removed lines** from version control activity.
- **Auto-generated weekly timesheets** — pre-filled from actual IDE activity with per-project and per-branch breakdowns.
- **Evidence-linked worklogs** — connect timesheet entries to branches and commits for easier review and client reporting.
- **One-click approvals** — managers review and approve team timesheets from a single dashboard.
- **CSV & PDF exports** — export approved timesheets for payroll, accounting, or client billing.
- **Automated email reminders** — nudge developers to submit and managers to approve on time.
- **Team activity dashboard** — see weekly hours, submission status, and project activity across the team.
- **Slack integrations** — post team activity summaries to Slack channels on a schedule.
- **Role-based access** — owners, managers, and members with appropriate permissions.
- **Anonymous mode** — teams can enable anonymous activity tracking so managers see aggregated team stats without individual breakdowns. Non-anonymous mode shows per-member contributions for teams that prefer full transparency. **To prevent spying**, once a team is created with anonymous mode enabled, **the setting cannot be changed**.

### Hub Mode (Optional - Web dashboards & team reporting)
Built for software teams that need weekly timesheets, manager approvals, and invoice-ready exports without asking developers to run timers.
Start a free team trial at [hub.codeclocker.com](https://hub.codeclocker.com/).

Enable Hub Mode with an API key to sync activity to **[CodeClocker Hub](https://hub.codeclocker.com/)** and unlock:
### For Developers

- **Personal activity dashboard** - visualize trends, totals, and project breakdowns in the browser.
- **Team dashboard** - monitor team activity and productivity insights:
- **Team statistics** (totals, daily averages)
- **Contributor overview** (individual hours and activity)
- **Project activity charts** (who contributed and when)
- **Time range filtering** (e.g., last 7 days, custom periods)
- **Data storage** - Activity is synced to CodeClocker Hub only when you enable Hub Mode and provide an API key.
- **Invoice generation** - create invoices from tracked time with PDF and KSeF (Polish e-invoice) XML export.
- **Automatic time tracking** — records active coding time per project silently in the background.
- **Daily & weekly goals** — set targets globally or per project, get notified when you hit them.
- **Pomodoro Timer** — built-in timer with configurable work/break intervals and status bar countdown.
- **What I Was Doing** — generate standup-ready summaries with time breakdowns, branch details, and commits.
- **Activity Report** — tree-view of daily activity with project breakdown, commit history, and CSV export.
- **VCS / Git insights** — tracks added & removed lines from version control activity.
- **Auto-pause** — pauses tracking when IDE loses focus or on inactivity timeout.
- **Privacy first** — all data stays on your machine in Local Mode. Hub sync is opt-in.
- **Team privacy controls** — your team can run in anonymous mode where managers only see team-level totals, not individual activity. You stay in control of what's visible.

### Dashboard
### Supported IDEs

Click the status bar widget and select **IDE Dashboard...** to open an in-IDE analytics dashboard:
IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, Rider, CLion, GoLand, DataGrip, RubyMine, AppCode, RustRover — and all other JetBrains IDEs.

- **Metric cards** - Total time, daily average, lines added/removed, and streak counters
- **Activity Timeline** - Interactive area chart showing coding activity over time with hover tooltips
- **Journey Bar** - Lifetime stats including total days, time, projects, and lines changed
- **Top Projects & Top Branches** - Bar charts showing where you spent the most time
- **Project Timeline Heatmap** - Gantt-style heatmap showing when each project was active
- **All Projects breakdown** - Paginated table of per-project time, additions, and removals
- **Time period selector** - Switch between 24h, 7d, 30d, this week, or this month
- **Trend indicator** - Percentage change vs. previous period
Learn more at [site.codeclocker.com](https://site.codeclocker.com/).

### Activity Report
<!-- Plugin description end -->

Click the status bar widget and select **Activity Report...** to open a detailed view of your coding activity:
---

- **Tree-table view** - Daily activity organized by project with expandable rows
- **Commit history** - See commits with hash and message for each project
- **Project filter** - View all projects or filter to a specific one
- **CSV export** - Export data for invoicing with customizable date range
## Screenshots

The Activity Report auto-refreshes every 10 seconds to show live data.
### Team Timesheet Approvals

### Auto-Pause Settings
Review submission status, tracked hours, and flags for every team member. Approve timesheets and export the week — all from one screen.

Click the status bar widget and select **Auto-Pause...** to configure tracking behavior:
<img src="https://site.codeclocker.com/screenshots/team-dashboard.jpg" alt="CodeClocker auto-generated weekly timesheet with commit evidence" width="100%" />

- **Pause when IDE loses focus** - Automatically pause tracking when you switch to another application
- **Inactivity timeout** - Set how long to wait before pausing when there's no activity (10 seconds to 60 minutes)
### Auto-Generated Timesheets

<!-- Plugin description end -->
Weekly timesheets are filled automatically from IDE activity. Developers review, adjust if needed, and submit in seconds. Every row links to commits and branches.

## Installation
<img src="https://site.codeclocker.com/screenshots/timesheet.png" alt="CodeClocker team timesheet approval dashboard" width="100%" />

### Aggregated Activity

See aggregated overall team activity. Filter by time range to spot trends.

<img src="https://site.codeclocker.com/screenshots/team-activity.jpg" alt="CodeClocker real-time team activity tracking dashboard" width="100%" />

- Using the IDE built-in plugin system:
### Reports & Exports

Export approved timesheets as CSV for payroll or PDF for clients. Close the week once everything is approved.

<img src="https://site.codeclocker.com/screenshots/export-everywhere.png" alt="CodeClocker reports and exports — CSV, PDF, close week" width="100%" />

### In-IDE Activity Dashboard

The status bar widget shows today's tracked time, goal progress, coding trends, and per-project breakdown — without leaving your IDE.

<img src="https://site.codeclocker.com/screenshots/status-bar-popup.png" alt="CodeClocker IDE status bar widget with goals and coding trends" width="400" />

### Activity Report

Detailed tree-view of daily coding activity organized by project. Expand any day to see commits with hashes and messages. Filter by project and export to CSV.

<img src="https://site.codeclocker.com/screenshots/activity-report.png" alt="CodeClocker activity report tool window with commit details" width="100%" />

---

## Installation

<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "CodeClocker"</kbd> >
<kbd>Install</kbd>
- **From your IDE:**

- Using JetBrains Marketplace:
<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>Marketplace</kbd> > <kbd>Search for "CodeClocker"</kbd> > <kbd>Install</kbd>

Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) and install it by clicking the <kbd>Install to ...</kbd> button in case your IDE is running.
- **From JetBrains Marketplace:**

You can also download the [latest release](https://plugins.jetbrains.com/plugin/26962/versions) from JetBrains Marketplace and install it manually using
<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>
Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) and click <kbd>Install to ...</kbd>.

- Manually:
Or download the [latest release](https://plugins.jetbrains.com/plugin/26962/versions) and install manually via <kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>

Download the [latest release](https://github.com/codeclocker/codeclocker-intellij-plugin/releases/latest) and install it manually using
<kbd>Settings/Preferences</kbd> > <kbd>Plugins</kbd> > <kbd>⚙️</kbd> > <kbd>Install plugin from disk...</kbd>
---

## API Key Activation (Optional)
## Getting Started with Teams

**Note:** The API key is only required if you want to sync your data to [CodeClocker Hub](https://hub.codeclocker.com/) for web dashboards and team features. All local features (time tracking, goals, status bar widget) work without an API key.
1. **Install the plugin** — from JetBrains Marketplace or directly in your IDE.
2. **Sign up on [CodeClocker Hub](https://hub.codeclocker.com/)** — create your account and get an API key.
3. **Connect the plugin** — paste the API key via <kbd>Tools</kbd> > <kbd>CodeClocker API Key</kbd>.
4. **Create a team** — invite developers via a shareable link.
5. **Approve & export** — review auto-generated timesheets each week, export to CSV or PDF.

To enable Hub integration:
Developers only need the plugin installed and connected. CodeClocker builds draft timesheets automatically from IDE activity.

1. After [installation](#installation), a dialog will prompt you to enter your CodeClocker API key.
Click "Get API Key" to be redirected to the [API Key page on CodeClocker Hub](https://hub.codeclocker.com/api-key).
Copy your API key from this page.
2. Return to your running IntelliJ IDE, paste the copied API key into the dialog window, and click "OK".
<a href="https://hub.codeclocker.com/"><strong>Start your free team trial →</strong></a>

Once set up, CodeClocker will automatically track your coding activity and report it to [CodeClocker Hub](https://hub.codeclocker.com).
If your API key status initially shows "Inactive: No received data yet," don't worry—it may take up to a minute for activity tracking to start.
Once active, it will update to "Active: Receiving data".
---

If you skipped the initial prompt or need to add/update your API key later, go to **Tools > CodeClocker API Key** at the top of the dropdown list.
## Links

![API key menu](docs/media/api-key-menu.jpg)
- [CodeClocker Website](https://site.codeclocker.com/) — features, pricing, and how it works
- [CodeClocker Hub](https://hub.codeclocker.com/) — web dashboard for timesheets, approvals, and exports
- [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) — plugin page with reviews and ratings
- [GitHub Issues](https://github.com/codeclocker/codeclocker-intellij-plugin/issues) — report bugs or request features
- [Changelog](CHANGELOG.md) — release history and what's new
Loading