Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yuler/gh-todo
[GitHub CLI] extension for todo list manager via GitHub issues
https://github.com/yuler/gh-todo
cli gh-extension todo
Last synced: 4 months ago
JSON representation
[GitHub CLI] extension for todo list manager via GitHub issues
- Host: GitHub
- URL: https://github.com/yuler/gh-todo
- Owner: yuler
- Created: 2021-09-01T05:01:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-02-14T03:31:14.000Z (almost 3 years ago)
- Last Synced: 2024-04-17T05:16:29.029Z (7 months ago)
- Topics: cli, gh-extension, todo
- Language: Shell
- Homepage:
- Size: 33.2 KB
- Stars: 27
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- jimsghstars - yuler/gh-todo - [GitHub CLI] extension for todo list manager via GitHub issues (Shell)
README
# 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.
> ](https://pmarchive.com/guide_to_personal_productivity.html)## Install
```bash
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:
```bash
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
```bash
# 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`
```zsh
gh-todo() {
gh todo $@
}
```- Ensure autoload `compinit`
- Add completion to `zsh/site-functions````bash
curl https://raw.githubusercontent.com/yuler/gh-todo/main/completion.zsh > /usr/local/share/zsh/site-functions/\_gh-todo
```## Related
- [yuler/template-todo]
- [todo.txt-cli]
- [taskbook][github cli]: https://github.com/cli/cli
[yuler/template-todo]: https://github.com/yuler/template-todo
[todo.txt-cli]: https://github.com/todotxt/todo.txt-cli
[taskbook]: https://github.com/klaussinani/taskbook