klaudiosinani / taskbook Goto Github PK
View Code? Open in Web Editor NEWTasks, boards & notes for the command-line habitat
License: MIT License
Tasks, boards & notes for the command-line habitat
License: MIT License
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?
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.
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.
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)
Additional context
Add any other context about the problem here.
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
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?
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.
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
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)
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!
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
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".
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
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.
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
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!
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!
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.
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.
This is on iTerm 2 Build 3.2.20180723-nightly in ZSH, with theme "af-magic"
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
https://github.com/klauscfhq/taskbook/blob/master/media/header-boards.png
Just like the image above, is there any tool to generate a picture from terminal output?
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
Technical Info (please complete the following information)
Additional context
Add any other context about the problem here.
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)
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).
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.
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)
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
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
Describe the bug
Using ~
to represent my home directory in the taskbookDirectory
configuration option doesn't work.
To Reproduce
taskbookDirectory
to a path like /Users/my_username/Dropbox/Taskbook
tb
, and observe that Taskbook works as expectedtaskbookDirectory
to a path like ~/Dropbox/Taskbook
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)
10.7.0
0.1.1
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.
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!
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 😄 🦊
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)
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…
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.
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)
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
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
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.
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
npm install --global taskbook
tb
Technical Info
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
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.
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
npm install -g taskbook
tb -t @work test taskbook
Technical Info (please complete the following information)
The edit
option says the flag is -t
but it's actually -e
.
--edit, -t Edit item description
Want a ncurses interface to operate on tasks interactively( with vim keyboard shortcuts support) instead of memorizing commands.
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.
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.