SkillAgentSearch skills...

Taskline

Tasks, boards & notes for the command-line habitat

Install / Use

/learn @perryrh0dan/Taskline
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<h1 align="center"> Taskline </h1> <h4 align="center"> Tasks, boards & notes for the command-line habitat </h4> <div align="center"> <img alt="Boards" width="70%" src="media/header-boards.png"/> </div> <div align="center"> <a href="https://travis-ci.org/perryrh0dan/taskline"> <img alt="Build Status" src="https://travis-ci.org/perryrh0dan/taskline.svg?branch=master" /> </a> <a href="https://codecov.io/gh/perryrh0dan/taskline"> <img alt="Code Coverage" src="https://codecov.io/gh/perryrh0dan/taskline/branch/master/graph/badge.svg" /> </a> <a href="https://codeclimate.com/github/perryrh0dan/taskline/maintainability"> <img src="https://api.codeclimate.com/v1/badges/d54f93a65002540e39ea/maintainability" /> </a> <a href="https://gitter.im/taskline/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge"> <img alt="Build Status" src="https://badges.gitter.im/taskline/community.svg" /> </a> <a href="https://www.npmjs.com/package/@perryrh0dan/taskline"> <img alt="NPM Downloads" src="https://img.shields.io/npm/dt/@perryrh0dan/taskline" /> </a> <a href="https://snapcraft.io/taskline"> <img alt="snapcraft" src="https://snapcraft.io/taskline/badge.svg" /> </a> <a href="https://snapcraft.io/taskline"> <img alt="snapcraft" src="https://img.shields.io/badge/Taskline-1063%20active%20users-blue?&logo=snapcraft" /> </a> </div>

Description

By utilizing a simple and minimal usage syntax, that requires a flat learning curve, Taskline enables you to effectively manage your tasks and notes across multiple boards from within your terminal. All data is written atomically to the storage in order to prevent corruptions. At the moment there are two storage modules. The Local storage module where your task and are never shared with anyone or anything, or the firestore module, where your tasks are saved in your firestore database and can be shared across all your devices. Deleted items are automatically archived and can be inspected or restored at any moment.

Visit the contributing guidelines to learn more on how to translate taskline or this document into more languages.

Come over to Gitter or Twitter to share your thoughts on the project.

Highlights

This project was heavily inspired by taskbook. Due to the lack of some critical features mentioned below, I decided to rewrite the complete app in a more modern approach.

Original

  • Organize tasks & notes to boards
  • Board & timeline views
  • Priority & favorite mechanisms
  • Search & filter items
  • Archive & restore deleted items
  • Lightweight & fast
  • Data written atomically to storage
  • Custom storage location
  • Progress overview
  • Simple & minimal usage syntax
  • Update notifications
  • Configurable through ~/.taskline.json
  • Data is stored in JSON file at ~/.taskline/storage

New

  • Modular data storage.
  • Firestore module to save data in google firestore.
  • Sync tasks across all your devices with firestore.
  • Replaced Meow with commander.js
  • Advanced duedate functionality
  • Display loadingspinner while fetching network requests
  • Custom color themes
  • New list filter attributes
  • Possibility to use id ranges
  • Possibility to cancel tasks
  • Possibility to rearrange item ids
  • Timetracking for tasks
  • Multilanguage support

Coming

  • Subtask functionality
  • Functionality to download and upload local storage to firestore
  • More unit tests

View highlights in a taskline board.

Contents

Install

Yarn

yarn global add @perryrh0dan/taskline

NPM

npm install --global @perryrh0dan/taskline

Snapcraft

snap install taskline
snap alias taskline tl # set alias

Note: Due to the snap's strictly confined nature, both the storage & configuration files will be saved under the $SNAP_USER_DATA environment variable instead of the generic $HOME one.

Usage

> tl --help
Usage: tl [command] [options]

Tasks, boards & notes for the command-line habitat

Options:
  -V, --version                   output the version number
  -h, --help                      output usage information

