Giter Club home page Giter Club logo

taskbook's Introduction

Taskbook

Tasks, boards & notes for the command-line habitat

Boards

Build Status

Description

By utilizing a simple and minimal usage syntax, that requires a flat learning curve, taskbook enables you to effectively manage your tasks and notes across multiple boards from within your terminal. All data are written atomically to the storage in order to prevent corruptions, and are never shared with anyone or anything. Deleted items are automatically archived and can be inspected or restored at any moment.

Read this document in: 简体中文, Русский, Français, Deutsch, Portuguese, 日本語, 한국어, Spanish, Bulgarian.

You can now support the development process through GitHub Sponsors.

Visit the contributing guidelines to learn more on how to translate this document into more languages.

Come over to Gitter or Twitter to share your thoughts on the project.

Highlights

  • Organize tasks & notes to boards
  • Board & timeline views
  • Priority & favorite mechanisms
  • Search & filter items
  • Archive & restore deleted items
  • Lightweight & fast
  • Data written atomically to storage
  • Custom storage location
  • Progress overview
  • Simple & minimal usage syntax
  • Update notifications
  • Configurable through ~/.taskbook.json
  • Data stored in JSON file at ~/.taskbook/storage

View highlights in a taskbook board.

Contents

Install

Yarn

yarn global add taskbook

NPM

npm install --global taskbook

Snapcraft

snap install taskbook
snap alias taskbook tb # set alias

Note: Due to the snap's strictly confined nature, both the storage & configuration files will be saved under the $SNAP_USER_DATA environment variable instead of the generic $HOME one.

Usage

$ tb --help

  Usage
    $ tb [<options> ...]

    Options
        none             Display board view
      --archive, -a      Display archived items
      --begin, -b        Start/pause task
      --check, -c        Check/uncheck task
      --clear            Delete all checked items
      --copy, -y         Copy item description
      --delete, -d       Delete item
      --edit, -e         Edit item description
      --find, -f         Search for items
      --help, -h         Display help message
      --list, -l         List items by attributes
      --move, -m         Move item between boards
      --note, -n         Create note
      --priority, -p     Update priority of task
      --restore, -r      Restore items from archive
      --star, -s         Star/unstar item
      --task, -t         Create task
      --timeline, -i     Display timeline view
      --version, -v      Display installed version

    Examples
      $ tb
      $ tb --archive
      $ tb --begin 2 3
      $ tb --check 1 2
      $ tb --clear
      $ tb --copy 1 2 3
      $ tb --delete 4
      $ tb --edit @3 Merge PR #42
      $ tb --find documentation
      $ tb --list pending coding
      $ tb --move @1 cooking
      $ tb --note @coding Mergesort worse-case O(nlogn)
      $ tb --priority @3 2
      $ tb --restore 4
      $ tb --star 2
      $ tb --task @coding @reviews Review PR #42
      $ tb --task @coding Improve documentation
      $ tb --task Make some buttercream
      $ tb --timeline

Views

Board View

Invoking taskbook without any options will display all saved items grouped into their respective boards.

Boards

Timeline View

In order to display all items in a timeline view, based on their creation date, the --timeline/-i option can be used.

Timeline View

Configuration

To configure taskbook navigate to the ~/.taskbook.json file and modify any of the options to match your own preference. To reset back to the default values, simply delete the config file from your home directory.

The following illustrates all the available options with their respective default values.

{
  "taskbookDirectory": "~",
  "displayCompleteTasks": true,
  "displayProgressOverview": true
}

In Detail

taskbookDirectory
  • Type: String
  • Default: ~

Filesystem path where the storage will be initialized, i.e: /home/username/the-cloud or ~/the-cloud

If left undefined the home directory ~ will be used and taskbook will be set-up under ~/.taskbook/.

displayCompleteTasks
  • Type: Boolean
  • Default: true

Display tasks that are marked as complete.

displayProgressOverview
  • Type: Boolean
  • Default: true

Display progress overview below the timeline and board views.

Flight Manual

The following is a minor walkthrough containing a set of examples on how to use taskbook. In case you spotted an error or think that an example is not to clear enough and should be further improved, please feel free to open an issue or pull request.

Create Task

To create a new task use the --task/-t option with your task's description following right after.

$ tb -t Improve documentation

Create Note

To create a new note use the --note/-n option with your note's body following right after.

$ tb -n Mergesort worse-case O(nlogn)

Create Board

Boards are automatically initialized when creating a new task or note. To create one or more boards, include their names, prefixed by the @ symbol, in the description of the about-to-be created item. As a result the newly created item will belong to all of the given boards. By default, items that do not contain any board names in their description are automatically added to the general purpose; My Board.

$ tb -t @coding @docs Update contributing guidelines

Check Task

To mark a task as complete/incomplete, use the --check/-c option followed by the ids of the target tasks. Note that the option will update to its opposite the complete status of the given tasks, thus checking a complete task will render it as pending and a pending task as complete. Duplicate ids are automatically filtered out.

$ tb -c 1 3

Begin Task

To mark a task as started/paused, use the --begin/-b option followed by the ids of the target tasks. The functionality of this option is the same as the one of the above described --check option.

$ tb -b 2 3

Star Item

To mark one or more items as favorite, use the --star/-s option followed by the ids of the target items. The functionality of this option is the same as the one of the above described --check option.

$ tb -s 1 2 3

Copy Item Description

To copy to your system's clipboard the description of one or more items, use the --copy/-y option followed by the ids of the target items. Note that the option will also include the newline character as a separator to each pair of adjacent copied descriptions, thus resulting in a clear and readable stack of sentences on paste.

$ tb -y 1 2 3

Display Boards

Invoking taskbook without any options will display all of saved items grouped into their respective boards.

$ tb

Display Timeline

In order to display all items in a timeline view, based on their creation date, the --timeline/-i option can be used.

$ tb -i

Set Priority

To set a priority level for a task while initializing it, include the p:x syntax in the task's description, where x can be an integer of value 1, 2 or 3. Note that all tasks by default are created with a normal priority - 1.

  • 1 - Normal priority
  • 2 - Medium priority
  • 3 - High priority
$ tb -t @coding Fix issue `#42` p:3

To update the priority level of a specific task after its creation, use the --priority/-p option along with the id the target task, prefixed by the @ symbol, and an integer of value 1, 2 or 3. Note that the order in which the target id and priority level are placed is not significant.

$ tb -p @1 2

Move Item

To move an item to one or more boards, use the --move/-m option, followed by the target item id, prefixed by the @ symbol, and the name of the destination boards. The default My board can be accessed through the myboard keyword. The order in which the target id and board names are placed is not significant.

$ tb -m @1 myboard reviews

Delete Item

To delete one or more items, use the --delete/-d options followed by the ids of the target items. Note that deleted items are automatically archived, and can be inspected or restored at any moment. Duplicate ids are automatically filtered out.

$ tb -d 1 2

Delete Checked Tasks

To delete/clear all complete tasks at once across all boards, use the --clear option. Note that all deleted tasks are automatically archived, and can be inspected or restored at any moment. In order to discourage any possible accidental usage, the --clear option has no available shorter alias.

$ tb --clear

Display Archive

To display all archived items, use the --archive/-a option. Note that all archived items are displayed in timeline view, based on their creation date.

$ tb -a

Restore Items

To restore one or more items, use the --restore/-r option followed by the ids of the target items. Note that the ids of all archived items can be seen when invoking the --archive/-a option. Duplicate ids are automatically filtered out.

$ tb -r 1 2

List Items

To list a group of items where each item complies with a specific set of attributes, use the --list/-l option followed by the desired attributes. Board names along with item traits can be considered valid listing attributes. For example to list all items that belong to the default myboard and are pending tasks, the following could be used;

$ tb -l myboard pending

The by default supported listing attributes, together with their respective aliases, are the following;

  • myboard - Items that belong to My board
  • task, tasks, todo - Items that are tasks.
  • note, notes - Items that are notes.
  • pending, unchecked, incomplete - Items that are pending tasks.
  • progress, started, begun - Items that are in-progress tasks.
  • done, checked, complete - Items that complete tasks.
  • star, starred - Items that are starred.

Search Items

To search for one of more items, use the --find/-f option, followed by your search terms.

$ tb -f documentation

Development

For more info on how to contribute to the project, please read the contributing guidelines.

  • Fork the repository and clone it to your machine
  • Navigate to your local fork: cd taskbook
  • Install the project dependencies: npm install or yarn install
  • Lint the code for errors: npm test or yarn test

Related

  • signale - Highly configurable logging utility
  • qoa - Minimal interactive command-line prompts
  • hyperocean - Deep oceanic blue Hyper terminal theme

Team

License

MIT

taskbook's People

Contributors

allen-munsch avatar aosagie avatar ashinzekene avatar astronomersiva avatar chinanf-boy avatar codehearts avatar danielruf avatar gebeto avatar hatelove85911 avatar jalandis avatar johnlunney avatar joshuacrocker avatar junebuug avatar klaudiosinani avatar librafrog avatar maltemo avatar mariosinani avatar modulated avatar php-coder avatar pyohei avatar roccomuso avatar rosuh avatar samsawan avatar villabunterkunt avatar zhadyrassyn avatar zhongyuanjia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

taskbook's Issues

Feature Request: Allow for color customization

Is your feature request related to a problem? Please describe.
It is extremely difficult to read Taskbook's output with my terminal colors

Describe the solution you'd like
Because terminal styling is highly irregular, allowing users to configure the color hexes in the ~/.taskbook.json would be the ideal solution.

Additional context
image

This is on iTerm 2 Build 3.2.20180723-nightly in ZSH, with theme "af-magic"

Rename boards

Is your feature request related to a problem? Please describe.
Can't rename boards once created or no clear way to do it.

Describe the solution you'd like
Something like: $ tb -e MyTasks Todos could rename a MyTasks board to Todos…

In archive listing, show checked off date instead of created date

Is your feature request related to a problem? Please describe.
Viewing archived tasks/notes are sorted by the date they were created.

Describe the solution you'd like
An option to display this archived data by date checked off/deleted.

Optionally, display time differential between task creation and task completion.

Additional context
N/A

Autocompletion

Is your feature request related to a problem? Please describe.
I want shell to autocomplete.

Describe the solution you'd like
Implement and install autocompletion.

Simple environment error

Describe the bug
I try to run tb and I get an error.

To Reproduce
Install npm install --global taskbook in whatever env I have, and run tb/.

Expected behavior
A clear and concise description of what you expected to happen.

Here's the error I get:

$ tb

  My Board [0/1]
/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/node_modules/signale/signale.js:198
      signale.push(chalk[type.color](type.badge.padEnd(type.badge.length + 1)));
                                                ^

TypeError: type.badge.padEnd is not a function
    at Signale._buildSignale (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/node_modules/signale/signale.js:198:49)
    at Signale._logger (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/node_modules/signale/signale.js:257:20)
    at Render._displayItemByBoard (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/lib/render.js:112:45)
    at items.forEach.item (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/lib/render.js:146:14)
    at Array.forEach (native)
    at Object.entries.forEach (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/lib/render.js:142:13)
    at Array.forEach (native)
    at Render.displayByBoard (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/lib/render.js:137:26)
    at Taskbook.displayByBoard (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/lib/taskbook.js:346:12)
    at taskbookCLI (/Users/myuser/.nvm/versions/node/v7.10.0/lib/node_modules/taskbook/index.js:60:12)

Sync with Trello

Is your feature request related to a problem? Please describe.
I have some ongoing projects in trello, I want to sync my scope of issues between this local system and trello, so my team can follow my progress.

Describe the solution you'd like
Sync switch that synchronizes the local board with trello.

Org-mode compatibility

Describe the solution you'd like
I would love to be able to edit org-mode files with taskbook.

Additional context
Org-mode is quite extensive, merely a subset of it would already be great!

Main program just fails to run

Running tb throws an exception and quits:

/usr/local/lib/node_modules/taskbook/lib/taskbook.js:68
    Object.entries(this._data).forEach(([_, item]) => {
           ^

TypeError: Object.entries is not a function
    at Taskbook._getBoards (/usr/local/lib/node_modules/taskbook/lib/taskbook.js:68:12)
    at Taskbook._groupByBoard (/usr/local/lib/node_modules/taskbook/lib/taskbook.js:238:50)
    at Taskbook.displayByBoard (/usr/local/lib/node_modules/taskbook/lib/taskbook.js:346:32)
    at taskbookCLI (/usr/local/lib/node_modules/taskbook/index.js:60:12)
    at Object.<anonymous> (/usr/local/lib/node_modules/taskbook/cli.js:68:1)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:456:32)
    at tryModuleLoad (module.js:415:12)
    at Function.Module._load (module.js:407:3)

To Reproduce

  1. Install via npm install --global taskbook
  2. Run tb

Technical Info

  • OS: MacOS High Sierra
  • Node.js Version: v6.1.0
  • Npm version: 3.8.6
  • Taskbook Version: 0.1.1

Don't hide taskbook directories

Is your feature request related to a problem? Please describe.

Taskbook stores its metadata under ~/.taskbook/, e.g.

  • ~/.taskbook/.archive
  • ~/.taskbook/.storage

If configure my taskbook config to point to say, /Users/me/google drive/taskbook, it will create the .archive and .storage folders in there.

As they are hidden, the google drive client won't sync them

Describe the solution you'd like

Under the taskbook directory, all data within should not be hidden

e.g.

/Users/me/google_drive/taskbook/archive
/Users/me/google_drive/taskbook/storage

Feature Request: Delete Boards, including tasks/notes

Is your feature request related to a problem? Please describe.
Suppose I have a Board named, "@Test"
and inside that board, I have a few tasks/notes,
i.e.

@Test
    2. [ ] task 1
    3.  *  note 1
    6. [ ] task 2 (though do note that this is non-sequential)

to delete this, from my understanding, I'd need to run the command

tb -d 2 3 6

While this is fine for most boards, I just went to delete a board that had 20+ items, and as you can imagine, it was a little bit tedious making sure I didn't delete the wrong numbered item.

Describe the solution you'd like
Why not instead of having to type

tb -d 2 3 6

I just have to type

tb -d @Test

And remove all the items in that board (including the respective board)

This is a really cool little tool, aside from this small inconvenience, I'm really enjoying just how usable it is!

tb --help should be aliased to tb -h

Is your feature request related to a problem? Please describe.

$ tb -h doesn't launch the help menu.

Describe the solution you'd like
A clear and concise description of what you want to happen.

$ tb -h should launch the help menu.

Feature Request: Reset task nubmer

Is your feature request related to a problem? Please describe.
For example, If I created 3 tasks, they are:

1. task 1
2. task 2
3. task 3

Then, I delete @3, and create a new task 4. The new task will be created as number 4

1. task 1
2. task 2
4. task 4

I can imagine if I use taskbook for a long time. I will have maybe only 1 task in the list, but its number could be @99999, which is a bit inconvenience to type more digits.

Describe the solution you'd like
Is it possible to separate task id (which is unique in json) and task number (showing in the list)? And task number is recyclable, for the case above, it should show:

1. task 1
2. task 2
3. task 4

Sync with android phone

This would be perfect if I could see and edit the same tasks on my phone.

A way to export this so that it can be imported into a todo.txt compatible app better still would be an app for this application.

Characters dont display in wsl

Describe the bug
The checkbox(on/off) do not display properly in windows subsystem for linux(ubuntu). You just see the symol that is used when a character cannot be displayed.

To Reproduce
Install in wsl(window subsystem for linux)
Add task
run tb

Expected behavior
I should see checkbox

Screenshots
image

image

Technical Info (please complete the following information)

  • OS: windows 10, wsl(ubuntu)
  • Node.js Version: 10.4.1
  • Taskbook Version: 0.1.1

Additional context
Add any other context about the problem here.

taskbook: command not found

The prompt asking to type taskbook --help might have been intended to be tb --help.

~ $ tb

  Type `taskbook --help` to get started! ★

  0% of all tasks complete.
  0 done · 0 pending · 0 notes 

~ $ taskbook --help
-bash: taskbook: command not found

Feature Request: Delete range of tasks

Is your feature request related to a problem? Please describe.
If I have multiple tasks to delete and they were all created around the same time, it can become tiresome having to write lots of ids especially when they are sequential.

tb -d 1 2 3 4 5

Describe the solution you'd like
I would like to be able to type a command that can delete a range of tasks.

tb -d 1-5

It would also be good if one could specify multiple ranges together with single ids, for example:

tb -d 1-5 7 9-11

Thanks very much for this very useful tool!

Error in fresh install

Starting from a fresh Ubuntu Xenial install,

$> sudo npm install --global taskbook
$> tb --help
/usr/bin/env: ‘node’: No such file or directory
sudo ln -s  /usr/bin/nodejs /usr/bin/node
$> tb --help
/usr/local/lib/node_modules/taskbook/node_modules/meow/index.js:66
	const {pkg} = options;

Any ideas?

-- in a task description gets excluded

Describe the bug
A clear and concise description of what the bug is.

Two -s in a row get filtered out of the final output.

To Reproduce
Steps to reproduce the behavior.

image

image

Expected behavior
A clear and concise description of what you expected to happen.

Two dashes should have been present between "Any" and "Thing"

Screenshots
If applicable, add screenshots to help explain your problem.

Technical Info (please complete the following information)

  • OS: MacOS
  • Node.js Version: v10.6.0
  • Taskbook Version: 0.1.1

Taskbook output color

Is your feature request related to a problem? Please describe.
Taskbook's output becomes unreadable when the terminal background color is identical or similar
to the text color.

Describe the solution you'd like
Being able to change the text color with the taskbook config file would solve the problem and offer some customization.

I use the terminal emulator "Terminator".

Screenshots
tbbcolors

GitLab issues as a storage provider

Is your feature request related to a problem? Please describe.
Have you given any thoughts to allowing additional storage providers? I've been wanting to build a similar CLI task management tool, backed by GitLab issues using the API. But now I'm thinking...what if we expand taskbook to allow for N number of storage providers.

Describe the solution you'd like
Decouple storage from the file system, allowing anyone to write a shim between the taskbook data model and an external storage provider (think GitLab, GitHub issues or Trello/JIRA or S3, etc.)

Additional context
Spoiler alert: I work for GitLab 😄 🦊

Add Pomodoro style timer to tasks

Is your feature request related to a problem? Please describe.
The current functionality allows the user to create, close, adit, delete and mark tasks as done, but it doesn't provide a time tracking feature. It would be nice to add a Pomodoro style timer for added focus.

Describe the solution you'd like
Offer another option to start a task with a pomodoro timer. Once the time is up, the console will let the user know that it is done, and if the task should be crossed off, or if they need more time.

Additional context
I understand that taskbook is meant to be simple and minimalistic, but this feature would be nice to have.

A feature to export your saved, checked,stared tasks as PDF.

If we can have a feature to export a report of our tasks as pdf then it would be great, maybe automated generated reports on daily basis or weekly basis as a reference of what we did in an entire day or week. Coz data stored by taskbook is fragile we can delete it anytime, but PDF report are not.

May be PDFKit would be something useful.

Feel free to share your thoughts.

-v command doesn't show version information

Describe the bug
A clear and concise description of what the bug is.

$ tb -v doesn't show version information.

image

image

Technical Info (please complete the following information)

  • OS: MacOS High Sierra, 10.13.6
  • Node.js Version: v10.6.0
  • Taskbook Version: 0.1.1

Taskbook Logo

Hello there, saw your app on Reddit and immediately though that is has no logo. I have some designer friends that could make one. Happy to help if you would like. Appart from that the an other alternative designing option might be @arasatasaygin and open logos: https://github.com/arasatasaygin/openlogos, but there is a long process for that.
Please reach any time if you have considered my offer so I can contact my friends. Thank you for your time Klaus.

Maybe, we need a feature that get the tasks before/after the special date

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
At first , tb is a good tool for record my tasks. but I want to get the special tasks after the special date. Example:

if I type this:

tb --list done --after 20180804

then, I get all of the tasks which attr is done and item._timestamp is after 2018-08-04.

Why do I need? I can generate a week report to my boss. And tell him what I did last week.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Additional context
Add any other context or screenshots about the feature request here.

Assign a due date to a task

Is your feature request related to a problem? Please describe.
Right now there's no means of assigning a due date/time to tasks.

Describe the solution you'd like
Allow for setting a due date on tasks and display this alongside them (ideally in a human readable format).

$ tb -t Do something tomorrow due:tomorrow

$ tb -t Do something in 3 days due:3d

$ tb
    My Board [0/4]
      1. ☐  Pay bills (yesterday)  
      2. ☐  Team dinner (tomorrow)
      3. ☐  Approve PR #270 (3 days)

Creating task throws error `type.badge.padEnd is not a function`

Describe the bug
Trying to test out Taskbook, in running the following command tb -t @work test taskbook I get the following error:

taskbook/node_modules/signale/signale.js:198
      signale.push(chalk[type.color](type.badge.padEnd(type.badge.length + 1)));
                                                ^

TypeError: type.badge.padEnd is not a function
    at Signale._buildSignale (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/node_modules/signale/signale.js:198:49)
    at Signale._logger (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/node_modules/signale/signale.js:257:20)
    at Render.successCreate (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/lib/render.js:248:5)
    at Taskbook.createTask (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/lib/taskbook.js:325:12)
    at taskbookCLI (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/index.js:11:21)
    at Object.<anonymous> (/Users/jusopi/.brews/nvm/versions/node/v6.11.0/lib/node_modules/taskbook/cli.js:68:1)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)

To Reproduce

  1. install taskbook via npm install -g taskbook
  2. create new task tb -t @work test taskbook

Technical Info (please complete the following information)

  • OS: Mac OS 10.13.6
  • Node.js Version:
    • node: v6.11.0
    • npm: 3.10.10
  • Taskbook Version: 0.1.1

tb -h problem

Describe the bug
tb -h doesn't work the same as tb --help

To Reproduce
type tb --help and observe the output
type tb -h and observe the output

Expected behavior
Outputs should be the same

Screenshots
none

Technical Info (please complete the following information)

  • OS: macOS 10.13.4
  • Node.js Version: 10.7.0
  • Taskbook Version: 0.1.1

Additional context
I don't know JavaScript, but if I'm reading the code correctly then there's also a problem with "tb -v" (and I verified that that's true).

Consider making commands be commands instead of flags

taskbook uses flags for all of the actions it can do:

$ tb --task hello world
$ tb --check 1

These commands do not compose as flags would imply in a CLI, so they should probably just be commands and not flags:

$ tb task hello world
$ tb check 1

This makes it a lot easier to type stuff out, and more coherent with how other CLI apps work.

[Feature Request] Clean or Clear command to delete checked items

Describe the solution you'd like
A command that can be run to clean or clear all checked items. This would simply loop through and delete all checked items.

tb --clear or tb --clean

Additional context
I like to start my work day with a clean to do list. Meaning, there is no checked tasks on the board. Currently, I am accomplishing this by manually deleting all checked tasks
tb -d 113 115 116 117 120 121

But that approach is error prone. It is too easy to type an incorrect id.

By the way, LOVE the tool! Been using it daily since it was posted on HN a few days ago!

Adding git support

Is your feature request related to a problem? Please describe.
Love the interface, would love the ability to sync tasks to multiple computers

Describe the solution you'd like
Adding an optional git property to the config file that would auto git add . & git commit -m "Added task - Submitting a feature request to @personal" on each CRUD action (example here is on tb -t @personal Submitting a feature request.

Additional context
Wouldn't mind doing this myself, just thought I'd put it here first to prevent duplication of work.

Error While Installing For the first Time

Describe the bug
A clear and concise description of what the bug is
image
.

To Reproduce
Running Docker Container from node:8.10.0-stretch image.
then Running npm install --global taskbook

**Technical Info **

  • OS: Host Windows, vm docker node:8.10.0-stretch
  • Node.js Version: 8.10.0
  • Taskbook Version: latest

Option to display tasks from a particular board

Current commands to display tasks:
tb or tb --timeline

With many boards and tasks these options can result in an overwhelmingly large list. We do have the option to find with tb -f but this only matches text in the task and not board names.

It would be nice to have an option to display tasks from a particular board like this:
tb @some_board

resulting in only tasks from that board:
image

Incorrect help

Describe the bug
tb --help
in Options, show "--edit, -t"

To Reproduce
tb --help

Expected behavior
--edit, -e

Screenshots
image

Technical Info (please complete the following information)

  • OS: Windows 10
  • Node.js Version: 8.11.1
  • Taskbook Version: 0.1.1

Add task comments support

Is your feature request related to a problem? Please describe.
I want to see an option in which I could add a comment to a task and keep it all organized.
It would be nice to keep track on tasks that demands more than a few hours to finish.

Describe the solution you'd like
It would have something like `tb 1 --add-comment This task's on hold because of that.

Additional context
A plus would be if it has a feature to list comments enumerated with some option to edit/sort/remove comments.

Taskbook Directory doesn't support tilde home shortcut

Describe the bug
Using ~ to represent my home directory in the taskbookDirectory configuration option doesn't work.

To Reproduce

  • Set taskbookDirectory to a path like /Users/my_username/Dropbox/Taskbook
  • Run tb, and observe that Taskbook works as expected
  • Set taskbookDirectory to a path like ~/Dropbox/Taskbook
  • Run tb, and observe that Taskbook says: Custom app directory was not found on your system: ~/Dropbox/Taskbook

Expected behavior
The Taskbook directory, when using a tilde, should expand to /Users/my_username/Dropbox/Taskbook.

Technical Info (please complete the following information)

  • OS: macOS 10.13.6
  • Node.js Version: 10.7.0
  • Taskbook Version: 0.1.1

Running Taskbook thru watch disables colors

Is your feature request related to a problem? Please describe.
Terminal colors get disabled when running thru unix watch (at least on a Mac)

Describe the solution you'd like
Terminals colors should still be displayed when running watch with the --color option set.

Additional context

The tab on to is running watch --color tb, while the one on the bottom is simply running tb

screen shot 2018-08-01 at 13 50 33

Error when create boards

I try to create a task with specific board named @construbem, but when i run the code bellow, create my task in general board @my Board

image

Command tb not available

Describe the bug
I just have installed taskboard on my machine with npm install -g but after the successful installation the command tb was not found. I just use node with nvm, both other globally installed node commandline tools have no problems with that.

I checked the global bin folder where all executable node binaries are installed but no tb binary was there. (It's with nvm under ~/.nvm/versions/node/v10.4.1/bin

I checked

To Reproduce
Just install it with npm -g

Expected behavior

Screenshots

Technical Info (please complete the following information)

  • OS: Linux Ubuntu 16.04
  • Node.js Version: 10.4.3
  • Taskbook Version: latest
  • nvm version 0.33

Getting error on every execution

After installing, i get the following error:
tb --task some task
/usr/lib/node_modules/taskbook/node_modules/signale/signale.js:198
signale.push(chalk[type.color](type.badge.padEnd(type.badge.length + 1)));
^

TypeError: type.badge.padEnd is not a function
at Signale._buildSignale (/usr/lib/node_modules/taskbook/node_modules/signale/signale.js:198:49)
at Signale._logger (/usr/lib/node_modules/taskbook/node_modules/signale/signale.js:257:20)
at Render.successCreate (/usr/lib/node_modules/taskbook/lib/render.js:248:5)
at Taskbook.createTask (/usr/lib/node_modules/taskbook/lib/taskbook.js:325:12)
at taskbookCLI (/usr/lib/node_modules/taskbook/index.js:11:21)
at Object. (/usr/lib/node_modules/taskbook/cli.js:68:1)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)

Some details:
OS: Centos 7
NPM: 3.10.10
Node: v6.14.3

Feature Request: Sync task board with Git Repo?

This looks great! I like that the tasks are kept private, but I can also see a use case for teams wanting to collaborate.

How contained is the data kept on disk? Would it be easy to provide commands to sync up the data remotely via private git repos?

check uncheck tasks

Describe the bug
when you check an item that has already been checked the program returns item checked even though it actually becomes unchecked

To Reproduce
$ tb -t foo
$tb -c 1
$tb -c 1

Expected behavior
If I realized that what I had done wasn't actually done I would want to uncheck it so the program should return "# unchecked" if I run --check twice on an item

Screenshots
If applicable, add screenshots to help explain your problem.

Technical Info (please complete the following information)

  • OS: macOS (10.13.6)
  • Node.js Version: v8.11.3
  • Taskbook Version: 0.1.1

Additional context
Add any other context about the problem here.

Publish debian package?

Is your feature request related to a problem? Please describe.
This is a neat app and it clearly solves a useful problem (based on the response).

But the command line is ubiquitous and not all cli users are javascript devs who have / want to have npm installed.

Describe the solution you'd like
Come up with a way to remove the dependency on npm, using either existing transpilation tools to create binaries or via a port(?)

Port is less favorable option in my opinion, but I'm not enough of a JavaScript developer to be aware of options for creating binaries.

Additional context
This would also permit the creation of a lean debian package so those of us on *buntu could just apt-get install taskbook without pulling in dependencies. It further would increase the exposure of this nifty tool.

EDIT: Clearly there are stable options for binary releases. Issue is now whether debian packages are merited / desirable.

Add priority to task during task creation

I find myself frequently creating tasks that I know I'd like to give a priority of 2 or 3. However, the way this is done now is two steps:

tb -t 'My created task'
tb -p @<task_id> 2

It'd be great if we could have an option on the --task option to do one of the following:

tb -t -p=2 'My created task'
tb -t -p 2 'My created task'
tb -t 'My created task' -p 2 

Multiline task description

Is your feature request related to a problem? Please describe.

Add random thoughts (pieces of information) to a task item.

Describe the solution you'd like

After creating a task it would be nice to add some pieces of information to it in a while. For example
tb --edit 3
will open full task description in your favorite editor (eg. vim). To view complete task`s description
tb --show 3

Additional context

Multi-Tasks/Quick-Tasks

Sometimes, the items in your Todo are very small, e.g. a shopping list

* bread
* butter
* more bread

In it's current form I'd have to type tb -t @shopping bread, tb -t @shopping butter and tb -t @shopping bread. How about being able to write tb -t @shopping bread|butter|more bread, which could be translated to

* bread
* butter
* more bread

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.