Skip to content

jluby/TaskTerminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskTerminal

TaskTerminal is a package which provides task tracking utilities in Terminal with basic automation to make your Kanban workflow readily accessible, efficient, and easy to manage. Lists are intentionally segmented to facilitate focus on the default (typically the active) task list.

sample_lst

Project Overview

This project seeks to provide utilities for Kanban task tracking. Tasks are seperated by project. The core utilities of this project are:

  • Create entries then store to project-specific, user-specified lists
  • View / sort lists, including user-provided task descriptions
  • Allow for task pulls along user-specified list chains (e.g. backburner -> tasks (active) -> archives)
  • Additionally, allow for movement across chains to be scheduled by the user
  • Allow for fully extensible user-specification of list naming and relationships (i.e. list-level 'pull_to' and 'push_to' locations)
  • Flag important entries

Repository Structure

  • /src/task_terminal: task_terminal package, contains CLI scripts and helpers.
  • /helpers: Files which help CLI function but cannot be called.
  • config.json: User configuration. Sets file types, names, attributes, and relationships per user specification. See 'Configuration' below.
  • helpers.py: General helper functions for setup and printing.
  • templates.json: Print templates for help in error handling. Other files in task_terminal can be called from the command line after installation. Their usage is outlined in the tutorial.sh file.

Package Installation

To install the task_terminal package:

  1. Clone this repository.
  2. Read the 'Configuration' section and establish a package configuration which will best suit your needs.
  3. From the base directory, run pip install . from the command line.

Configuration

List types and relationships are configurable via the package's config.json file. To configure, follow these steps:

  1. Establish desired file types. These will be the keys of the configuration directory.

config_base

  • NOTE: It is recommended that file types be set prior to establishing task entries. Users should be aware that entries within a given file would likely be lost upon package re-configuration.
  1. Establish the default file. This will be the default when the simple command $ lst is entered into the command line.

  2. Establish file-level attributes. As values paired to their corresponding files, these attributes will be contained in their own dictionary. Available attributes are:

REQUIRED:

  • aliases: list - A list of aliases by which file can be identified in CLI commands. These must be unique to each file.

OPTIONAL:

  • pull_to: str - File to which pull command will move file.

  • push_to: str - File to which pull command will move file when '-U' flag is provided.

  • stat: str - Statistic to be displayed at the task-level. These will typically be one of 'time_estimate', indicating how long the task is expected to take, or 'datetime_scheduled', indicating the date at which the task is to be moved to its 'pull_to' file.

  • attrs: list - Optional attributes for display of file lists. These can be chosen from:

    • 'show_total': show the sum of a project list's 'time_estimate' values
    • 'hours': Ask for a 'time_estimate' when a task is created within that list
    • 'schedule': Ask for a 'datetime_scheduled' at which a task will be moved to its 'pull_to' file
  • stats_from_prev: list - Statistics to be shown from a file's 'push_to' location. These can be chosen from:

    • 'n': Number of tasks in the preceding list
    • 'total': The sum of the preceding list's 'time_estimate' values A fully established config.json file might look something like this:

full_config

  1. Re-install the package with pip install . to establish configuration options.

Usage

See file-level docstrings in src.

Current Maintainers

About

CLI for easy and efficient Kanban Method task management in the Terminal

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published