Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stakly

The terminal-native task manager and Pomodoro timer built for developers who refuse to leave the command line.

License: MIT Platform Go Version


Why Stakly?

Every developer knows the feeling. You're deep in the zone — three terminals open, a debugger running, your editor split into four panes — and then you remember: you have a task list somewhere. But it's in a web app. Or a phone app. Or worse, a sticky note. So you leave your flow, switch context, lose focus, and it takes twenty minutes to get back into the zone.

Stakly exists to end that.

Stakly is a complete task manager and Pomodoro focus timer that lives inside your terminal — right where you already spend your day. No browser tabs. No context switching. No accounts. No noise. Just you, your tasks, and the keyboard.


What Makes Stakly Different

Stakly Web todo apps Other CLI task tools
Speed Instant — native Go binary Depends on browser + network Varies
Focus Keyboard-first TUI Mouse + clicks Often bare text
Pomodoro Built in Add-on or separate app Rarely included
Privacy 100% local Your data on their servers Depends
Install One binary, no runtime Browser Often needs runtime
Platforms Windows, macOS, Linux, Android Any Varies

Stakly combines what you love about the terminal — speed, focus, and simplicity — with everything you need to manage work and deep-focus sessions, all in one tool.


Features

Task Management

  • Add tasks in seconds — from the TUI or directly from the command line
  • Priorities — low, medium, high, color-coded so important work stands out
  • Projects — group related tasks and filter by project
  • Tags — categorize tasks for easy discovery
  • Due dates — set deadlines with automatic overdue detection
  • Status tracking — pending, in progress, and done states
  • Instant search — list and filter with a keystroke

Pomodoro Focus Timer

  • 25/5/15 cycle — work, short break, long break
  • Auto-advance — modes switch automatically when time runs out
  • Live progress bar — see your session at a glance
  • Session counter — track completed pomodoros
  • One-key controls — start, pause, reset, skip

Built for the Terminal

  • Single binary — no Node, no Python, no runtime required
  • Cross-platform — Windows, macOS, Linux, and Termux (Android)
  • Scriptable — every command works in pipelines and cron jobs
  • JSON output — plug Stakly into your own tooling
  • Local-first — your data never leaves your machine

Ownership Protection

  • Embedded ownership bytecode — every build cryptographically proves who created it
  • Tamper detection — modified binaries refuse to operate
  • Instant verificationstakly verify confirms authenticity


Installation

Option 1: One-line install script (recommended)

Works on macOS, Linux, and Termux. Automatically detects your OS and architecture:

curl -fsSL https://raw.githubusercontent.com/donrich99/stakly/main/install.sh | bash

Option 2: Download from Releases

Grab the pre-built binary for your platform from the Releases page:

Platform Binary
Linux x64 stakly-linux-x64
Linux ARM64 stakly-linux-arm64
Linux ARM32 stakly-linux-armv7
macOS Intel stakly-darwin-x64
macOS Apple Silicon stakly-darwin-arm64
Windows x64 stakly-windows-x64.exe
Termux (Android) stakly-termux-arm64

Option 3: Build from source

Requires Go 1.21+:

git clone https://github.com/donrich99/stakly.git
cd stakly
go build -o stakly ./cmd/stakly
sudo mv stakly /usr/local/bin/

Termux (Android)

pkg install golang git -y
git clone https://github.com/donrich99/stakly.git
cd stakly
go build -o stakly ./cmd/stakly
chmod +x stakly
mv stakly $PREFIX/bin/

Windows

  1. Download stakly-windows-x64.exe from the Releases page
  2. Rename it to stakly.exe
  3. Move it to a folder, e.g. C:\stakly\
  4. Add the folder to your PATH:
    • Press Win + R, type sysdm.cpl, press Enter
    • Advanced tab → Environment Variables…
    • Under User variables, select PathEditNew → enter C:\stakly
    • Click OK on all windows
  5. Open a new terminal (cmd or PowerShell) and run:
stakly --version

macOS note

The binary is not notarized, so macOS may warn:

“stakly” cannot be opened because the developer cannot be verified.

That is expected for free open-source tools. To open it anyway: right-click the file → Open → Open (once). Or remove the quarantine tag:

chmod +x stakly-darwin-arm64
xattr -d com.apple.quarantine stakly-darwin-arm64   # Apple Silicon
./stakly-darwin-arm64

Quick Start: 60 Seconds to Productive

# 1. Launch the interactive interface
stakly tui

# 2. Press "a" to add your first task, type a title, press Enter
# 3. Start a focus session: press "t", then Space to start the timer

# Or skip the TUI entirely — everything works from the shell:
stakly add "Ship stakly v1.0" --priority high --project stakly
stakly add "Write docs" --due 2026-08-15
stakly list

That's it. You now have a task manager and focus timer in your terminal.


Usage Guide

Launching the Interactive TUI

stakly tui

The TUI is where Stakly shines. Full-screen, keyboard-driven, zero mouse needed. Everything you see is one keystroke away.

Adding Tasks

From the TUI, press a to enter add mode. Type a title, choose a priority with 1, 2, or 3, and press Enter to save. Press Esc to cancel.

From the command line:

# Basic task
stakly add "Fix login bug"

# With priority
stakly add "Deploy to production" --priority high

# With a project
stakly add "Update API docs" --project docs

# With a due date
stakly add "Prepare quarterly report" --due 2026-09-30

# With tags
stakly add "Refactor auth module" --tags backend,security

# Everything at once
stakly add "Release v1.1" --priority high --project stakly --due 2026-08-20 --tags release,urgent

Listing Tasks

# Pending tasks (default)
stakly list

# Include completed tasks
stakly list --done

# Filter by project
stakly list --project docs

# Machine-readable output (perfect for scripts)
stakly list --json

Completing Tasks

# Find the task ID first
stakly list

# Mark as done (prefix of the ID works too)
stakly done 4f2a1b9c

Deleting Tasks

stakly delete 4f2a1b9c

The Pomodoro Timer

Launch the TUI and press t to open the timer, or run:

stakly timer

Then:

  • Space — start or pause the session
  • R — reset the current session
  • N — skip to the next mode (work / short break / long break)
  • Esc — return to the task list

The timer follows the classic Pomodoro rhythm: 25 minutes of work → 5 minute short break → repeat → 15 minute long break after every 4 sessions.

Verifying Authenticity

stakly verify

Every build ships with an embedded ownership signature. Verify that your binary is genuine and untampered:

Stakly Ownership Verification
Signature:    STAKLY-BC-v1
Fingerprint:  090E1B111603261A3E...
Owner:        @dvc
GitHub:       donrich99
Repository:   https://github.com/donrich99
Status:       AUTHENTIC

Getting Help

stakly help          # All commands
stakly --version     # Version + ownership
stakly info          # Storage location + statistics
stakly support       # How to support the project

TUI Keyboard Shortcuts

Navigation

Key Action
/ k Move up
/ j Move down
? Toggle help screen
q Quit Stakly

Tasks

Key Action
a Add a new task
space Toggle pending / done
d Delete selected task
r Refresh the list

Add Task Screen

Key Action
1 Set priority to low
2 Set priority to medium
3 Set priority to high
enter Save the task
esc Cancel and go back

Pomodoro Timer

Key Action
space Start / pause
r Reset current session
n Skip to next mode
esc Back to task list

Command Reference

stakly tui

Launch the interactive terminal user interface.

stakly add [title]

Add a new task. The title is everything after the command name.

Flags:

Flag Description
-p, --priority Priority: low, medium, high (default: medium)
-P, --project Group under a project name
-t, --tags Comma-separated tags, e.g. backend,security
-d, --due Due date in YYYY-MM-DD format