Commands:
  archive|a                       Display archived items
  begin|b <ids>                   Start/pause task
  cancel <ids>                    Cancel/revive task
  check|c <ids>                   Check/uncheck task
  clear                           Delete all checked items
  copy|y <ids>                    Copy description to clipboard
  delete|d <ids>                  Delete item
  due <ids> <dueDate>             Update duedateof task
  edit|e <id> <description>       Edit item description
  find|f <terms>                  Search for items
  list|l <terms>                  List items by attributes
  move|m <ids> <board>            Move item between boards
  note|n [options] <description>  Create note
  priority|p <id> <priority>      Update priority of task
  restore|r <ids>                 Restore items from archive
  star|s <ids>                    Star/unstar item
  task|t [options] <description>  Create task
  timeline|i                      Display timeline view
  refactor                        Rearrange the IDs of all items

Detailed description under: https://github.com/perryrh0dan/taskline#flight-manual

Views

Board View

Invoking taskline without any options will display all saved items grouped into their respective boards.

<div align="center"> <img alt="Boards" width="70%" src="media/header-boards.png"/> </div>

Timeline View

In order to display all items in a timeline view, based on their creation date, the --timeline / -i option can be used.

<div align="center"> <img alt="Timeline View" width="70%" src="media/timeline.png"/> </div>

Configuration

To configure taskline navigate to the ~/.taskline.json file and modify any of the options to match your own preference. To reset back to the default values, simply delete the config file from your home directory.

The following illustrates all the available options with their respective default values.

{
  "language": "en",
  "tasklineDirectory": "~",
  "displayCompleteTasks": true,
  "displayProgressOverview": true,
  "storageModule": "local",
  "firestoreConfig": {
    "type": "",
    "project_id": "",
    "private_key_id": "",
    "private_key": "",
    "client_email": "",
    "client_id": "",
    "auth_uri": "",
    "token_uri": "",
    "auth_provider_x509_cert_url": "",
    "client_x509_cert_url": ""
  },
  "dateformat": "dd.mm.yyyy HH:MM",
  "theme": {
    "colors": {
      "pale": "grey",
      "error": "red",
      "task": {
        "priority": {
          "medium": "yellow",
          "high": "red"
        }
      },
      "icons": {
        "note": "blue",
        "success": "green",
        "star": "yellow",
        "progress": "blue",
        "pending": "magenta",
        "canceled": "red"
      }
    }
  }
}

In Detail

tasklineDirectory
  • Type: String
  • Default: ~

Filesystem path where the storage will be initialized, i.e: /home/username/the-cloud or ~/the-cloud

If left undefined the home directory ~ will be used and taskline will be set-up under ~/.taskline/ .

displayCompleteTasks
  • Type: boolean
  • Default: true

Display tasks that are marked as complete.

displayProgressOverview
  • Type: boolean
  • Default: true

Display progress overview below the timeline and board views.

storageModule
  • Type: Enum
  • Default: local
  • Values: local , firestore , git

Choice of storage module. Currently there are three modules local , firestore and git . For the firestore module the firestoreConfig is needed.

Note:
To enable syncing across devices or with a remote server, your Git storage repository must be connected to a remote (such as GitHub, GitLab, or Bitbucket).
If no remote is configured, changes will only be saved locally and will not sync globally.

firestoreConfig
  • Type: Google Dienstkontoschlüssel
  • Default: Empty

Configuration of the firestore module.

dateformat
  • Type: String
  • Default: dd.mm.yyyy HH:MM

Dateformat used for duedate.

theme

Customize colors of all texts and icons. Available are all foreground colors of chalk. More information under Themes

Before flight

When you want to use the local storage module there is no further configuration need. When you want to use the firestore module follow this steps:

Setup Firestore

  1. Create a new Project on the google cloud platform.
  2. Create a new service account for this project.
  3. Download the authorization.json file and insert all the lines to the corresponding lines in the taskline configuration.

or follow this instruction page.

Flight Manual

The following is a minor walkthrough containing a set of examples on how to use taskline. In case you spotted an error or think that an example is not to clear enough and should be further improved, please feel free to open an issue or pull request.

Create Task

To c

View on GitHub
GitHub Stars314
CategoryDevelopment
Updated6d ago
Forks29

Languages

TypeScript

Security Score

100/100

Audited on Mar 21, 2026

No findings