{"id":17954434,"url":"https://github.com/sayanarijit/mind","last_synced_at":"2025-06-19T07:07:49.494Z","repository":{"id":44754294,"uuid":"276379490","full_name":"sayanarijit/mind","owner":"sayanarijit","description":"A productive mind has an empty stack","archived":false,"fork":false,"pushed_at":"2025-03-25T14:03:42.000Z","size":114,"stargazers_count":51,"open_issues_count":4,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-05T00:11:21.989Z","etag":null,"topics":["command-line","reminder","rust","tasks","todo"],"latest_commit_sha":null,"homepage":"https://mind.cli.rs","language":"Rust","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/sayanarijit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":["sayanarijit"],"patreon":null,"open_collective":null,"ko_fi":"sayanarijit","tidelift":null,"community_bridge":null,"liberapay":"sayanarijit","issuehunt":null,"otechie":null,"custom":null}},"created_at":"2020-07-01T13:03:42.000Z","updated_at":"2025-03-25T14:03:46.000Z","dependencies_parsed_at":"2024-10-29T10:38:02.952Z","dependency_job_id":null,"html_url":"https://github.com/sayanarijit/mind","commit_stats":{"total_commits":75,"total_committers":3,"mean_commits":25.0,"dds":"0.30666666666666664","last_synced_commit":"2a3dbaec9f521008b283ed95355079aa3c832a39"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sayanarijit/mind","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayanarijit%2Fmind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayanarijit%2Fmind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayanarijit%2Fmind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayanarijit%2Fmind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sayanarijit","download_url":"https://codeload.github.com/sayanarijit/mind/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sayanarijit%2Fmind/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260705873,"owners_count":23049493,"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":["command-line","reminder","rust","tasks","todo"],"created_at":"2024-10-29T10:16:27.069Z","updated_at":"2025-06-19T07:07:44.482Z","avatar_url":"https://github.com/sayanarijit.png","language":"Rust","funding_links":["https://github.com/sponsors/sayanarijit","https://ko-fi.com/sayanarijit","https://liberapay.com/sayanarijit"],"categories":[],"sub_categories":[],"readme":"\u003e **Announcement:** I'm back maintaining mind\n\u003e\n\u003e I halted maintaining this project for some time since I wasn't using it.\n\u003e But I eventually started using it again with a somewhat different workflow.\n\u003e I'm glad that the simple and minimalistic nature of this tool turned out to\n\u003e be suitable for multiple productivity workflows. So, I'll hardly be adding\n\u003e more features to it. But improving the current features and apis could be\n\u003e done.\n\n# A productive mind has an empty stack\n\n[![Crates.io](https://img.shields.io/crates/v/mind.svg)](https://crates.io/crates/mind)\n\n[![asciicast](https://asciinema.org/a/345440.svg)](https://asciinema.org/a/345440)\n\n## The philosophy\n\n[mind](https://github.com/sayanarijit/mind) follows the following philosophy\n\n\u003e **_A productive mind has an empty stack._**\n\nExplaination:\n\nSometimes we have too much on our mind but neither the traditional check boxes, nor\nthe kanban board works for us. This is because our mind executes the tasks in\n[LIFO](\u003chttps://en.wikipedia.org/wiki/LIFO_(education)\u003e) approach like a\n[stack](\u003chttps://en.wikipedia.org/wiki/Stack_(abstract_data_type)\u003e).\n\nThe longer we hold a task in the stack of our mind, the more productivity it will\nlose. Also, trying multitasking with this stack can cause unpredictable results.\n\nWe need to execute them as early as possible. But one by one.\n\n[mind](https://github.com/sayanarijit/mind) makes it easy to work with the stack\nof our own mind. It uses this simple formula to measure the current productivity\nlevel of our mind and uses the appropriate colors to represent the state.\n\n\u003e **_p = O - b_**\n\u003e\n\u003e Where **_p_** is productivity, **_O_** is the optimal (desired) productivity,\n\u003e and **_b_** is backlog.\n\nIn other words, the more tasks you keep on your mind and the longer you keep them\nthere, the less productive you will become.\n\nYou want to keep this stack empty.\n\n## Install\n\nYou need [cargo to install mind](https://www.rust-lang.org/tools/install).\n\n```bash\ncargo install mind\n```\n\n## A productive mind can push and pop tasks into it's stack efficiently\n\nPush tasks into the mind stack (or continue with an existing task)\n\n```bash\nmind\n\n# Enter the names for the tasks to push.\n# Press [ENTER] again to save the added tasks.\n```\n\nPop the current task from the mind stack\n\n```bash\nmind pop\n\n# Alias\nmind p\n```\n\nOr while in interactive mode\n\n```bash\n/pop\n\n# Alias\n/p\n```\n\nSupported commands in both CLI and interactive mode\n\n| Command        | Aliases | Action                                        |\n| -------------- | ------- | --------------------------------------------- |\n| {num}          |         | Continue with the task at the given position  |\n| pop            | p       | Pop out the current task                      |\n| pop {num}      | p {num} | Pop out the task at the given position        |\n| edit           | e       | Edit the current task                         |\n| edit {num}     | e {num} | Edit the task at the given position           |\n| edit reminders | e r     | Edit the reminders                            |\n| get            | g       | Get details of the current task               |\n| get {num}      | g {num} | Get details of the task at the given position |\n| remind         | r       | Turn the current task into a reminder         |\n| remind {num}   | r {num} | Turn the specified task into a reminder       |\n\n## Examples\n\nExample 1: Add all the `TODO` and `FIXME` items from the codebase.\n\n```bash\ngrep -nR TODO . | mind\ngrep -nR FIXME . | mind\n```\n\nExample 2: Continue with the task positioned at `[3]`\n\n- CLI mode\n\n```bash\nmind 3\n```\n\n- Interactive mode\n\n```bash\n/3\n```\n\nExample 3: Pop the task positioned at `[3]`\n\n- CLI mode\n\n```bash\nmind p 3\n```\n\n- Interactive mode\n\n```bash\n/p 3\n```\n\nExample 4: Edit the task positioned at `[3]`\n\n- CLI mode\n\n```bash\nmind e 3\n```\n\n- Interactive mode\n\n```bash\n/e 3\n```\n\nExample 5: Get details of the task positioned at `[3]`\n\n- CLI mode\n\n```bash\nmind g 3\n```\n\n- Interactive mode\n\n```bash\n/g 3\n```\n\n## A productive mind can remind itself of the pending and repeating tasks\n\n```bash\nmind edit reminders\n\n# Or\n\nmind e r\n\n# Or in the interactive mode\n\n/e r\n```\n\nAdd the reminders in the following format\n\n```yaml\n# This reminder will disappear once executed.\n\n- name: Test reminder once on 10 July 2020, at 8 am IST\n  when: \"2020-07-10T08:00:00+05:30\"\n  repeat: Never\n\n# The following reminders will reschedule themselves.\n\n- name: \"Test reminder everyday at 10:30 pm IST\"\n  when: \"2020-07-10T22:30:00+05:30\"\n  repeat: EveryDay\n\n- name: \"Test reminder every other day at 10:30 pm IST\"\n  when: \"2020-07-10T22:30:00+05:30\"\n  repeat:\n    EveryNthDay: 2\n\n- name: Test reminder every week at 11 am IST\n  when: \"2020-07-10T11:00:00+05:30\"\n  repeat: EveryWeek\n\n- name: Test reminder every 3rd week at 11 am IST\n  when: \"2020-07-10T11:00:00+05:30\"\n  repeat:\n    EveryNthWeek: 3\n\n- name: \"Test reminder every saturday and sunday at 9:15 am IST\"\n  when: \"2020-07-10T09:15:00+05:30\"\n  repeat:\n    Weekdays:\n      - Sat\n      - Sun\n\n- name: \"Test reminder every 2nd saturday at 9:15 am IST\"\n  when: \"2020-07-10T09:15:00+05:30\"\n  repeat:\n    EveryNthWeekday:\n      n: 2\n      weekday: Sat\n```\n\nI'll keep adding features (small or big) and keep improving the code quality\nwhile I learn more cool ways to be productive and become a better developer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayanarijit%2Fmind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsayanarijit%2Fmind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsayanarijit%2Fmind/lists"}