Home
Softono
gh-todo

gh-todo

Open source Shell
35
Stars
2
Forks
1
Issues
1
Watchers
4 years
Last Commit

About gh-todo

gh-todo is a command-line extension for the GitHub CLI that transforms GitHub issues into a personal task management system. Inspired by productivity expert Marc Andreessen, it organizes work into three distinct lists: Todo, Watch, and Later. The tool integrates directly with your GitHub account by creating or utilizing a dedicated repository to store tasks as issues. Users initialize the system with the gh todo init command, which sets up the required repository, optionally using a provided template or a custom name via environment variables. Adding tasks is straightforward using gh todo add, which automatically titles issues by date or allows custom scopes like yesterday, tomorrow, or specific timeframes. The extension provides simple commands to list current tasks, view specific issues in a browser, mark tasks as complete, and access the project home. It is designed for simplicity and ease of use, making it ideal for developers who want to manage their workflow without leaving the terminal while leveraging

Platforms

Web Self-hosted

Languages

Shell

Links

gh todo

GitHub CLI extension for todo list manager, via GitHub issues.

Keep three and only three lists: a Todo List, a Watch List, and a Later List.

--- Marc Andreessen’s guide to personal productivity.

Install

gh extension install yuler/gh-todo

Features

  • Simple
  • Easy to use via command line
  • Integration GitHub issues

How it works

First, you need run gh todo init. It will create todo repo in your GitHub account.

Note:

  • You can override the default repo name todo with the environment variable GH_TODO_REPO. Like this:

    GH_TODO_REPO=repo-todo gh todo init
  • And you can use gh todo init --template yuler/template-todo based on a template repository.

Then you can use gh todo add to add new task. It will create an issue with today(yyyy-MM-dd) as the title in todo repo.

You can specify the issue title with --scope. The default is today(yyyy-MM-dd). Current support [yesterday, tomorrow, week, month, year]. Any other will be used directly as issue title.

The gh todo or gh todo list where show todo list.

Usage

# Show help for command
gh todo --help
# Create `todo` repo
gh todo init --template=yuler/template-todo
# Open `issues` in browser
gh todo home
# Add todo item
gh todo add [item]
# Open `issue` in browser
gh todo view
# Close `issue`
gh todo done
# Show todo list
gh todo list

ZSH Completion

  • Define gh-todo function in .zshrc

    gh-todo() {
      gh todo $@
    }
  • Ensure autoload compinit

  • Add completion to zsh/site-functions

    curl https://raw.githubusercontent.com/yuler/gh-todo/main/completion.zsh > /usr/local/share/zsh/site-functions/\_gh-todo

Related