{"id":13530811,"url":"https://github.com/darrikonn/td-cli","last_synced_at":"2025-04-01T19:30:43.671Z","repository":{"id":33055090,"uuid":"136728438","full_name":"darrikonn/td-cli","owner":"darrikonn","description":"A todo command line todo manager ✔️","archived":false,"fork":false,"pushed_at":"2025-02-14T11:49:44.000Z","size":8009,"stargazers_count":199,"open_issues_count":5,"forks_count":9,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-15T16:16:52.498Z","etag":null,"topics":["td","td-cli","todo","todolist"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/td-cli/","language":"Python","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/darrikonn.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":{"patreon":"darrikonn","github":"darrikonn"}},"created_at":"2018-06-09T14:04:21.000Z","updated_at":"2025-02-17T16:09:52.000Z","dependencies_parsed_at":"2024-04-12T08:31:32.925Z","dependency_job_id":"ce551871-9cda-44d8-8e22-23d0b5b1ee20","html_url":"https://github.com/darrikonn/td-cli","commit_stats":{"total_commits":276,"total_committers":4,"mean_commits":69.0,"dds":"0.42391304347826086","last_synced_commit":"1b73467c9bfdb4f636d7a7a00b206531d1e3a8ee"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrikonn%2Ftd-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrikonn%2Ftd-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrikonn%2Ftd-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darrikonn%2Ftd-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darrikonn","download_url":"https://codeload.github.com/darrikonn/td-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246700071,"owners_count":20819819,"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":["td","td-cli","todo","todolist"],"created_at":"2024-08-01T07:00:55.671Z","updated_at":"2025-04-01T19:30:40.743Z","avatar_url":"https://github.com/darrikonn.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.png\" width=80 alt=\"Icon\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/5694851/67482097-be2ecc80-f652-11e9-899d-1d9750929b7e.png\" /\u003e\n  \u003cbr /\u003e\n  \u003cbr /\u003e\n  \u003ca href=\"https://pypi.org/project/td-cli/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/v/td-cli.svg?style=flat-square\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/td-cli/\"\u003e\n    \u003cimg src=\"https://img.shields.io/pypi/dm/td-cli?style=flat-square\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/darrikonn/td-cli/blob/master/LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Licence-MIT-yellow.svg?longCache=true\u0026style=flat-square\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.python.org/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Made With-Python-red.svg?longCache=true\u0026style=flat-square\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/alebcay/awesome-shell#command-line-productivity\"\u003e\n    \u003cimg height=\"20\" src=\"https://user-images.githubusercontent.com/2769158/44446193-327a6580-a5a1-11e8-91e2-21ca857f95d4.png\"/\u003e\n  \u003c/a\u003e\n\u003c/h3\u003e\n\n\u003cpre\u003e\n  \u003cp align=\"center\"\u003e\u003ca href=\"https://pypi.org/project/td-cli/\"\u003e\u003cstrong\u003etd-cli\u003c/strong\u003e\u003c/a\u003e is a command line todo manager, \u003cbr/\u003ewhere you can organize and manage your todos across multiple projects\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\u003cimg class=\"img-responsive\" width=\"500\" src=\"https://raw.githubusercontent.com/darrikonn/td-cli/master/img/td-cli.gif\" alt=\"gif\"/\u003e\u003c/p\u003e\n  \u003cp align=\"center\"\u003e\u003ca href=\"https://circleci.com/gh/darrikonn/td-cli\"\u003e\u003cimg src=\"https://circleci.com/gh/darrikonn/td-cli.svg?style=svg\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/pre\u003e\n\n## Installation\n\n[**td-cli**](https://pypi.org/project/td-cli/) only works for `python 3`, so it needs to be installed with `pip3`\n\n```bash\npip3 install td-cli\n```\n\n### Windows 10\n\nIn order to use the interactive mode on Windows, you'll have to install [**windows-curses**](https://pypi.org/project/windows-curses/)\n\n```bash\npip install windows-curses\n```\n\nIn addition to that, [**Windows Terminal**](https://github.com/microsoft/terminal) is recommended for better UX.\n\n## Getting started\n\nRun `td --help` to see possible commands.\n\nHere are some to get you started:\n\n- Run `td` to list all your todos.\n\n- Run `td add \"my new awesome todo\"` to add a new todo.\n\n- Run `td \u003cid\u003e complete` to complete your todo. You don't have to specify the whole `id`, a substring will do. It'll fetch the first one that it finds in the same order as when you list your todos.\n\nNote that `global` is a preserved group name where you can list all your global groups. You can always set it as the default with:\n\n```bash\ntd group global preset\n```\n\n## API\n\nCheck out the [`api`](https://github.com/darrikonn/td-cli/blob/master/API.md).\n\n## Configuring\n\nThe location of your todos and your configuration will depend on these environment variables (in this order):\n\n1. **TD_CLI_HOME**: determines where your `todo.db` and `todo.cfg` file will live\n2. **XDG_CONFIG_HOME**: a fallback if `$TD_CLI_HOME` is not set\n3. **HOME**: a fallback if `$XDG_CONFIG_HOME` is not set. If `$HOME` is used; all files will be transformed to a dotfile, i.e.`~/.todo.db` and `~/.todo.cfg`.\n\n### Database name\n\nYour database instance will be located in in the before-mentioned configuration directory.\nBy default the database will be named `todo`.\n\nYou can change your database name by specifying `database_name` in your `$TD_CLI_HOME/.todo.cfg` file:\n\n```cfg\n[settings]\ndatabase_name: something_else\n```\n\nThis results in a database instance at `$TD_CLI_HOME/.something_else.db`\n\n### Format\n\nYou can specify your preferred format of your todo's details via the format config keyword:\n\n```cfg\nformat: md\n```\n\nThis would result in the `.md` (Markdown) file extension when editing a todo. This allows you to use the power of your editor to e.g. syntax highlight the details, and etc.\n\n### Editor\n\nWhen editing a todo, `td \u003cid\u003e edit`, you can both specify the todo's `name` and the todo's `details` via options (see `td \u003cid\u003e edit --help`). If no option is specified, your todo will be opened in `vi` by default (your `environement EDITOR` will override this) where you can edit the todo's details. You can change the default editor by updating your config:\n\n```cfg\n[settings]\neditor: nvim\n```\n\n### Only list uncompleted todos\n\nWhen listing todos, by default td-cli will list both completed and uncompleted todos. If you want to only list uncompleted todos by default, then you can apply the completed config:\n\n```cfg\n[settings]\ncompleted: 0\n```\n\n### Group\n\nWhen listing todos, you have the option of specifying what group to list from:\n\n```bash\ntd -g my-group\n# or\ntd g my-group\n```\n\nIf no group is provided, `td` will list from the current default group. You can globally set the default group with:\n\n```bash\ntd g my-group preset\n```\n\nHowever, there's an option to set the default group per git project (this is not possible from the root config `$TD_CLI_HOME/.todo.cfg`).\nIn any root of your projects, you can create a `.td.cfg` config file to specify what group to default on (this will override the global default group):\n\n```cfg\n[settings]\ngroup: my-group\n```\n\nIf you run `td` within your git project, td will default to _my-group_.\n\nI recommend globally ignoring `.td.cfg` in `~/.gitignore`.\n","funding_links":["https://patreon.com/darrikonn","https://github.com/sponsors/darrikonn"],"categories":["Productivity","others","Tools","\u003ca name=\"todo-manager\"\u003e\u003c/a\u003eTodo managers","Command-Line Productivity"],"sub_categories":["Note Taking and Lists","Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrikonn%2Ftd-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarrikonn%2Ftd-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarrikonn%2Ftd-cli/lists"}