mytasks

module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2020 License: GPL-3.0

README

mytasks

MyTasks is a simple solution to manage your tasks and notes across multiple boards from within your terminal. MyTasks is heavily inspired by taskbook with some minor improvements.

Features

  • Organize your tasks and notes
  • Lightweight tool
  • Manage tasks effectively
  • Archive notes / tasks
  • Restore archive notes / tasks
  • Favorite mechanism
  • Support of multiple display modes
  • Simple usage syntax
  • Workspace support
  • Search & filter mechanism
  • Tasks due date & custom notification

Roadmap

  • Custom template

Installation

You can install the package using go tool

$ go get -u github.com/benzid-wael/mytasks

IF you want to install only the cli tool

$ go get -u github.com/benzid-wael/mytasks/cmd/mytasks

I recommend installing it using bingo

$ bingo install github.com/benzid-wael/mytasks/cmd/mytasks@v0.0.1

Later you can uninstall it using this command

$ bingo uninstall mytasks

Usage

Creating new task
$ mytasks task --title "Learn golang" --tags coding --tags golang
Creating new note
$ mytasks note --title "Golang is all about types" --tags golang
Special Boards

When you call mytasks without specifying any command, mytasks will display all tasks in any of the following board and in the following order:

  • Today List contains list of most important tasks (high priority ones)
  • Tomorrow List contains list of less important tasks, that you should pick from when you don't have anything in your Today List
  • Next List: Contains list of anything else (low-priority tasks)

Please note that in this version, this feature is dump and we don't generate this list dynamically. Instead, you need to manage it yourself.

To create a task in your today's list:

$ mytasks note --title "Golang is all about types" --tags Today
Display available tasks and notes

As per now, we support two display modes:

  • Timeline view where items are grouped per creation date
  • Board view where items are grouped per board. A board is identified by a unique tag

To display the timeline view, run this command

$ mytasks timeline

In order to display the board view, you need to use board command

$ mytasks board

For further control, you need to use list command which allow you to filter items by specific attributes. As per current version, we support the following attributes:

  • status: Keep only items with given status
  • type: Keeps only items with given type. Supported types: note and task
  • due-date: Keeps only items due on the given due date, format: YYYY-MM-DD
  • created-before: Keeps items created before given date, format: YYYY-MM-DD
  • created-after: Keeps items created before given date, format: YYYY-MM-DD
  • exclude: Exclude given boards
  • tags: Include only given boards
Install Notification Jobs

MyTasks comes with a command to remind you with tasks about to be due

To get notifcations about tasks to be due within the next 2 hours, you need to run the following command

$ mytasks-notifier notify --before 120

In practice, you need to add cron jobs using your cron daemon or any similar system. To add job that remind me every 15 minutes about task due within 2 hours, you need to do the following:

$ crontab -e

and then add the following line and save:

*/15 * * * * mytasks-notifier notify --before 120

For further information about crontab expression, you can check crontab.guru website

Directories

Path Synopsis
bin
cli Module
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL