taiga-plugin-api 0.1.0

Plugin API for Taiga task manager
Documentation

taiga_banner

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:

  1. Starts instantly. (No Electron bloat).
  2. Stores data in plain text. (I want to own my data, not lock it in a database).
  3. 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 .md file. You can cat it, grep it, 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:

chmod +x taiga
mv taiga /usr/local/bin/

Option 2: Build from Source (For the cool kids)

You need Rust installed.

git clone https://github.com/YOUR_USERNAME/taiga.git
cd taiga
cargo install --path .


๐ŸŽฎ Usage

Taiga uses a natural subcommand structure.

1. Add a Task

Just type.

taiga add "Fix the production bug"

With a Schedule: Use the when keyword to attach a date.

taiga add "Buy groceries" when "tomorrow"
taiga add "Submit report" when "next friday"

2. List Tasks

See what you've been putting off.

taiga list           # Show all tasks
taiga list open      # Show only incomplete tasks
taiga list done      # Show completed tasks

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.

taiga check 2

4. Nuke It

Delete a task forever.

taiga remove 1

5. Edit Tasks

Made a typo? Change the name or date.

taiga edit 1 --name "Actually fix the bug this time"
taiga edit 1 --date "next monday"

6. Housekeeping

taiga clear --checked   # Remove all completed tasks
taiga reindex           # Renumber task IDs sequentially
taiga recover           # Restore from backup (we all make mistakes)


๐Ÿ”Œ 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.

taiga pomo start 25 5 4          # 25 min focus, 5 min break, 4 cycles
taiga pomo status                # Check timer status
taiga pomo pause                 # Take an unscheduled break
taiga pomo resume                # Back to work
taiga pomo stop                  # Give up (we don't judge)

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.

taiga tui run

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:

taiga plugins


โš™๏ธ 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
cargo run -- add "Test task"

# Run tests
cargo test

๐Ÿ“œ License

MIT. Do whatever you want with it. Just don't blame me if you miss your dentist appointment.