Skip to content

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chankat

Chankat terminal interface mockup

Tests Build Code quality

Track your work hours across tasks, projects and rates from your terminal.

Chankat comes with:

  • TUI controllable by vim motions, and mouse.
  • CLI for automation and integration with other apps.

Install

curl -fsSL https://raw.githubusercontent.com/ahme-dev/chankat/main/install.sh | sh

The installer verifies the release checksum and writes to ~/.local/bin. Set CHANKAT_INSTALL_DIR or CHANKAT_VERSION to override the destination or version. It also installs Bash completion under the user's data directory. Set CHANKAT_COMPLETION_DIR to override that destination. Run chankat completion bash to print the completion script directly. Completion uses the CLI to suggest commands, flags and relevant record IDs.

On windows, please check releases and manually install.

Releases

Merges to main are released from Conventional Commits:

  • fix: creates a patch release.
  • feat: creates a minor release.
  • BREAKING CHANGE: creates a major release.
  • Other commit types do not create a release.

Release archives are built for Linux, macOS and Windows.

Screenshots

Tasks Payments
Tasks screen Payments screen
Project editor Payment editor
Project editor Payment editor

Contributing

Build and test changes with the Makefile:

make build
make test

Repository structure:

cmd/                     application and development command entry points
internal/cli/            CLI parsing and output
internal/storage/        SQLite access, schema, validation and aggregation
internal/tui/            terminal application and tab navigation
internal/tui/components/ reusable TUI controls and formatting
internal/tui/screens/    TUI screens and forms
assets/                  screenshots and other static files

Keep command entry points limited to startup and dependency wiring. Put database operations and data aggregation in internal/storage. CLI behavior belongs in internal/cli; TUI screens belong in internal/tui/screens, with reusable UI code in internal/tui/components. Keep tests beside the code they cover.

Set CHANKAT_DATA_PATH to override the SQLite database file. Development commands use .dev-data/data.sqlite, leaving the installed application's user database untouched:

make seed
make run

About

🕢 Track your work hours across projects, in your terminal.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages