workwatch

Crates.ioworkwatch
lib.rsworkwatch
version0.1.0
created_at2025-06-06 19:56:24.185124+00
updated_at2025-06-06 19:56:24.185124+00
descriptionTerminal-based time tracking tool written in Rust, featuring a TUI (Text-based User Interface) powered by ratatui, with support for activity logging, real-time elapsed time tracking, and webhook-based notifications.
homepagehttps://github.com/rodriguezjasonlloyd/workwatch/
repositoryhttps://github.com/rodriguezjasonlloyd/workwatch/
max_upload_size
id1703394
size95,585
ohirume (0hirume)

documentation

README

WorkWatch

WorkWatch is a terminal-based time tracking tool written in Rust, featuring a TUI (Text-based User Interface) powered by ratatui, with support for activity logging, real-time elapsed time tracking, and webhook-based notifications.


✨ Features

  • Clock in / Clock out with Discord webhook integration
  • Real-time timer display
  • Log management (add/edit/delete)
  • Toggle between Menu, Working mode, and Log view
  • Keyboard-friendly controls (Vim-like navigation in Logs)
  • Environment-based configuration with .env

⚙ Configuration

Create a .env file at the root of your project:

WORKWATCH_USERNAME=YourName
WORKWATCH_WEBHOOK=https://discord.com/api/webhooks/... (optional)

If WORKWATCH_WEBHOOK is not provided, webhook notifications will be disabled.


⌨ Controls

Menu

  • C - Clock In
  • Q - Quit

Working

  • L - View Logs
  • A - Add Log
  • C - Clock Out

Logs

  • T - Return to Working Mode
  • A - Add Log
  • E - Edit Selected Log
  • D - Delete Selected Log
  • C - Clock Out
  • Up/K / Down/J - Navigate Logs

✉ Webhook Messages

When you clock in or out, a rich embed will be sent to your specified webhook URL with:

  • Username
  • Date and Time
  • Elapsed Time (on clock out)
  • Activity Logs (on clock out)

❓ TODO / Improvements

  • Statistics / summaries
  • Export to CSV
  • Unit tests

Commit count: 8

cargo fmt