stakly list

List tasks.

Flags:

Flag Description
-P, --project Filter by project
--done Include completed tasks
--json Output as JSON for scripting

stakly done [id]

Mark a task as completed. Accepts full IDs or unique ID prefixes.

stakly delete [id]

Delete a task permanently. Accepts full IDs or unique ID prefixes.

stakly timer

Launch the Pomodoro timer in the TUI.

stakly info

Show version, build date, ownership, storage location, and statistics.

stakly verify

Verify the embedded ownership signature and binary integrity.

stakly support

Show ways to support the project from the terminal.

stakly help

Show the full command help.

stakly --version

Show version and ownership information.


Scripting & Automation

Stakly is a citizen of your terminal — it plays well with everything else:

# Automate task creation from other tools
stakly add "Deploy failed: $SERVICE" --priority high --tags deploy,alert

# Count open tasks
stakly list --json | jq 'length'

# Export tasks for reporting
stakly list --done --json > completed-tasks.json

# Cron reminder — check your day every morning
stakly list

Because everything is local and scriptable, Stakly integrates cleanly with your existing workflow — cron jobs, CI pipelines, shell aliases, anything.


Ownership & Integrity

Every Stakly binary carries an embedded ownership bytecode — an obfuscated, checksum-protected signature (Fletcher-16) that permanently proves who built the tool:

Owner:       @dvc
GitHub:      donrich99
Repository:  https://github.com/donrich99
Signature:   STAKLY-BC-v1
  • stakly verify prints the full ownership proof for any build.
  • Tamper protection — if anyone modifies the binary or attempts to claim authorship, the checksum fails, the tool detects the modification, and it refuses to operate — displaying an "UNAUTHORIZED COPY" notice with the original author's information instead.

This isn't a license restriction — Stakly is MIT licensed and free to use, modify, and share. The signature simply makes sure the real author always gets credit for their work.


Support & Donations

Stakly is free and open source (MIT). It was built by a solo developer who believes developers deserve fast, focused tools. If Stakly saves you time, here's how you can give back:

  • Star the repository — it's the simplest way to show support and help others discover the project: donrich99/stakly
  • Sponsor the author via GitHub Sponsors (button on the repo page) — every donation funds development time and keeps the project alive
  • 📣 Share it — tell a developer who lives in the terminal about Stakly
  • 🐛 Contribute — open issues, suggest features, submit pull requests
  • 💬 Give feedback — report what works and what doesn't

Run stakly support to see this from the terminal.

Thank you for using Stakly!


Storage & Privacy

Stakly stores everything locally — no accounts, no servers, no telemetry, no tracking:

Platform Location
Linux ~/.config/stakly/tasks.json
macOS ~/.config/stakly/tasks.json
Windows %USERPROFILE%\.config\stakly\tasks.json
Termux ~/.config/stakly/tasks.json

Your tasks are plain JSON. You can read them, back them up, or move them between machines. Your data is yours — always.


Roadmap

Planned features, in rough order:

  • Task editing inside the TUI
  • Recurring tasks
  • Due date reminders / notifications
  • Tag-based filtering in the TUI
  • Fuzzy search across all tasks
  • Export to Markdown / CSV
  • Optional GitHub Issues sync
  • Themes and color customization
  • Shell completions (bash, zsh, fish, PowerShell)

Have an idea? Open an issue — the best features come from users.


Contributing

Contributions of all kinds are welcome — code, docs, bug reports, feature ideas. Please open an issue first to discuss significant changes.

git clone https://github.com/donrich99/stakly.git
cd stakly
go mod download
go run ./cmd/stakly

License

MIT © @dvc

Free to use, modify, and distribute. Attribution appreciated.


Author

Built by @dvc

GitHub: @donrich99


Stakly — because your to-do list should be as fast as your editor.

About

A fast, keyboard-driven task and productivity manager for developers.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages