eclipse-timekeeper

Timekeeper

Build

Timekeeper is a self-hosted time-tracking application with a web client and Eclipse plugins. Use the browser to track work for clients and projects, or track tasks from Eclipse with optional Mylyn integration. Eclipse can use local storage or connect to the same server account as the browser.

Timekeeper 2.0 is under development. Current development builds are available through the testing update site and GitHub Actions artifacts described below.

Project website · Web client guide · Eclipse user guide · Documentation index

Web client

A work session records time for one client, with an optional project, summary and labels. Clients have colors; projects belong to clients and can have optional icons. Task activities are tracked independently of work sessions; their time overlap provides context.

Each server account’s records and preferences are private to that account. Administrators manage account access without access to other users’ work records. See accounts and recovery.

Run the server

The server exposes API v1 at /api/v1 and includes the web interface at /web/. The browser client needs no separate frontend service or Node.js process. Open About in the account menu for the server/SPK version, build identity and deployment time.

Choose a deployment:

Complete First administrator setup using the generated one-time code, then sign in with your account. For access from other devices, configure HTTPS using Tailscale or the reverse-proxy instructions in the deployment and backup guide.

Install the Eclipse plugins

Timekeeper 2.0 requires Eclipse 2026-09 (4.41) and Java 21. The project website and update sites are hosted together on GitHub Pages. For current development builds, use the testing update site:

https://turesheim.github.io/eclipse-timekeeper/updates/testing/
  1. Open Help → Install New Software… → Add… and paste the URL into Location.
  2. Select Timekeeper for Eclipse. Also select Timekeeper Mylyn integration for Mylyn task activation and Task List integration. Repository connectors, such as Jira, are installed separately.
  3. Keep the Eclipse 2026-09 software site enabled, complete installation and restart.
  4. Open Window → Show View → Other… → Timekeeper → Workweek.

In Preferences → Timekeeper → Backend, choose Local database for local H2 storage, or Timekeeper server to connect to your server’s /api/v1 URL. Create an Eclipse token under My Account → API tokens in the web client, enter it in Eclipse and use Test connection, then apply settings and restart. See the Eclipse connection guide for setup and the storage guide for shared, workspace-relative and explicit JDBC storage. Switching backends does not copy records.

The testing channel contains unreleased builds and updates after successful main validation. Published releases use the stable update site or the opt-in preview channel. See the installation guide for release channels and installing a downloaded p2 archive.

Repository and development

Directory Responsibility
common Shared Java domain, service API, HTTP client and OpenAPI contract
eclipse Eclipse plugins, features, p2 repository, targets and installed tests
server Quarkus server, Docker deployment and bundled web client
docs Architecture, operations, development guides and verification evidence
scripts/ Repository-wide release and publication tools

Development uses JDK 21, Python 3.13 and Node.js 24. Follow the developer prerequisites, including the Python environment, then run from the repository root:

./mvnw -B -ntp clean verify
./mvnw -B -ntp -f server/pom.xml clean verify
npm ci --ignore-scripts --prefix server/web
npm test --prefix server/web

The root Maven build runs Eclipse UI tests and needs a graphical session or Xvfb on Linux. Use mvnw.cmd on Windows. See the repository guide for focused and installed-client checks, API v1 for the contract, and release instructions for packaging.