gishdo
v0.1.7
Published
get ish done
Downloads
13
Readme
GISHDO
Gishdo /Gish-due/, ~~is~~ will be a GTD app with pomodoro tendencies. It ~~has~~ will have 2 interfaces; a command line tool which is my preference, and a SPA if you're into that sort of thing.
Tasks are discrete actions with measurable outcomes. They can be grouped into Projects, which comes in handy as your Task list grows. Sprints are groups of Tasks that are meant to be completed sequentially (in the order specified per Sprint).
Running a Sprint starts a countdown timer on the first task, followed by a break, followed by more time on the task, etc, until the task is marked as completed. When a task is finished, gishdo tracks the total time spent working on the Task and starts the next cycle.
Install, Setup, and GO!
$ npm install gishdo
$ gishdo config
$ gishdo add task -i 'create my first task'
$ gishdo get task -mt 'create my first task'
$ gishdo complete task -t 'create my first task'
Configuration
Gishdo is designed to be used on multi-user systems. The per-user configuration file is stored in $HOME/.gishdo/config.json
. You can edit the file by hand or use the command gishdo config
to change gishdo's settings. The default config.json
lives in the gishdo lib folder, appropriately name default.config.json
Options
Database
There are currently 2 database drivers:
- Sqlite
- Redis
With 2 more on the way eventually:
- MySql
- Mongodb
The default database driver is sqlite. This allows gishdo to be run out of the box with 0 external dependencies and is definitely fast enough. If you would like to use an external database server you can set the options in $HOME/.gisdo/config.json
or with gishdo config
.
Things to do differently on this, the 2nd iteration:
- ~~use better-sqlite instead of sequelize ( in fact, don't use any ORMs )~~
- ~~add the driver funcitonality~~
- ~~add the configuration functionality~~
- breakout commands into modules the export options and handlers.
- rename get -> ls and add an rm command. Also create an alias from get -> ls.
- ~~all database operations must be exported by each driver module ( the interface must be identical)~~