https://github.com/dylandevelops/tmpo
A minimal CLI time tracker for developers.
https://github.com/dylandevelops/tmpo
cli developer-productivity developer-tools golang timesheet timesheet-management timesheets
Last synced: 2 days ago
JSON representation
A minimal CLI time tracker for developers.
- Host: GitHub
- URL: https://github.com/dylandevelops/tmpo
- Owner: DylanDevelops
- License: mit
- Created: 2025-12-07T07:03:01.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2026-01-31T22:18:28.000Z (14 days ago)
- Last Synced: 2026-02-01T10:30:29.829Z (13 days ago)
- Topics: cli, developer-productivity, developer-tools, golang, timesheet, timesheet-management, timesheets
- Language: Go
- Homepage:
- Size: 315 KB
- Stars: 43
- Watchers: 3
- Forks: 2
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# tmpo CLI
> Set the `tmpo` — A minimal CLI time tracker for developers.

**tmpo** allows you to track time effortlessly with simple commands that live in your terminal. Track time with automatic project detection, organize work into milestones, view stats, and export data; all without leaving your workspace.
## About
**tmpo** is a lightweight, developer-friendly time tracking tool designed to integrate seamlessly with your terminal workflow. It automatically detects your project context from Git repositories or configuration files, making time tracking as simple as `tmpo start` and `tmpo stop`.
### Why tmpo?
- **🚀 Fast & Lightweight** - Built in Go, tmpo starts instantly and uses minimal resources
- **🎯 Automatic Project Detection** - Detects project names from Git repos or `.tmporc` configuration files
- **🌐 Global Projects** - Track time for any project from any directory without configuration files
- **🎯 Milestone Tracking** - Organize time entries into sprints, releases, or project phases
- **💾 Local & Private Storage** - All data stored locally in SQLite - your time tracking stays private
- **📊 Rich Reporting** - View stats, export to CSV/JSON, and track hourly rates
- **⚡ Zero Configuration Needed** - Works out of the box, configure only when you need to
## Installation
### Download Pre-built Binaries (Recommended)
Download the latest release for your platform from the [releases page](https://github.com/DylanDevelops/tmpo/releases).
For detailed installation instructions for your platform:
- [macOS Installation Guide](docs/installation/macos_installation.md)
- [Linux Installation Guide](docs/installation/linux_installation.md)
- [Windows Installation Guide](docs/installation/windows_installation.md)
### Build from Source
```bash
git clone https://github.com/DylanDevelops/tmpo.git
cd tmpo
go build -o tmpo .
```
## Quick Start
```bash
# Start tracking (auto-detects project)
tmpo start
# Check status
tmpo status
# Stop tracking
tmpo stop
# View statistics
tmpo stats
# Organize work into milestones
tmpo milestone start "Sprint 1"
```
### Track Projects From Anywhere
Create global projects to track time from any directory:
```bash
# Create a global project
tmpo init --global
# Track time from anywhere on your system
cd /tmp
tmpo start --project "Client Work" "Implementing new feature"
tmpo stop
# View entries from anywhere
tmpo log --project "Client Work"
```
For detailed usage and all commands, see the [Usage Guide](docs/usage.md).
## Configuration
### Global Settings
Set your preferences for currency, date/time formats, and timezone:
```bash
tmpo config
```
This opens an interactive wizard to configure:
- Currency (USD, EUR, GBP, JPY, and 30+ more)
- Date format (MM/DD/YYYY, DD/MM/YYYY, or YYYY-MM-DD)
- Time format (24-hour or 12-hour)
- Timezone (IANA format like America/New_York)
- Export path (default directory for exported files)
### Per-Project Settings
**Local Projects (directory-specific):**
```bash
# Create a .tmporc file in your project directory
tmpo init
# Or skip prompts and use defaults
tmpo init --accept-defaults
```
**Global Projects (track from anywhere):**
```bash
# Create a global project you can use from any directory
tmpo init --global
# Now track time from anywhere
tmpo start --project "Project Name"
```
See the [Configuration Guide](docs/configuration.md) for details.
## Feedback
Found a bug or have an idea for a feature you'd like to see in tmpo? [Open an issue](https://github.com/DylanDevelops/tmpo/issues/new/choose) and our team will be able to help.
## Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
Made with ❤️ by [Dylan Ravel](https://github.com/DylanDevelops) and you!