Skip to content

Commit 05f9cfc

Browse files
🚀 chore(release): prepare for open-source publication
Add crates.io metadata (authors, repository, keywords, categories, MSRV 1.87). Update README with badges, screenshot, and improved structure. Remove internal docs from tracking. Apply cargo fmt.
1 parent b0e5cf6 commit 05f9cfc

9 files changed

Lines changed: 79 additions & 333 deletions

File tree

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,10 @@
11
/target
2+
/docs/specs/
3+
/docs/plans/
4+
*.swp
5+
*.swo
6+
*~
7+
.DS_Store
8+
.idea/
9+
.vscode/
10+
*.log

Cargo.toml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@
22
name = "tumodori"
33
version = "0.1.0"
44
edition = "2024"
5-
description = "A terminal-based Pomodoro timer built with Ratatui"
5+
rust-version = "1.87"
6+
description = "A terminal-based Pomodoro timer with big digit display, built with Ratatui"
67
license = "MIT"
8+
authors = ["Fernando Moreira <nandomoreira.me@gmail.com>"]
9+
repository = "https://github.com/nandomoreirame/tumodori"
10+
homepage = "https://github.com/nandomoreirame/tumodori"
11+
readme = "README.md"
12+
keywords = ["pomodoro", "timer", "tui", "terminal", "ratatui"]
13+
categories = ["command-line-utilities"]
14+
exclude = ["docs/", "screenshot.png"]
715

816
[dependencies]
917
clap = { version = "4.6.0", features = ["derive"] }

README.md

Lines changed: 41 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,40 @@
11
# tumodori
22

3-
A terminal-based Pomodoro timer built with [Ratatui](https://ratatui.rs/) and Rust.
3+
[![Crates.io](https://img.shields.io/crates/v/tumodori)](https://crates.io/crates/tumodori)
4+
[![CI](https://github.com/nandomoreirame/tumodori/actions/workflows/ci.yml/badge.svg)](https://github.com/nandomoreirame/tumodori/actions)
5+
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
6+
[![Rust](https://img.shields.io/badge/rust-1.87%2B-orange.svg)](https://www.rust-lang.org/)
7+
[![Downloads](https://img.shields.io/crates/d/tumodori)](https://crates.io/crates/tumodori)
8+
[![Docs](https://img.shields.io/docsrs/tumodori)](https://docs.rs/tumodori)
9+
10+
A terminal-based Pomodoro timer with big digit display, built with [Ratatui](https://ratatui.rs/) and Rust.
11+
12+
![tumodori screenshot](screenshot.png)
413

514
## Features
615

7-
- Configurable work session duration (default: 25 minutes)
8-
- Configurable short break duration (default: 5 minutes)
9-
- Configurable long break duration (default: 15 minutes)
10-
- Automatic long break after a configurable number of sessions (default: 4)
16+
- Big, centered digit display for easy reading from a distance
17+
- Configurable work, short break, and long break durations
18+
- Automatic long break after a configurable number of sessions
1119
- Desktop notifications with alarm sound when a phase ends
12-
- Big digit timer display, centered in the terminal
13-
- Progress bar with color-coded phases
14-
- Color-coded timer states (idle, running, paused, finished)
20+
- Color-coded phases (red for work, green for short break, blue for long break)
21+
- Color-coded timer states (gray idle, yellow paused, white finished)
22+
- Progress bar at the bottom of the terminal
1523
- Session counter
1624

1725
## Installation
1826

27+
### From crates.io
28+
1929
```bash
30+
cargo install tumodori
31+
```
32+
33+
### From source
34+
35+
```bash
36+
git clone https://github.com/nandomoreirame/tumodori.git
37+
cd tumodori
2038
cargo install --path .
2139
```
2240

@@ -26,7 +44,7 @@ cargo install --path .
2644
tumodori
2745
```
2846

29-
## Keybindings
47+
### Keybindings
3048

3149
| Key | Action |
3250
|-----|--------|
@@ -35,17 +53,15 @@ tumodori
3553
| `s` | Skip to next phase |
3654
| `q` / `Esc` | Quit |
3755

38-
## Configuration
39-
40-
All settings are configurable via CLI flags:
56+
### CLI options
4157

4258
| Flag | Short | Default | Range | Description |
4359
|------|-------|---------|-------|-------------|
4460
| `--work` | `-w` | 25 | 1-1440 | Work session duration in minutes |
4561
| `--short-break` | `-s` | 5 | 1-1440 | Short break duration in minutes |
4662
| `--long-break` | `-l` | 15 | 1-1440 | Long break duration in minutes |
4763
| `--sessions` | `-n` | 4 | 1-100 | Work sessions before a long break |
48-
| `--no-notify` | | false | | Disable desktop notifications |
64+
| `--no-notify` | | | | Disable desktop notifications |
4965

5066
### Examples
5167

@@ -55,24 +71,25 @@ tumodori -w 50 -s 10 -l 20 -n 6 # custom durations
5571
tumodori --no-notify # disable notifications
5672
```
5773

58-
### Audio notifications
74+
## Audio notifications
5975

60-
When a phase ends, tumodori plays an alarm sound using PipeWire (`pw-play`) or PulseAudio (`paplay`) as fallback. A terminal bell is also emitted. To disable all notifications, use `--no-notify`.
76+
When a phase ends, tumodori sends a desktop notification and plays an alarm sound using PipeWire (`pw-play`) or PulseAudio (`paplay`) as fallback. A terminal bell is also emitted.
6177

6278
On Linux, the alarm sound file is expected at:
63-
`/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga`
6479

65-
Install it with `sound-theme-freedesktop` (available on most distributions).
80+
```
81+
/usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
82+
```
6683

67-
## Building from source
84+
Install it with the `sound-theme-freedesktop` package (available on most distributions). To disable all notifications, use `--no-notify`.
6885

69-
```bash
70-
git clone https://github.com/nandomoreirame/tumodori.git
71-
cd tumodori
72-
cargo build --release
73-
```
86+
## Inspired by
87+
88+
- [timr-tui](https://github.com/sectore/timr-tui) - TUI app for timers, built with Ratatui and Rust
89+
90+
## Contributing
7491

75-
The binary will be available at `target/release/tumodori`.
92+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
7693

7794
## License
7895

docs/plans/2026-04-08-desktop-notification-alarm.md

Lines changed: 0 additions & 226 deletions
This file was deleted.

0 commit comments

Comments
 (0)