Commands Reference

Complete reference for all abacus-cli commands, flags, and options.

abacus login

Opens a real browser window for manual login. Session cookies are persisted locally so subsequent commands run headlessly.

abacus login

abacus time log

Log a single time entry.

abacus time log --project 12345 --hours 8 --service-type 100 --text "Development" --date 2025-01-15
FlagRequiredDefaultDescription
--project <id>noProject number or alias (interactive prompt if omitted)
--hours <n>yesHours to log
--service-type <id>no100Service type ID or alias
--text <text>yesDescription
--date <YYYY-MM-DD>notodayEntry date

abacus time list

List time entries for a given month.

abacus time list                      # current month
abacus time list --monthYear 01.2025  # specific month

abacus time status

Shows the weekly summary for the week containing the given date — hours logged, remaining hours, missing days, overtime, and vacation balance.

abacus time status --date 2025-01-15

abacus time batch

Create multiple time entries in a single browser session.

Range fill (default)

Fills all weekdays in a date range:

# Fill current week (Mon-Fri)
abacus time batch --project 12345 --hours 8 --service-type 100 --text "Development"

# Fill specific date range
abacus time batch --from 2026-01-26 --to 2026-01-30 --project 12345 --hours 8 --text "Dev"

# Preview what would be created
abacus time batch --project 12345 --hours 8 --text "Dev" --dry-run

Generate template

Finds missing days and writes a pre-filled file:

abacus time batch --generate
abacus time batch --generate --from 2026-01-26 --to 2026-01-30 --out entries.json
# Edit the file, then import it
abacus time batch --file entries.json

File import

Create entries from a JSON or CSV file:

abacus time batch --file entries.json
abacus time batch --file entries.csv
abacus time batch --file entries.json --include-weekends
FlagDescription
--project <id>Project number or alias (required for range fill)
--hours <n>Hours per entry (required for range fill)
--service-type <id>Service type (default: 100)
--text <text>Description
--from <YYYY-MM-DD>Start date (default: Monday of current week)
--to <YYYY-MM-DD>End date (default: Friday of current week)
--file <path>Import from JSON or CSV file
--generateGenerate template file with missing days
--out <path>Output path for --generate (default: batch.json)
--dry-runPreview entries without creating them
--include-weekendsAllow weekend dates from file import

abacus time delete

Interactive mode — run without flags to select entries from the current month:

abacus time delete

Opens a checkbox picker with all entries for the current month. Navigate with arrow keys, toggle with space, a to select all, enter to confirm.

Targeted mode — delete a specific entry by date and project:

abacus time delete --date 2025-01-15 --project 12345

abacus summary

Prints a compact one-line weekly status. Reads from a local cache — if the cache is missing or stale, it auto-fetches fresh data.

abacus summary
Week 06 · 32.5 / 40h · 7.5h remaining · Wed, Thu missing
Overtime: +12.5h (1.6d) · Vacation: 15.0d left
(updated 2h ago)

abacus check

Silent check designed for .zshrc. Prints a warning only when there are missing days this week.

abacus check

Add to your shell profile:

abacus check 2>/dev/null