todo

Todo CLI app for every programming day!

todo

Todo CLI app for every programming day!

About

The todo app is a crystal command line micro app that is fast and keeps you focus.

Features

  • Quickly list, check, change the status of task through simple commands.
  • Keyword for better organization.
  • Regex search.
  • Flexible: Import and export from markdown files.
  • Safe: Redis keep all the information.
  • Light: 1.2M (current version 0.1.5)

Installation

Install the denpedencies and build the binary.

shards install
shards build

Add it to the path so you can use it as a command.

mkdir -p ~/.local/bin/
cp bin/todo ~/.local/bin/todo

These previous commands are in a deploy.sh shell script that you can run as:

bash deploy.sh

Notice: You need to have redis server running, if you haven't installed redis yet, I recommend this documentation

Usage

First use the help method to display all the commands.

$todo --help

Example.

$todo --help
# display help

$todo new "conquer her heart"
new: [1] "conquer her heart"

$todo new "with chocolates!"
new: [2] "with chocolates!"

$todo check 1
✔ [1] conquer her heart
- [2] with chocolates!

$todo ls
✔ [1] conquer her heart
- [2] with chocolates!

$todo check 2
✔ [1] conquer her heart
✔ [2] with chocolates!

$todo del 2
✝ [2] with chocolates!

Development

todo

  • CLI template response.
  • CRUD todo.
    • create.
    • list.
    • read.
    • update.
      • text.
      • status checked.
      • status unchecked.
      • status cancelled.
      • status deleted (soft delete).
    • delete (hard delete).
  • Order by pending, completed, cancelled.
  • List by keyword.
  • List deleted.
  • drop bind (hard delete tasks marked as deleted).
  • Mark taks as now (current).
  • Export to .md file extension.
  • Export to .pdf file extension.
  • Import from .md file.
  • Search todos with regex.

possible wanted for the future

  • trello integration.

Contributing

  1. Clone the project (git clone git@gitlab.com:sespinoz/todo.git && cd todo)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am "Add some feature")
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Merge Request.

Contributors

Acknowledgements

  • Special thanks to Daniel Salazar who encourage me to build apps in Crystal.
  • Special thanks to icons8 for the icon for the project.
Repository

todo

Owner
Statistic
  • 0
  • 0
  • 0
  • 0
  • 2
  • over 5 years ago
  • March 29, 2019
License

MIT License

Links
Synced at

Sat, 23 Nov 2024 18:04:44 GMT

Languages