Taiga
CodeName: YATTA (Yet Another Terminal Task App)
A task organizer for the "mentally deficit monkey" in all of us. ๐
Taiga is a CLI task manager built in Rust. It does one thing, and it does it fast: it manages your tasks without forcing you to leave the terminal or wait for a heavy web app to load.
If you like Vim, Markdown, and not using a mouse, you're home.
๐คท Why?
I got tired of opening a browser tab just to write down "Buy Milk."
I wanted a tool that:
- Starts instantly. (No Electron bloat).
- Stores data in plain text. (I want to own my data, not lock it in a database).
- Doesn't judge me for having 50 overdue tasks.
โจ Features
- โก Blazingly Fast: It's Rust. It finishes executing before your finger leaves the Enter key.
- ๐ Plain Text Storage: Tasks are saved in a
.mdfile. You cancatit,grepit, or edit it manually if you're brave. - ๐ง Human Scheduling: Understands "tomorrow", "next friday", and "2024-01-01".
- ๐ก๏ธ ID-Based: Every task gets a unique ID. No ambiguities.
- ๐ฆพ Regex Powered: Uses a custom regex parser to read your markdown file, because XML parsers are for cowards.
- ๐ Plugin System: Extend Taiga with plugins. Because why stop at task management when you can have world domination?
- ๐ Pomodoro Timer: Built-in focus timer with audio cues and break windows. Procrastination just got harder.
- ๐ฅ๏ธ Terminal UI: A full TUI mode for those who find typing commands too mainstream.
๐ฆ Installation
Option 1: Pre-compiled Binaries (Easiest)
Go to the Releases Page and grab the binary for your OS.
Linux / Mac:
Option 2: Build from Source (For the cool kids)
You need Rust installed.
๐ฎ Usage
Taiga uses a natural subcommand structure.
1. Add a Task
Just type.
With a Schedule:
Use the when keyword to attach a date.
2. List Tasks
See what you've been putting off.
Output:
[ID:1] - [ ] Fix the production bug
[ID:2] - [ ] Buy groceries (Scheduled: 2024-03-20)
3. Get Stuff Done
Mark a task as complete using its ID.
4. Nuke It
Delete a task forever.
5. Edit Tasks
Made a typo? Change the name or date.
6. Housekeeping
๐ Plugins
Taiga has a plugin system. Yes, really. A CLI task manager with plugins. We've come full circle.
๐ Pomodoro Timer
Focus like a caffeinated squirrel.
Options:
--no-guiโ Skip the break window popup (for the minimalists)--no-soundโ Disable audio cues (for the library dwellers)
The pomodoro plugin runs as a daemon in the background, so you can close your terminal and it'll keep ticking. It even plays sounds when breaks start and end. You're welcome.
๐ฅ๏ธ Terminal UI
For when you want to feel like a hacker managing your grocery list.
Navigate with arrow keys, filter tasks, add new onesโall without leaving the terminal. It's like Vim, but for tasks. And less painful to exit.
Listing Plugins
See what plugins you've got loaded:
โ๏ธ Under the Hood
Taiga stores your tasks in a simple Markdown file located in your system's default data directory (managed by confy).
- Linux:
~/.config/taiginator/taiga.md(or similar) - Mac:
~/Library/Application Support/rs.taiginator/taiga.md - Windows:
%APPDATA%\taiginator\taiga.md
Because it's just a file, you can back it up with Git, sync it via Dropbox, or print it out and eat it.
Plugin Architecture
Plugins live in ~/.config/taiga/plugins/ as dynamic libraries (.so on Linux, .dylib on Mac, .dll on Windows). The plugin API supports:
- Commands: Add new subcommands to the CLI
- Daemon mode: Long-running background processes with IPC
- Lifecycle hooks: Run code on plugin load/unload
Want to write your own plugin? Check out taiga-plugin-api crate and the existing plugins in plugins/ for examples. Go wild.
๐ Building & Contributing
Found a bug? Want to add a feature?
PRs are welcome. Just please run cargo fmt before you push or the CI will yell at you.
# Run locally
# Run tests
๐ License
MIT. Do whatever you want with it. Just don't blame me if you miss your dentist appointment.