{"id":20131726,"url":"https://github.com/kkga/tdx","last_synced_at":"2025-04-09T16:40:52.826Z","repository":{"id":45379766,"uuid":"407998269","full_name":"kkga/tdx","owner":"kkga","description":"CLI todo manager for iCalendar files.","archived":false,"fork":false,"pushed_at":"2022-05-30T17:54:02.000Z","size":411,"stargazers_count":13,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-04T16:50:01.231Z","etag":null,"topics":["cli","golang","ical","icalendar","todo","vdir","vdirsyncer"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kkga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-19T00:39:31.000Z","updated_at":"2024-10-24T04:04:51.000Z","dependencies_parsed_at":"2022-09-09T15:42:45.980Z","dependency_job_id":null,"html_url":"https://github.com/kkga/tdx","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkga%2Ftdx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkga%2Ftdx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkga%2Ftdx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kkga%2Ftdx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kkga","download_url":"https://codeload.github.com/kkga/tdx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248068914,"owners_count":21042578,"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","golang","ical","icalendar","todo","vdir","vdirsyncer"],"created_at":"2024-11-13T20:50:04.504Z","updated_at":"2025-04-09T16:40:52.794Z","avatar_url":"https://github.com/kkga.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tdx\n\n`tdx` is a todo manager for [iCalendar] files.\n\nIt is designed to work with [vdirsyncer] and expects to operate in its\n[storage format][vdirstorage].\n\niCalendar-compatibility means it can be used as a CLI companion to any\nCalDAV-enabled todo program, such as iOS Reminders or [Tasks.org](https://tasks.org/). See more on how to set up\ncalendars and synchronization in [vdirsyncer documentation][vdirdocs].\n\n[iCalendar]: https://en.wikipedia.org/wiki/ICalendar\n[vdirsyncer]: https://github.com/pimutils/vdirsyncer\n[vdirstorage]: https://vdirsyncer.pimutils.org/en/latest/vdir.html\n[vdirdocs]: https://vdirsyncer.pimutils.org/en/stable/index.html\n\n## Features\n\n- adding todos\n  - automatic date and priority parsing\n- listing todos\n  - sorting and filtering by fields\n  - automatic hashtag parsing and output organized by tags\n- completing todos\n- editing todos in a `$VISUAL`/`$EDITOR` program\n- deleting todos\n- purging completed/cancelled todos\n\n## Usage\n\n### General usage\n\n```\ntdx -- todo manager for vdir (iCalendar) files.\n\nUsage:\n  tdx [flags]\n  tdx [command]\n\nAvailable Commands:\n  add         Add todo\n  list        List todos\n  done        Complete todos\n  edit        Edit todo\n  show        Show todos\n  delete      Delete todos\n  purge       Delete done todos\n  help        Help about any command\n  completion  generate the autocompletion script for the specified shell\n\nFlags:\n  -h, --help          help for tdx\n  -p, --path string   path to vdir folder\n  -v, --version       version for tdx\n\nUse \"tdx [command] --help\" for more information about a command.\n```\n\n### List command usage\n\n```\nList todos, optionally filtered by query.\n\nUsage:\n  tdx list [query] [flags]\n\nAliases:\n  list, ls, l\n\nExamples:\n$ tdx list --sort prio --due 2\n\nFlags:\n  -l, --lists LISTS     filter by LISTS, comma-separated (e.g. 'tasks,other')\n  -g, --group string    group listed todos, valid options: list, tag, none  (default \"list\")\n  -a, --all             show todos from all lists (overrides -l)\n  -d, --due N           filter by due date in next N days\n  -S, --status STATUS   filter by STATUS: needs-action, completed, cancelled, any (default \"needs-action\")\n  -t, --tag TAGS        filter todos by given TAGS\n  -T, --no-tag TAGS     exclude todos with given TAGS\n  -s, --sort FIELD      sort by FIELD: prio, due, status, created (default \"prio\")\n      --description     show description in output\n      --two-line        use 2-line output for dates and description\n  -h, --help            help for list\n\nGlobal Flags:\n  -p, --path string   path to vdir folder\n```\n\n## Installation\n\n### From release binaries\n\nDownload the compiled binary for your system from\n[Releases](https://github.com/kkga/tdx/releases) page and put it somewhere in\n`$PATH`.\n\n### From source\n\nRequires [Go](https://golang.org/) installed on your system.\n\nClone the repository and run `go build`, then copy the compiled binary somewhere\nin `$PATH`.\n\nIf Go is [configured](https://golang.org/ref/mod#go-install) to install packages\nin `$PATH`, it's also possible to install without cloning the repository:\n\n```\ngo install github.com/kkga/tdx@latest\n```\n\n## Configuration\n\n`tdx` is configured through environment variables.\n\n| variable        | function                                                      |\n| --------------- | ------------------------------------------------------------- |\n| `TDX_PATH`      | Path to [vdir] directory[^fn1]                                |\n| `TDX_LIST_OPTS` | Default options for `\u003clist\u003e` command, see `tdx list -h`[^fn2] |\n| `TDX_ADD_OPTS`  | Default options for `\u003cadd\u003e` command, see `tdx add -h`[^fn3]   |\n| `NO_COLOR`      | Disable color in output                                       |\n\n[^fn1]: Either root path containing multiple collections or path to specific\ncollection containing `*.ics` files.\n\n[^fn2]: For example, to show todos due in the next 2 days, from 'myList',\ngrouped by tag: `TDX_LIST_OPTS='-d 2 -l myList -g tag'`\n\n[^fn3]: For example, to use a default list for new todos:\n`TDX_ADD_OPTS='-l myList'`\n\n[vdir]: http://vdirsyncer.pimutils.org/en/stable/vdir.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkga%2Ftdx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkkga%2Ftdx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkkga%2Ftdx/lists"}