Giter VIP home page Giter VIP logo

tsktsk's Introduction

tsktsk

PyPI version Build Maintainability Discord

Tsktsk is a task list aimed at helping prioritize and categorize your tasks. It supports adding tasks in five different categories and prioritizing them based upon their estimated value provided and effort required. There are two options for storing your tasks. Tasks can be stored in a file or they can be stored as Github issues.

Installing

Installing tsktsk is best accomplished with pip.

$ pip install tsktsk

To install the latest development version, clone the repository and install with python setup.py install.

Initializing

To begin with a tsktsk repository must be initialized.

GitHub

Tsktsk can read tasks from a GitHub repository. It will fetch details of the repository and authentication from environment variables or from a local .env file.

For example our .env file may be:

TSKTSK_GITHUB_REPO=ianagbip1oti/tsktsk
TSKTSK_GITHUB_USERNAME=ianagbip1oti
TSKTSK_GITHUB_TOKEN= < insert token here >

The token used here is a personal access token from GitHub.

A GitHub repository may also be specified from the command line using the --github flag. Authentication details must still be configured via environment variables or a .env file.

$ tsktsk --github=ianagbip1oti/tsktsk list

File

Tasks can be stored locally in a file. We can initialize a task list in the current folder by using the init command.

$ tsktsk init
tsktsk initialized.

Using

After initializing we can now begin creating tasks.

$ tsktsk new My First Task
     1 ๐Ÿ“ฆ NEW: My First Task

There are five categories that tasks can be create in:

  • new for ๐Ÿ“ฆ NEW: add something new
  • imp for ๐Ÿ‘Œ IMPROVE: improve something existing
  • fix for ๐Ÿ› FIX: fix a bug
  • doc for ๐Ÿ“– DOC: improve documentation
  • tst for โœ… TST: changes related to testing

For example,

$ tsktsk fix My First Bug
     2 ๐Ÿ› FIX: My First Bug 

$ tsktsk doc Write README
     3 ๐Ÿ“– DOC: Write README 
    
$ tsktsk list
     1 ๐Ÿ“ฆ NEW: My First Task
     2 ๐Ÿ› FIX: My First Bug
     3 ๐Ÿ“– DOC: Write README

With no other information tsktsk will order issues in the order they are created. But, this is rarely the most efficient order in which to complete tasks. Some tasks have more value than others, and some tasks will require more or less effort to complete.

We can set the value and effort required for a task when we create it.

$ tsktsk new --value=high My Valuable Task
     4 ๐Ÿ“ฆ NEW: My Valuable Task                                   Vโฌ†  

$ tsktsk fix --effort=low My Easy Bug
     5 ๐Ÿ› FIX: My Easy Bug                                           Eโฌ‡ 

$ tsktsk doc --effort=high Write User Guide
     6 ๐Ÿ“– DOC: Write User Guide                                      Eโฌ†  
     
$ tsktsk list
     5 ๐Ÿ› FIX: My Easy Bug                                           Eโฌ‡
     4 ๐Ÿ“ฆ NEW: My Valuable Task                                   Vโฌ†  
     1 ๐Ÿ“ฆ NEW: My First Task
     2 ๐Ÿ› FIX: My First Bug
     3 ๐Ÿ“– DOC: Write README
     6 ๐Ÿ“– DOC: Write User Guide                                      Eโฌ†  

With more information tsktsk was able to suggest an order in which the tasks could be completed. Those tasks that are more valuable, or lower effort, give us a better return for our investment of effort, hence they are pushed to the top. Those tasks that are high effort, or lower value, will be pushed towards the bottom.

We can edit our previous tasks if we change our minds about how much value or effort a task is.

$ tsktsk edit 2 --value=high --effort=low
     2 ๐Ÿ› FIX: My First Bug                                       Vโฌ† Eโฌ‡ 

$ tsktsk list
     2 ๐Ÿ› FIX: My First Bug                                       Vโฌ† Eโฌ‡ 
     5 ๐Ÿ› FIX: My Easy Bug                                           Eโฌ‡
     4 ๐Ÿ“ฆ NEW: My Valuable Task                                   Vโฌ†  
     1 ๐Ÿ“ฆ NEW: My First Task
     3 ๐Ÿ“– DOC: Write README
     6 ๐Ÿ“– DOC: Write User Guide                                      Eโฌ† 

Now that task 2 is high value and low effort, tsktsk has moved it to the top of the list.

Finally, after we've done our work, we can mark a task as done.

$ tsktsk done 2

$ tsktsk list
     2 ๐Ÿ› FIX: My First Bug                                       Vโฌ† Eโฌ‡ 
     5 ๐Ÿ› FIX: My Easy Bug                                           Eโฌ‡
     4 ๐Ÿ“ฆ NEW: My Valuable Task                                   Vโฌ†  
     1 ๐Ÿ“ฆ NEW: My First Task
     3 ๐Ÿ“– DOC: Write README
     6 ๐Ÿ“– DOC: Write User Guide                                      Eโฌ† 

Examples

tsktsk itself uses tsktsk to track issues. After installing tsktsk and cloning the repository, you can run tsktsk --github=ianagbip1oti/tsktsk list to see the current task list for tsktsk development.

Contact

Reach out to the Discord Projects Hub on Discord and look for the tsktsk channel.

Contributing

View the current task list for tsktsk, choose one, and jump right in! (don't let that stop you from working on something not in that list if you think it needs doing)

  • Tox is used for running tests.
    • Run tox -e to run tests with your installed python version
    • Run tox -e fmt to format the code
  • Emoji Log is used for commit messages and pull requests

Thanks

Thanks to Ahmad Awais for Emoji-Log, which is from where we take the task categories and emojis.

Icons made by Freepik from www.flaticon.com

tsktsk's People

Contributors

ianagbip1oti avatar aymanizz avatar

Watchers

James Cloos avatar

tsktsk's Issues

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.