Skip to content

CnTeng/todoist-cli

Repository files navigation

todoist-cli

Go

A powerful CLI client for Todoist.

✨ Features

Item Management

  • Built on todoist-go-api.
  • Supports management of task, project, section, label and filter.

Pretty Table

  • Built on table, inspired by taskwarrior.
  • Format text as Bold, Italic or Strikethrough.
  • Automatically wraps lines.
  • Colorful text and Nerd Font icons.
  • Displays subtasks in a tree structure.

table

Autocompletion

  • Built on cobra.
  • Autocompletion for task, project, section, color, and more.
  • Supports bash, zsh, fish, and powershell.

cmp

Reorder

  • Reorder items interactively, similar to git rebase -i.

reorder

Auto sync with Todoist

  • Keeps your local data in sync with Todoist using a background daemon.
  • Changes made in the Todoist web or mobile app are reflected in the CLI automatically.
  • You can also manually sync using todoist sync.

🛠️ Usage

Help

A CLI for Todoist

Usage:
  todoist [command]

Task commands:
  add         Add task
  close       Close task
  list        List tasks
  modify      Modify task
  move        Move task
  quick-add   Quick add task
  remove      Remove task
  reopen      Reopen task
  reorder     Reorder tasks

Resources commands:
  filter      Filter commands
  label       Label commands
  project     Project commands
  section     Section commands

Additional Commands:
  completion  Generate the autocompletion script for the specified shell
  daemon      Start daemon
  help        Help about any command
  sync        Sync data

Flags:
      --config string   config file (default "/home/user/.config/todoist/config.toml")
  -h, --help            help for todoist

Use "todoist [command] --help" for more information about a command.

Install

Install via Go:

go install github.com/CnTeng/todoist-cli@latest

🔧 Configuration

Available Options

daemon.api_token or daemon.api_token_file is the only required option.

[daemon]
## Daemon address. "@todo.sock" is the default value.
# Address = "@todo.sock"

## Set your Todoist API token. Either `api_token` or `api_token_file` is required.
# api_token = "your-todoist-api-token"
api_token_file = "/run/secrets/todoist/token"

[icon]
## Icon theme for todoist-cli. Supported values: `nerd` (default), `text`.
# default = "nerd"

## You can set your own icons here or override the default icons.
# none = "  "
# done = " "
# undone = " "
# inbox = " "
# favorite = " "
# indent = "│ "
# last_indent = "└ "

Override Configuration by Environment Variables

Configuration Environment
daemon.address TODOIST_ADDRESS
daemon.api_token TODOIST_API_TOKEN
daemon.api_token_file TODOIST_API_TOKEN_FILE

⭐ Credit

About

A CLI client for Todoist.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •