{"id":13459959,"url":"https://github.com/sachaos/todoist","last_synced_at":"2025-05-14T03:07:34.316Z","repository":{"id":41338239,"uuid":"71256290","full_name":"sachaos/todoist","owner":"sachaos","description":"Todoist CLI Client. I ❤️ Todoist and CLI.","archived":false,"fork":false,"pushed_at":"2024-12-30T11:53:09.000Z","size":3776,"stargazers_count":1545,"open_issues_count":78,"forks_count":109,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-11T00:08:45.063Z","etag":null,"topics":["cli","cli-client","golang","peco","todoist"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sachaos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["sachaos"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-10-18T14:22:04.000Z","updated_at":"2025-04-09T12:11:40.000Z","dependencies_parsed_at":"2024-01-07T06:00:30.196Z","dependency_job_id":"647787e2-5f22-4233-83c8-9f0c78c7add7","html_url":"https://github.com/sachaos/todoist","commit_stats":{"total_commits":290,"total_committers":36,"mean_commits":8.055555555555555,"dds":0.5448275862068965,"last_synced_commit":"52ecb8d09554961caea0fa2f0299cf57112286b5"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachaos%2Ftodoist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachaos%2Ftodoist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachaos%2Ftodoist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sachaos%2Ftodoist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sachaos","download_url":"https://codeload.github.com/sachaos/todoist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322773,"owners_count":21084336,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","cli-client","golang","peco","todoist"],"created_at":"2024-07-31T10:00:33.006Z","updated_at":"2025-04-11T00:43:26.044Z","avatar_url":"https://github.com/sachaos.png","language":"Go","funding_links":["https://github.com/sponsors/sachaos"],"categories":["Go","TypeScript","语言资源库"],"sub_categories":["go"],"readme":"Todoist CLI client\n===\n\n[Todoist](https://todoist.com/) CLI Client, written in Golang.\n\n## Description\n\n[Todoist](https://todoist.com/) is a cool TODO list web application.\nThis program will let you use the Todoist in CLI.\n\n![color image](./assets/todoist-cli-description-image.png)\n\n## Demo (with [peco](https://github.com/peco/peco))\n\n### Add Task\n\n![Add task](./assets/todoist-cli-add-task-demo.gif)\n\n### Close Task\n\n![Close task](./assets/todoist-cli-close-task-demo.gif)\n\n## Usage\n\n```\n$ todoist --help\nNAME:\n   todoist - Todoist CLI Client\n\nUSAGE:\n   todoist [global options] command [command options] [arguments...]\n\nVERSION:\n   0.18.0\n\nCOMMANDS:\n     list, l                  Show all tasks\n     show                     Show task detail\n     completed-list, c-l, cl  Show all completed tasks (only premium users)\n     add, a                   Add task\n     modify, m                Modify task\n     close, c                 Close task\n     delete, d                Delete task\n     labels                   Show all labels\n     projects                 Show all projects\n     karma                    Show karma\n     sync, s                  Sync cache\n     quick, q                 Quick add a task\n     help, h                  Show a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --color              colorize output\n   --csv                output in CSV format\n   --debug              output logs\n   --namespace          display parent task like namespace\n   --indent             display children task with indent\n   --project-namespace  display parent project like namespace\n   --help, -h           show help\n   --version, -v        print the version\n```\n\n### `list --filter`\n\nYou can filter tasks by `--filter` option on `list` subcommand.\nThe filter syntax is base on [todoist official filter syntax](https://support.todoist.com/hc/en-us/articles/205248842-Filters).\n\nSupported filter is [here](https://github.com/sachaos/todoist/issues/15#issuecomment-334140101).\n\n#### e.g. List tasks which over due date and have high priority\n\n```\ntodoist list --filter '(overdue | today) \u0026 p1'\n```\n\n## Config\n\nConfig by default stored in `$HOME/.config/todoist/config.json`\n\nIt has following parameters:\n\n```\n{\n  \"token\": \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\", # todoist api token, required\n  \"color\": \"true\",                                     # colorize all output, not required, default false\n  \"shortdatetimeformat\": \"06/01/02(Mon) 15:04\",        # golang datetime format, not required\n  \"shortdateformat\": \"06/01/02(Mon)\"                   # golang date format, not required\n}\n```\n\n## Install\n\n### Homebrew (Mac OS)\n\n```\n$ brew install sachaos/todoist/todoist\n```\n\n### AUR\n\n* [todoist](https://aur.archlinux.org/packages/todoist/)\n* [todoist-git](https://aur.archlinux.org/packages/todoist-git/)\n\n### Nix/NixOS\n\n```\nnix-env -iA nixos.todoist\n```\n\nIt's important to notice that if you're using NixOS, the cache and config file will be present at your home directory: `~/.todoist.cache.json` and `~/.todoist.config.json`.\n\n### Docker\n\n```\n$ git clone https://github.com/sachaos/todoist.git\n$ cd todoist\n$ make docker-build token=xxxxxxxxxxxxxxxxxxxx\n$ make docker-run\n```\n\nYou will be running the next commands from inside the container.\n\nPS: We add a step that is run `sync` before any command, so you will be always up to date!\n\n### Build it yourself\n\nYou need go 1.12.\n\n```\n$ mkdir -p $GOPATH/src/github.com/sachaos\n$ cd $GOPATH/src/github.com/sachaos\n$ git clone https://github.com/sachaos/todoist.git\n$ cd todoist\n$ make install\n```\n\n### Register API token\n\nWhen you run `todoist` first time, you will be asked your Todoist API token.\nPlease input Todoist API token and register it. In order to get your API token\ngo to [https://todoist.com/prefs/integrations](https://todoist.com/prefs/integrations)\n\n### Sync\n\nAfter register API token, you should sync with todoist.com by `sync` sub command, like below.\n\n```\n$ todoist sync\n```\n\n### Use with peco/fzf\n\n**RECOMMENDED**\n\nInstall [peco](https://github.com/peco/peco) and load `todoist_functions.sh` on your `.zshrc`, like below.\n\nfish version is here. [ka2n/fish-peco_todoist](https://github.com/ka2n/fish-peco_todoist) Thanks @ka2n!\n\nIf you would prefer to use [fzf](https://github.com/junegunn/fzf) instead load `todoist_functions_fzf.sh` like below.\n\nfish version is here. [mordax7/fish-fzf-todoist](https://github.com/mordax7/fish-fzf-todoist)\n\n```\n$ source \"$GOPATH/src/github.com/sachaos/todoist/todoist_functions.sh\"\n```\n\n#### If installed via homebrew\n\nIf installed via homebrew and using zsh (usually this is added to your `.zshrc` without the `$`, usually before loading your ZSH plugin manager):\n\nFor **peco**:\n```\n$ source $(brew --prefix)/share/zsh/site-functions/_todoist_peco\n```\n\nFor **fzf**:\n```\n$ source $(brew --prefix)/share/zsh/site-functions/_todoist_fzf\n```\n\n**TODO**: fish + homebrew\n\n#### keybind\n\n```\n\u003cC-x\u003e t t: select task with peco\n\u003cC-x\u003e t p: select project with peco\n\u003cC-x\u003e t l: select labels with peco\n\u003cC-x\u003e t c: select task and close with peco\n\u003cC-x\u003e t d: select date\n\u003cC-x\u003e t o: select task, and open it with browser when has url\n```\n\n### Enable shell completion\n\nYou can also enable shell completion by adding the following lines to your `.bashrc`/`.zshrc` files.\n\n```\n# Bash\nPROG=todoist source \"$GOPATH/src/github.com/urfave/cli/autocomplete/bash_autocomplete\"\n# Zsh\nPROG=todoist source \"$GOPATH/src/github.com/urfave/cli/autocomplete/zsh_autocomplete\"\n```\n\n## Author\n\n[sachaos](https://github.com/sachaos)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsachaos%2Ftodoist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsachaos%2Ftodoist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsachaos%2Ftodoist/lists"}