Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ClockIt: Session managerNew to Visual Studio Code? Get it now.
ClockIt: Session manager

ClockIt: Session manager

octech

|
13 installs
| (0) | Free
A time logger to track your coding sessions.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Clockit – Developer-Friendly Time Tracker for VS Code

Marketplace Version Installs Rating
Build Status MIT License GitHub stars

Clockit helps developers log coding sessions automatically, add session comments, export tracked time to CSV, Jira, or Notion, and (optionally) back up sessions to your Clockit account for cloud stats — all within VS Code (tested on VS Code 1.80+).


https://github.com/user-attachments/assets/4a6f36cf-c224-47b1-bd08-fb2f39038b11

✨ Features

  • Automatic time tracking when you start coding
  • Idle detection & trimming for accurate duration
  • Idle seconds recorded for visibility per session
  • Pause / resume controls plus a focus timer with countdown in the status bar
  • Per-file and per-language focus time captured automatically
  • Line changes counted (added/deleted) for lightweight effort signals
  • Session comments on stop (defaults to latest git commit subject if empty)
  • Multi-sink export — CSV, Jira, Notion
  • Guided credential prompts (stored securely)
  • Edit or clear credentials anytime
  • Sink selection each session
  • CSV menu in the status bar for quick access (open current log, folder, or Clockit Cloud)
  • Optional cloud backup via Clockit API token (keep local CSV too)
  • Goals tracking: create/complete goals in the Goals side panel, import subtasks from Jira issues, and have completed goals auto-attach to sessions (then clear after CSV export)

About

Session Tracking

Automatically records time spent on projects. • Start Session Command: clockit: Start Time Tracking → Starts a timer linked to your current workspace. • Pause / Resume Command: clockit: Pause or clockit: Resume. • Stop Session Command: clockit: Stop → Prompts for a short comment (e.g. “Refactored API routes”). If you completed goals, Clockit fills “Complete goals set” automatically and includes the list in the CSV row.

What gets tracked: • Start and end time (ISO) • Duration (seconds) • Workspace name • Git repository path and branch • Associated issue (from Jira or branch name) • Comment • Goals (if any were completed)

You’ll see the current timer and controls in the status bar (bottom-left).

Goals and Jira subtasks

  • Open the Goals side panel to add, complete, or delete goals. Completion time is recorded.
  • If Jira is connected, choose Import from Jira issue to search by key/summary and pull subtasks into goals automatically.
  • When you stop a session and any goals are completed, Clockit skips the freeform comment and uses “Complete goals set,” attaching the goal titles and durations to the CSV and exports.

Exporting Worklogs

You can export completed sessions to external systems.

Jira Export

Automatically logs your work as a Jira worklog entry

  1. Configure Jira Credentials
    • Run: clockit: Configure Jira
    • Enter:
      • jira.domain: e.g. yourteam.atlassian.net
      • jira.email: your Atlassian account
      • jira.apiToken: create from id.atlassian.com/manage/api-tokens
  2. Select Issue
    • When exporting, a prompt appears: “Search issues by key or summary.”
    • Type part of a key (TP-12) or summary (login bug) to find matching issues.
  3. Automatic Issue Detection
    • If your branch or commit comment includes a key (TP-123), clockit detects it automatically.
  4. View Results
    • Success → Jira → TP-123 in the output channel.
    • Errors show helpful messages (e.g. auth expired, issue not visible)

Notion Export

Logs each session as a new row in a Notion database.

  1. Configure Notion • Run: clockit: Configure Notion • Enter: • notion.apiToken: internal integration token from Notion. • notion.database: select your target database.
  2. Database Requirements • Must include a Title property (e.g. “Name”). • Recommended columns: • Name (Title) – required • Duration (Number) • Started (Date) • Ended (Date) • Comment (Rich Text) • Branch / Issue (Text)
  3. Export • clockit automatically creates a page under that database after each completed session.

CSV Exports

Every completed session is appended to a CSV file for local analysis or backup. • CSV file location: ~/Documents/clockit/ (default) or whatever you set in clockit_logger.csv.outputDirectory. • Each entry includes:

startedIso, endedIso, durationSeconds, idleSeconds, linesAdded, linesDeleted, perFileSeconds, perLanguageSeconds, authorName, authorEmail, machine, ideName, workspace, repoPath, branch, issueKey, comment, goals

You can open it in Excel, Numbers, or Google Sheets for timesheet analysis.

Cloud Backups (optional)

Keep your local CSV while also backing up sessions to your Clockit account:

  1. Sign in at https://clockit.octech.dev/dashboard and open Profile → API Tokens
  2. Create a token (copy it once)
  3. Configure VS Code settings:
    • clockit.cloud.enabled: true
    • clockit.cloud.apiUrl: your ingest endpoint (Firebase Function URL). This defaults to the bundled CLOCKIT_INGEST_URL if set; override only if you have a custom deploy.
    • clockit.cloud.apiToken: the token you generated (stored as a secret)
  4. Stop a session—CSV writes locally and also uploads for cloud stats.

If you run your own ingest (e.g., custom Firebase Function deploy), set CLOCKIT_INGEST_URL in the extension environment or override clockit.cloud.apiUrl manually.

Ingest rate limits

  • Default per-token limits (tunable via env): INGEST_PER_MINUTE_LIMIT (default 60) and INGEST_PER_DAY_LIMIT (default 5000).
  • If limits are exceeded, the ingest returns HTTP 429 and the session will still be written locally to CSV.

🧩 Usage

Start tracking

  • Click the ⏱️ timer in the status bar or run:

    Clockit: Start Tracking
    

Stop tracking

  • Click the timer again or run:

    Clockit: Stop Tracking
    
  • Add a session comment when prompted.

Pause / resume

  • Run Clockit: Pause Time Tracking and Clockit: Resume Time Tracking to temporarily halt accrual (idle and per-file/language are paused).

Set a focus timer

  • Run Clockit: Set Focus Timer and enter minutes. A countdown shows in the status bar; you’ll get a notification when it ends.
  • Input can be mm:ss for precise focus bursts.

Choose export sinks

  • On stop, you’ll be asked where to export the session (CSV, Jira, Notion).
  • Only configured sinks will be active.

CSV quick actions

Click the 📂 CSV icon next to the timer to:

  • Change the CSV output folder
  • View past logs
  • Open logs in your editor

🔐 Credential Management

First-time setup

When a sink (like Jira) is selected, Clockit prompts you for:

  • Domain (e.g., yourteam.atlassian.net)
  • Email
  • API Token

Values are stored securely using:

  • VS Code Secret Storage for sensitive keys
  • Workspace Settings for non-secret configuration

Edit or clear credentials

Command Description
Clockit: Edit Credentials Edit existing sink credentials.
Clockit: Clear Credentials Remove credentials for a specific sink or all.

🧮 Configuration Options

Setting Type Default Description
clockit.autoStartOnLaunch boolean true Start tracking automatically on launch.
clockit.idleTimeoutMinutes number 5 Idle time threshold.
clockit.showNotifications boolean true Show start/stop/export messages.
clockit.askSinksEachTime boolean true Always prompt for sinks each session.
clockit.enabledSinks string[] ["csv"] Default sinks when prompting is off.
clockit.csv.outputDirectory string workspace root CSV export folder (defaults to current working dir if empty).
clockit.csv.filename string time_log.csv CSV log file name.
clockit.author.name string "" Author name used in exports (falls back to git user.name).
clockit.author.email string "" Author email used in exports (falls back to git user.email).
clockit.machineName string "" Machine identifier for exports (defaults to hostname).
clockit.backup.intervalSeconds number 60 Background backup interval; set to 0 to disable periodic writes (shutdown flushes still happen).

🧭 Supported Export Sinks

Sink Description Config Keys
CSV Writes session logs to a CSV file. clockit.csv.outputDirectory, clockit.csv.filename
Jira Adds worklogs to Jira issues. clockit.jira.domain, clockit.jira.email, clockit.jira.apiToken
Notion (optional) Inserts session data into a Notion database. clockit.notion.databaseId, clockit.notion.token

Command summary

Description Command
Begin a new session Clockit: Start Time
Stop and export Clockit: Stop Time
Pause tracking Clockit: Pause Time Tracking
Resume tracking Clockit: Resume Time Tracking
Set a focus timer Clockit: Set Focus Timer
Open Goals view Clockit: Open Goals
Add a goal Clockit: Add Goal
Toggle goal completion Clockit: Toggle Goal
Delete a goal Clockit: Delete Goal
Configure Jira Clockit: Configure Jira
Configure Notion Clockit: Configure Notion
Choose sinks (CSV always on) Clockit: Choose Sinks
Open CSV log Clockit: Open CSV Log
Choose CSV folder Clockit: Choose CSV Output Folder
Edit credentials Clockit: Edit Credentials
Clear credentials Clockit: Clear Credentials
Toggle status bar widget Clockit: Toggle Status Bar

Automatic background

Setting Meaning Recommended Value
clockit_logger.backup.enabled Enables background backup ✅ (true)
clockit_logger.backup.intervalSeconds How often to save 60 (0 disables periodic writes; shutdown flushes still run)
clockit_logger.backup.directory Custom backup directory (same as CSV / CWD)
clockit_logger.backup.filenamePrefix Filename prefix backup_

Troubleshooting

Symptom Likely Cause Fix
Jira 400 / 401 Invalid token or domain Refresh API token and re-run “Configure Jira.”
Notion 400 Bad Request Missing title field or wrong property type Add a Title column and ensure property types match.
CSV not appearing backup.directory not set or disabled Re-enable backups in settings.
Timer not visible Status bar hidden Run clockit: Toggle Status Bar.

Tips & Best Practices

  • Add issue keys (e.g. TP-123) to your branch names — clockit auto-detects them.
  • Keep backup enabled; it protects you from VS Code crashes.
  • If Jira search doesn’t show results, make sure your API token and domain are correct.
  • Use Notion’s “Created time” and “Last edited time” for smart dashboards.
  • Combine clockit’s CSV output with your analytics tool or scripts.

📄 License

MIT License
© 2025 Overly Creative Tech

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