diff --git a/README.md b/README.md index 0675f74..3149c72 100644 --- a/README.md +++ b/README.md @@ -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. + + + CodeClocker Team Dashboard — timesheet approvals, submission status, and tracked hours + + +

+ Website • + CodeClocker Hub • + JetBrains Marketplace • + Report Issue +

+ +--- + -## 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 + -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: +CodeClocker auto-generated weekly timesheet with commit evidence -- **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 - +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 +CodeClocker team timesheet approval dashboard + +### Aggregated Activity + +See aggregated overall team activity. Filter by time range to spot trends. + +CodeClocker real-time team activity tracking dashboard -- 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. + +CodeClocker reports and exports — CSV, PDF, close week + +### 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. + +CodeClocker IDE status bar widget with goals and coding trends + +### 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. + +CodeClocker activity report tool window with commit details + +--- + +## Installation - Settings/Preferences > Plugins > Marketplace > Search for "CodeClocker" > - Install +- **From your IDE:** -- Using JetBrains Marketplace: + Settings/Preferences > Plugins > Marketplace > Search for "CodeClocker" > Install - Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) and install it by clicking the Install to ... 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 - Settings/Preferences > Plugins > ⚙️ > Install plugin from disk... + Go to [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/26962) and click Install to .... -- Manually: + Or download the [latest release](https://plugins.jetbrains.com/plugin/26962/versions) and install manually via Settings/Preferences > Plugins > ⚙️ > Install plugin from disk... - Download the [latest release](https://github.com/codeclocker/codeclocker-intellij-plugin/releases/latest) and install it manually using - Settings/Preferences > Plugins > ⚙️ > Install plugin from disk... +--- -## 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 Tools > CodeClocker API Key. +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". +Start your free team trial → -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