GitXplorerGitXplorer
s

mind

public
49 stars
2 forks
4 issues

Commits

List of commits on branch master.
Unverified
2a3dbaec9f521008b283ed95355079aa3c832a39

Bump serde_yaml from 0.9.16 to 0.9.19

ddependabot[bot] committed 2 years ago
Unverified
68faa1d20f87f9b5df930c4b70275e45e744b1eb

Bump serde from 1.0.152 to 1.0.154

ddependabot[bot] committed 2 years ago
Verified
64bc1955bcd8a65639ea799444e0cb83c5980906

Fix readme

ssayanarijit committed 2 years ago
Verified
3ad0abb0f495ee548a3fb40bf4bfaf8abc9f80b0

Upgrade deps

ssayanarijit committed 2 years ago
Verified
63b017779fbdc68d65d4e601ff2cb8e7f8ef548d

Add Nix flake

ssayanarijit committed 2 years ago
Verified
606e0bb84e27a2aba58358907815f178685fdf2e

Update README.md

ssayanarijit committed 3 years ago

README

The README file for this repository.

Announcement: I'm back maintaining mind

I halted maintaining this project for some time since I wasn't using it. But I eventually started using it again with a somewhat different workflow. I'm glad that the simple and minimalistic nature of this tool turned out to be suitable for multiple productivity workflows. So, I'll hardly be adding more features to it. But improving the current features and apis could be done.

A productive mind has an empty stack

Crates.io

asciicast

The philosophy

mind follows the following philosophy

A productive mind has an empty stack.

Explaination:

Sometimes we have too much on our mind but neither the traditional check boxes, nor the kanban board works for us. This is because our mind executes the tasks in LIFO approach like a stack.

The longer we hold a task in the stack of our mind, the more productivity it will lose. Also, trying multitasking with this stack can cause unpredictable results.

We need to execute them as early as possible. But one by one.

mind makes it easy to work with the stack of our own mind. It uses this simple formula to measure the current productivity level of our mind and uses the appropriate colors to represent the state.

p = O - b

Where p is productivity, O is the optimal (desired) productivity, and b is backlog.

In other words, the more tasks you keep on your mind and the longer you keep them there, the less productive you will become.

You want to keep this stack empty.

Install

You need cargo to install mind.

cargo install mind

A productive mind can push and pop tasks into it's stack efficiently

Push tasks into the mind stack (or continue with an existing task)

mind

# Enter the names for the tasks to push.
# Press [ENTER] again to save the added tasks.

Pop the current task from the mind stack

mind pop

# Alias
mind p

Or while in interactive mode

/pop

# Alias
/p

Supported commands in both CLI and interactive mode

Command Aliases Action
{num} Continue with the task at the given position
pop p Pop out the current task
pop {num} p {num} Pop out the task at the given position
edit e Edit the current task
edit {num} e {num} Edit the task at the given position
edit reminders e r Edit the reminders
get g Get details of the current task
get {num} g {num} Get details of the task at the given position
remind r Turn the current task into a reminder
remind {num} r {num} Turn the specified task into a reminder

Examples

Example 1: Add all the TODO and FIXME items from the codebase.

grep -nR TODO . | mind
grep -nR FIXME . | mind

Example 2: Continue with the task positioned at [3]

  • CLI mode
mind 3
  • Interactive mode
/3

Example 3: Pop the task positioned at [3]

  • CLI mode
mind p 3
  • Interactive mode
/p 3

Example 4: Edit the task positioned at [3]

  • CLI mode
mind e 3
  • Interactive mode
/e 3

Example 5: Get details of the task positioned at [3]

  • CLI mode
mind g 3
  • Interactive mode
/g 3

A productive mind can remind itself of the pending and repeating tasks

mind edit reminders

# Or

mind e r

# Or in the interactive mode

/e r

Add the reminders in the following format

# This reminder will disappear once executed.

- name: Test reminder once on 10 July 2020, at 8 am IST
  when: "2020-07-10T08:00:00+05:30"
  repeat: Never

# The following reminders will reschedule themselves.

- name: "Test reminder everyday at 10:30 pm IST"
  when: "2020-07-10T22:30:00+05:30"
  repeat: EveryDay

- name: "Test reminder every other day at 10:30 pm IST"
  when: "2020-07-10T22:30:00+05:30"
  repeat:
    EveryNthDay: 2

- name: Test reminder every week at 11 am IST
  when: "2020-07-10T11:00:00+05:30"
  repeat: EveryWeek

- name: Test reminder every 3rd week at 11 am IST
  when: "2020-07-10T11:00:00+05:30"
  repeat:
    EveryNthWeek: 3

- name: "Test reminder every saturday and sunday at 9:15 am IST"
  when: "2020-07-10T09:15:00+05:30"
  repeat:
    Weekdays:
      - Sat
      - Sun

- name: "Test reminder every 2nd saturday at 9:15 am IST"
  when: "2020-07-10T09:15:00+05:30"
  repeat:
    EveryNthWeekday:
      n: 2
      weekday: Sat

I'll keep adding features (small or big) and keep improving the code quality while I learn more cool ways to be productive and become a better developer.