{"id":32135302,"url":"https://github.com/basilioss/mdt","last_synced_at":"2025-10-21T03:58:25.264Z","repository":{"id":142904147,"uuid":"605508843","full_name":"basilioss/mdt","owner":"basilioss","description":"Command line markdown todo list manager ","archived":false,"fork":false,"pushed_at":"2024-07-31T22:56:02.000Z","size":314,"stargazers_count":137,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T09:36:08.044Z","etag":null,"topics":["cli","command-line","console","gum","markdown","posix","productivity","shell","task-manager","todo","todo-list","todoapp","todolist"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basilioss.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2023-02-23T10:01:43.000Z","updated_at":"2025-08-13T18:10:51.000Z","dependencies_parsed_at":"2024-01-26T17:04:13.689Z","dependency_job_id":"b8b43872-9124-429e-8b48-06362e62ad40","html_url":"https://github.com/basilioss/mdt","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/basilioss/mdt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilioss%2Fmdt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilioss%2Fmdt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilioss%2Fmdt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilioss%2Fmdt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basilioss","download_url":"https://codeload.github.com/basilioss/mdt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basilioss%2Fmdt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280200870,"owners_count":26289477,"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","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","command-line","console","gum","markdown","posix","productivity","shell","task-manager","todo","todo-list","todoapp","todolist"],"created_at":"2025-10-21T03:58:22.513Z","updated_at":"2025-10-21T03:58:25.259Z","avatar_url":"https://github.com/basilioss.png","language":"Shell","funding_links":[],"categories":["\u003ca name=\"todo-manager\"\u003e\u003c/a\u003eTodo managers"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003emdt\u003c/h1\u003e\n  \u003cp\u003eA simple command-line markdown todo list manager inspired by \u003ca href=\"https://github.com/sjl/t\"\u003et\u003c/a\u003e\u003c/p\u003e\n  \u003cimg src=\"mdt.gif\" alt=\"Demo\" width=\"800\"\u003e\n  \u003cp\u003e\n    \u003csub\u003e\n      Demo GIF using \u003ca href=https://starship.rs/\u003estarship\u003c/a\u003e prompt, \u003ca href=https://github.com/kyoz/purify\u003epurify\u003c/a\u003e theme, \u003ca href=https://www.jetbrains.com/lp/mono/\u003eJetBrains Mono\u003c/a\u003e font, along with \u003ca href=https://nvchad.com\u003eNvChad\u003c/a\u003e and \u003ca href=https://github.com/siduck/st\u003est\u003c/a\u003e\n    \u003c/sub\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n  \n## :sparkles: Features\n\n- Minimal set of functionality designed to finish tasks instead of organizing them.\n- Flexible, future-proof markdown file format that you can use to add additional context and notes to your tasks.\n- Nice, interactive command-line interface to quickly capture and check tasks.\n\n## :package: Dependencies\n\n- POSIX-compliant shell (dash, bash, zsh etc.)\n- [gum](https://github.com/charmbracelet/gum#installation)\n\n## :rocket: Installation\n\n### Arch Linux\n\n```sh\nparu -S mdt # or with your AUR helper of choice\n```\n\n### macOS (Homebrew)\n\n```sh\nbrew install mdt\n```\n\n### Manually with `make`\n\n```sh\n# Clone the repo\ngit clone https://github.com/basilioss/mdt\n\n# Change your current directory to mdt\ncd mdt\n\n# Install\nsudo make install\n\n# Update\ngit pull\nsudo make install\n\n# Remove\nsudo make uninstall\n```\n\n### Manually with `curl`\n\n```sh\n# Download\ncurl -L https://raw.githubusercontent.com/basilioss/mdt/main/mdt \u003e mdt\n# Make it executable\nchmod +x mdt\n# Move it somewhere in your $PATH\nmv mdt ~/.local/bin\n```\n\n## :gear: Configuration\n\n| Option             | Environment Variable   | Description                                                                                                          |\n| ------------------ | ---------------------  | -------------------------------------------------------------------------------------------------------------------- |\n| -d, --dir          | MDT_DIR                | Path to the tasks directory. By default the current working directory.                                               |\n| -i, --inbox        | MDT_INBOX              | Path to the inbox file. By default \"TODO.md\".                                                                        |\n| -m, --add-multiple | MDT_ADD_MULTIPLE_TASKS | Add multiple tasks at once.                                                                                          |\n| -u, --unite-tasks  | MDT_UNITE_TASKS        | List all tasks in the file. By default false, if tasks are separated by headings, mdt will prompt you to select one. |\n| --color            | MDT_MAIN_COLOR         | Main color.                                                                                                          |\n| --prompt           | MDT_PROMPT             | Input prompt character. Default is '◆'.                                                                              |\n| --cursor           | MDT_CURSOR             | Selection character. Default is '➔'.                                                                                 |\n| --item-width       | MDT_ITEM_WIDTH         | Todo items width. 0 for no wrap, default is 75.                                                                      |\n| --input-width      | MDT_INPUT_WIDTH        | Input prompt width. 0 for no wrap, default is 65.                                                                    |\n| --editor           | MDT_EDITOR, EDITOR     | Markdown file editor.                                                                                                |\n|                    | MDT_CHECKBOX_PREFIX    | Prefix of markdown checkboxes `[ ]`/`[x]`. Default is '-'.                                                           |\n\nExamples of using options:\n\n```sh\n# Static path to the inbox\nalias mdt='mdt --dir ~/tasks --inbox ~/tasks/inbox.md'\n# Dynamic path to the inbox\nalias mdt='mdt --dir ~/tasks --inbox ~/tasks/\"$(date -I).md\"'\n```\n\nExamples of using environment variables:\n\n```sh\nexport MDT_MAIN_COLOR='#5FAFFF'\nexport MDT_EDITOR='nvim -c \"set nonumber\"'\n```\n\n## :keyboard: Keybindings\n\n| Keybinding                   | Description         |\n| ---------------------------- | ------------------- |\n| ↓/↑, j/k, Ctrl+j/k, Ctrl+n/p | Move up/down        |\n| ←/→, g/G                     | Move top/bottom     |\n| Tab/Space/x                  | Select              |\n| a/A                          | Select/unselect all |\n| Enter                        | Accept              |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilioss%2Fmdt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasilioss%2Fmdt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasilioss%2Fmdt/lists"}