Mindful Time Tracking: Simplify Your Focus and Boost Productivity Effortlessly.
pace
is a mindful productivity tool designed to help you keep track of your activities with ease and intention.
Born from the desire to blend simplicity with effectiveness, pace offers a command-line interface (CLI) that encourages focused work sessions, thoughtful reflection on task durations, and a harmonious balance between work and rest.
Whether you're a developer, a writer, or anyone who values structured time management, pace provides the framework to log activities, review progress, and optimize how you spend your time.
With features like the first activity wizard for onboarding new users, real-time configuration validation (upcoming), and personalized activity logs, pace is more than a time tracker β it's your partner in crafting a productive and mindful routine.
pace
is currently in active development and is not yet ready for production use. Expect breaking changes and incomplete features. We encourage you to try it out and provide feedback, but please be aware that it is not yet stable.
You can ask questions in the Discussions or have a look at the FAQ.
Contact | Where? |
---|---|
Issue Tracker | GitHub Issues |
Discord | |
Discussions | GitHub Discussions |
Please check our documentation for more information on how to get started.
cargo binstall pace-rs
scoop bucket add pace https://github.com/pace-rs/pace/
scoop install pace
You can use our tap:
brew install pace-rs/homebrew-tap/pace-rs
Check out the releases.
Beware: This installs the latest development version, which might be unstable.
cargo install --git https://github.com/pace-rs/pace.git pace-rs
cargo install pace-rs
β = fully functioning
π = review and testing in progress
πͺ§ = implemented, more testing needed
β²οΈ = work in progress
π = design stage
β = not implemented, yet
π‘ = idea
Note: The following commands are subject to change as the project develops. Currently they are stating the intended functionality and may not be fully implemented yet (e.g. using activities instead of tasks).
β
pace setup
- Description: Create configuration files for pace, including the main configuration file and any additional settings. This is useful for setting up pace for the first time or when you need to change your settings. You can also generate shell completions for your shell of choice. And generate a project configuration file.
- Usage:
pace setup config
orpace setup completions
β
pace adjust
- Description: Adjust the current activity's start time, description, category, or tags. This is useful for correcting mistakes or adding more detail to your activities.
- Usage:
pace adjust --category <Category> --description <Description> --start <Start Time>
β
pace begin
- Description: Starts tracking time for the specified task. You can optionally specify a category or project to help organize your tasks.
- Usage:
pace begin "Design Work" --category "Freelance" --start 10:00
β
pace end
- Description: Stops time tracking for the specified task, marking it as completed or finished for the day.
- Usage:
pace end --end 11:30 --only-last
β
pace docs
- Description: Opens the (dev-)documentation in your default browser.
- Usage:
pace docs
orpace docs --dev
β
pace now
- Description: Displays the currently running task, showing you at a glance what you're currently tracking.
- Usage:
pace now
β
pace hold
- Description: Pauses the time tracking for the specified task. This is useful for taking breaks without ending the task.
- Usage:
pace hold --reason <Reason>
β
pace resume
- Description: Resumes time tracking for a previously paused task, allowing you to continue where you left off.
- Usage:
pace resume
orpace resume --list
β²οΈ pace review
- Description: Gain insight in your activities and tasks. You can specify the time frame for daily, weekly, or monthly insights.
- Usage: tbd
β
pace help
- Description: Displays help information, offering quick access to command usage and options.
- Usage:
pace help
,pace <command> --help
, orpace help <command>
Some Ideas For Additional Useful Commands
Note: These commands are not yet implemented and are subject change to during their design process.
π‘ pace export --json/--csv
- Description: Exports your tracked data and insights in JSON or CSV format, suitable for analysis or record-keeping.
- Usage:
pace export --csv --from 2021-01-01 --to 2021-01-31
π‘ pace tasks
- Description: Lists all tasks with optional filters. Use this to view active, completed, or today's tasks.
- Usage:
pace tasks --active
π‘ pace projects
- Description: Lists all projects with optional filters. Use this to view all projects, subprojects and their associated tasks.
- Usage:
pace projects
π‘ pace pomo
- Description: Starts a Pomodoro session for the specified task, integrating the Pomodoro technique directly with your tasks.
- Usage:
pace pomo "Study Session"
π‘ pace set
- Description: Sets various application configurations, including Pomodoro lengths and preferred review formats.
- Usage:
pace set --work 25 --break 5
Found a bug? Open an issue!
Got an idea for an improvement? Don't keep it to yourself!
- Contribute fixes or new features via a pull requests!
Please make sure, that you read the contribution guide.
Please review and abide by the general Rust Community Code of Conduct when contributing to this project. In the future, we might create our own Code of Conduct and supplement it at this location.
Some of the inspiration for pace
came from the following projects:
This crate's minimum supported rustc
version is 1.74.1
.
The current policy is that the minimum Rust version required to use this crate can be increased in minor version updates. For example, if crate 1.0
requires Rust 1.20.0, then crate 1.0.z
for all values of z
will also require Rust 1.20.0 or newer. However, crate 1.y
for y > 0
may require a newer minimum version of Rust.
In general, this crate will be conservative with respect to the minimum supported version of Rust.
AGPL-3.0-or-later; see LICENSE.