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 it.

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.

bash 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)

```bash 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

```bash mind pop

Alias

mind p ```

Or while in interactive mode

```bash /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

Examples

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

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

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

bash mind 3

bash /3

Example 3: Pop the task positioned at [3]

bash mind p 3

bash /p 3

Example 4: Edit the task positioned at [3]

bash mind e 3

bash /e 3

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

bash mind g 3

bash /g 3

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

```bash mind edit reminders

Or

mind e r

Or in the interactive mode

/e r ```

Add the reminders in the following format

```yaml

This reminder will disappear once executed.

The following reminders will reschedule themselves.

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.