timetracker-cli 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global timetracker-cli --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local timetracker-cli --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=timetracker-cli&version=1.0.0
                    
nuke :add-package timetracker-cli --version 1.0.0
                    

timetracker-cli

A .NET 10 command-line tool for logging and managing time entries in 7pace Timetracker.

Installation

Requires .NET 10 SDK or Runtime.

dotnet tool install -g timetracker-cli

Update

dotnet tool update -g timetracker-cli

Uninstall

dotnet tool uninstall -g timetracker-cli

Prerequisites

  • .NET 10 SDK
  • A 7pace Timetracker instance with a valid Bearer Token

Build from source

dotnet build Timetracker.Console
dotnet publish Timetracker.Console -c Release

First-time setup

Before using any command, run config to authenticate and cache your activity types locally:

timetracker config -u https://<company>.timehub.7pace.com -t <bearer-token>

Commands


config

Configure the connection to your Timetracker instance.

Option Short Required Description
--url -u yes* Base URL of your Timetracker instance
--token -t yes* Bearer token for authentication
--show no Display current config (token masked)
--reset no Delete all local config and activity cache

*Required when setting up or updating credentials.

# Initial setup
timetracker config -u https://acme.timehub.7pace.com -t eyJ...

# View current config
timetracker config --show

# Remove all local config
timetracker config --reset

activities

List available activity types. Uses a local cache populated during config.

Option Short Required Description
--sync no Refresh the activity type cache from the server before listing
# List cached activity types
timetracker activities

# Sync from server then list
timetracker activities --sync

add

Create a new time entry.

Option Short Required Description
--date -d yes Date: YYYY/MM/DD, today, or yesterday
--work-item -w yes Work Item ID
--length -l yes Duration in hours (e.g. 0.5, 1.5)
--type -t yes Activity type name (see activities)
--comment -c no Comment for the entry
--hour -h no Start time in HH:MM format (default: 09:00)
--dry-run no Preview the entry locally without submitting
# Log 2 hours of development on today
timetracker add -d today -w 12345 -l 2 -t Development -c "Feature X"

# Log half an hour of a meeting starting at 14:00
timetracker add -d 2026/06/19 -w 12345 -l 0.5 -t Meeting -h 14:00

# Preview before submitting
timetracker add -d today -w 12345 -l 1 -t Development --dry-run

list

List time entries for a period.

Option Short Required Description
--from -f no Start date (default: today)
--to -t no End date (default: today)
--period -p no Specific month in YYYY/MM format (e.g. 2026/06)
--work-item -w no Filter by Work Item ID
--output -o no Output format: json (batch-upload compatible) or csv
--today no Shortcut for today's entries
--yesterday no Shortcut for yesterday's entries
--week no Entries for the current week (Mon–Sun)
--last-week no Entries for the previous week (Mon–Sun)
--month no Entries for the current month
--last-month no Entries for the previous month
--summary no Daily summary instead of individual entries
--ids no Show entry IDs instead of comments

All period shortcuts (--today, --yesterday, --week, --last-week, --month, --last-month) and --period are mutually exclusive and cannot be combined with --from or --to.

# Today's entries
timetracker list --today

# Yesterday's entries
timetracker list --yesterday

# Current week
timetracker list --week

# Previous week
timetracker list --last-week

# Current month
timetracker list --month

# Previous month
timetracker list --last-month

# Specific date range
timetracker list -f 2026/06/01 -t 2026/06/30

# Specific month summary by day
timetracker list --period 2026/06 --summary

# Filter by work item and show IDs (for delete/update)
timetracker list --week --work-item 12345 --ids

# Export week as JSON for batch upload
timetracker list --week --output json > worklogs.json

# Export month as CSV
timetracker list --month --output csv > worklogs.csv

update

Update one or more fields of an existing time entry. Only the fields provided are changed.

Option Short Required Description
--id -i yes ID of the entry to update
--date -d no New date
--work-item -w no New Work Item ID
--length -l no New duration in hours
--type -t no New activity type
--comment -c no New comment
--hour -h no New start time
# Fix the duration of an entry
timetracker update -i <id> -l 3

# Change the work item and comment
timetracker update -i <id> -w 99999 -c "Moved to correct item"

copy

Duplicate an existing entry to a target date (defaults to today). Preserves work item, duration, activity type, comment, and start time.

Option Short Required Description
--id -i yes ID of the entry to copy
--date -d no Target date (default: today)
# Copy a recurring entry to today
timetracker copy -i <id>

# Copy to a specific date
timetracker copy -i <id> -d 2026/06/20

delete

Delete one or more time entries by ID.

Option Short Required Description
--id -i yes ID(s) to delete. Repeat the flag or separate with commas
--force no Skip the confirmation prompt
# Delete a single entry (with confirmation)
timetracker delete -i <id>

# Delete multiple entries
timetracker delete -i <id1> -i <id2> -i <id3>

# Delete multiple entries using comma separator
timetracker delete -i <id1>,<id2>,<id3>

# Skip confirmation
timetracker delete -i <id1> -i <id2> --force

import

Import multiple time entries from a JSON file. The file must be an array of worklog objects, compatible with the output of list --output json.

Option Short Required Description
--file -f yes Path to the JSON file
--dry-run no Preview entries locally without submitting
# Preview what would be imported
timetracker import --file worklogs.json --dry-run

# Import
timetracker import --file worklogs.json

Common workflows

Find and delete an entry

# List today's entries with IDs
timetracker list --today --ids

# Delete the target entry
timetracker delete -i <id>

Fix an entry logged to the wrong work item

timetracker list --today --ids
timetracker update -i <id> -w <correct-work-item>

Copy a recurring daily entry

# Find the original entry ID once
timetracker list -f 2026/06/01 -t 2026/06/01 --ids

# Copy it every day
timetracker copy -i <id>

Export, edit, and re-import a week

# Export
timetracker list --week --output json > worklogs.json

# Edit worklogs.json as needed, then preview
timetracker import --file worklogs.json --dry-run

# Import
timetracker import --file worklogs.json

Monthly summary

# Current month
timetracker list --month --summary

# Specific month
timetracker list --period 2026/06 --summary
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
2.2.0 127 7/25/2026
2.1.0 127 7/23/2026
2.0.0 131 7/22/2026
1.1.1 119 7/22/2026
1.1.0 125 7/22/2026
1.0.8 124 7/22/2026
1.0.7 158 6/25/2026
1.0.6 158 6/23/2026
1.0.5 165 6/23/2026
1.0.0 159 6/23/2026