8000 GitHub - GreyXor/togo: A fast, simple and beautifull termianl-based todo manager with zero dependencies
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ togo Public
forked from prime-run/togo

A fast, simple and beautifull termianl-based todo manager with zero dependencies

License

Notifications You must be signed in to change notification settings

GreyXor/togo

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ToGo

A fast, simple and beautifull termianl-based to-do manager with zero dependencies

.

License GitHub contributors Stars Forks Issues

main-togo-screen-shot

Table of Contents πŸ“œ

main-togo-screen-shot

Features ✨

  • Zero-friction capture: Add ideas directly from your terminal without interrupting your flow
  • Beautiful terminal UI: Interactive interface for managing todos when you're ready to organize
  • VIM keybinds: HJKL motions support
  • Multiple management methods: Use either interactive mode or command-line operations to manage
  • Flexible organization: Toggle completion, archive finished tasks, delete what's no longer needed
  • Search/filtering: Find tasks quickly in lists or through partial start-matching
  • Shell integration: Tab completion for workflow integration

Installation πŸ“₯

ArchLinux

togo is pushed to arch AUR

yay -Sy togo
#or
paru -Sy togo

pre-built binaries (recomended)

Download the latest pre-built binaries for your operating system from the Releases page. After downloading and extracting, ensure that ~/.local/bin is in your system's PATH environment variable. You can usually do this by adding the following line to your shell's configuration file (e.g., .bashrc , .zshrc ):

export PATH="$HOME/.local/bin:$PATH"

Then, reload your shell configuration:

source ~/.bashrc  # For Bash
# or
source ~/.zshrc  # For Zsh

Now you should be able to run togo in your terminal.

Linux and Mac (x86_64):

wget https://github.com/prime-run/togo/releases/download/v1.0.2/togo_1.0.2_linux_amd64.tar.gz
mkdir -p ~/.local/bin
tar -xzf togo_*.tar.gz -C ~/.local/bin/togo

macOS (Apple Silicon arm64):

wget https://github.com/prime-run/togo/releases/download/v1.0.2/togo_1.0.2_darwin_arm64.tar.gz
mkdir -p ~/.local/bin
tar -xzf togo_*.tar.gz -C ~/.local/bin/togo

Go Cli

The simplest way to install Togo:

Caution

go version > 1.24 is required

go install github.com/prime-run/togo@latest

Make sure $GOPATH/bin is in your PATH to access the installed binary.

make

# Clone the repository
git clone https://github.com/prime-run/togo.git
cd togo
make
# And follow the prompts

All Make installation methods include automatic shell completion setup out of the box, so you can immediately use tab completion for commands and task names. In case your shell didn't get detected, you can run togo completion --help

Usage πŸ› οΈ

Add your first task:

togo add should I use "s in my shell std inputs?"
# or dont even add qutes
togo add Call the client about project scope

Managing Your Tasks

Togo offers two primary ways to manage your tasks:

1. Interactive Mode

Open the interactive UI to work with your todos visually:

togo
# or
togo list           # Active todos only
togo list --all     # All todos
togo list --archived # Archived todos only

The interactive mode shows helpful keyboard shortcuts right in the interface.

main-togo-screen-shot

2. Command-Line Operations

Togo offers flexible command syntax with three usage patterns:

a) Direct selection by partial name
togo toggle meeting

If only one task contains "meeting", it executes immediately - no selection needed. If multiple tasks match (e.g., "team meeting" and "client meeting"), Togo automatically opens the selection list so you can choose which one you meant.

b) Interactive selection list
togo toggle

Opens a selection list where you can choose from available tasks:

main-togo-screen-shot

As you type, Togo searches through your tasks and filters the results.

c) Shell completion integration

If you've installed shell completion (see below), you can use:

togo toggle [TAB]

Your shell will present available tasks. Type a few letters to filter by name:

togo toggle me[TAB]

Shell will show only tasks containing "me" - perfect for quick selection.

Available Commands

  • togo add "Task description" - Add a new task
  • togo toggle [task] - Toggle completion status
  • togo archive [task] - Archive a completed task
  • togo unarchive [task] - Restore an archived task
  • togo delete [task] - Remove a task permanently
  • togo list [flags] - View tasks (--all, --archived)

Additional Options πŸ“Œ

Every command supports -h or --help flags to display detailed usage information:

togo toggle --help
togo add -h

Features In Depth 🧠

Shell Completion

Setting up shell completion makes Togo even more efficient by enabling tab completion for commands and tasks.

Zsh

# 1. Create completion directory
mkdir -p ~/.zsh/completion
echo "fpath=(~/.zsh/completion \$fpath)" >> ~/.zshrc

# 2. Enable completions
echo "autoload -Uz compinit && compinit" >> ~/.zshrc

# 3. apply Togo completion
togo completion zsh > ~/.zsh/completion/_togo
source ~/.zshrc

Bash

# 1. Ensure completion is sourced
echo "[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion" >> ~/.bashrc
source ~/.bashrc

# 2. Install Togo completion
togo completion bash > ~/.bash_completion
source ~/.bash_completion

Fish

mkdir -p ~/.config/fish/completions
togo completion fish > ~/.config/fish/completions/togo.fish

PowerShell

yea, i dont think you PS guys need this tool :)

Data Storage

Togo stores all your data in a simple JSON file at ~/.togo/todos.json.

Built With πŸ”§

Go Cobra Bubble Tea Lip Gloss

License

This project is licensed under MIT - see the LICENSE file for details.

About

A fast, simple and beautifull termianl-based todo manager with zero dependencies

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 84.2%
  • Makefile 13.9%
  • Shell 1.9%
0