Wunderline
Wunderlist for your command line!
Installation
npm install -g wunderline
Authentication
Wunderline requires you to create your own Wunderlist application and store the client id and an access token locally. You can create a new application here.
When creating an application you will be asked for an app url and an auth callback url, you can just use dummy values for these.
Once that's done, click CREATE ACCESS TOKEN
as highlighted here:
Your ACCESS TOKEN
will show up above
Now you can run wunderline auth
and enter the values.
Usage
$ wunderline --help Commands: auth Authenticate Wunderline add [task] Add a task to your inbox done Mark a task as done inbox View your inbox starred View starred tasks today View tasks due today week View tasks due this week all View all of your tasks overdue View overdue tasks search [query] Search your tasks list [query] Search your lists lists List your lists open Open Wunderlist export Export your data whoami Display effective user gc Delete completed tasks set-platform Set your preferred application platform flush Flush the application cache help [cmd] display help
Adding Tasks
Add tasks to your inbox.
$ wunderline add Hello, World!
The add command also supports creating tasks from stdin
.
$ cat todo.txt | wunderline add --stdin
You can also add tasks to a list, that list will be created if it doesn't exist.
$ wunderline add Hello, World! --list Greetings
Due dates are now supported using one of the following options.
$ wunderline add Hello, World! --today --tomorrow --due 2015-12-25
You can add subtasks at task creation time.
$ wunderline add 'Run a marathon' --subtask 'Train for the marathon' --subtask 'Register for the marathon'
Completing Tasks
Tasks can be completed using the done
subcommand.
$ wunderline done
Viewing Lists
All of Wunderlists smart lists are supported, so there are various ways to see what tasks you have to do.
$ wunderline inbox$ wunderline starred$ wunderline today$ wunderline week$ wunderline all
Alternatively, you can view any other list by using the list
subcommand.
$ wunderline list shopping
Open
Open Wunderlist, defaults to opening the web app.
$ wunderline open
The only other platform currently supported is mac
, use the set-platform
command to change your settings.
$ wunderline set-platform mac
Export
Exports your data to stdout.
$ wunderline export > export.json
Filtering with jq
The export command will give you all of your data, unfiltered, which can be a lot. If you'd like to search, filter or manipulate your data then check out jq.
Here are some examples, filtering out completed and starred tasks.
wunderline export | jq '.data.lists[].tasks[] | select(.completed == true)'
wunderline export | jq '.data.lists[].tasks[] | select(.starred == true)'
Bonus Points
Ack / Ag
You could search for the word "todo" in a project and pipe the input into wunderline. Each line will be parsed and turned into a task, be careful because this could result in a lot of tasks!
This might be a terrible idea, even useless at best, but hopefully it will get you thinking.
$ ag todo --nocolor --nofilename | wunderline add -s
Debugging
wunderline uses request so if you
want to inspect api requests just set the NODE_DEBUG
variable.
$ NODE_DEBUG=request wunderline inbox
License
MIT © Wayne Ashley Berry