A terminal-based daily task management tool with minimal overhead

Overview

Arenta

A terminal-based daily task management tool with minimal overhead.

Demo

Features

  • Complete CRUD support of daily tasks with intuitive syntax
  • Visualized task schedule with colorful timeline
  • A single executable binary and naturally terminal based
  • Retentiveness by storing tasks in local file

Install

Several alternatives:

  • Recommended: cargo install arenta
  • cargo install --git https://github.com/Gusabary/Arenta.git
  • Download binary from Release page and put it into $PATH
  • Clone the repo and build from source

Usage

Use arenta -h to show help messages and arenta -v to check the version.

Use arenta to start an interactive session, in which you could manage daily tasks easily.

Task Definition

Task is the core concept in Arenta, which consists of description, planned start/complete time, actual start/complete time and status.

The description and time part could be set and edited with Arenta commands, while the status is managed by Arenta in such rules:

planned start planned complete actual start actual complete
Backlog unset unset unset unset
Planned set and later than now set unset unset
Overdue set and earlier than now set unset unset
Ongoing set / unset set / unset set unset
Complete set / unset set / unset set set

Command Syntax

The interactive session accepts valid Arenta commands:

  • Type in n or new to create a new task in an interactive way:

    arenta> n
     description: a new task
     how to arrange this task
    > start immediately
      put in backlog
      plan to...
    
  • Type in s or start plus a task index to start it:

    arenta> s 0
    task 0 started
    
  • Type in c or complete plus a task index to complete it:

    arenta> c 0
    task 0 completed
    
  • Type in ls or ll with [date_filter] and [flags] to list all tasks in specified date range.

    • ll will render a visualized timeline as well, in which the planned period is represented as - while actual period is =
    • [date_filter] is in format of <op><date>
      • <op> could be <, <=, >, >= or empty, which indicates ==. Note that for ll, <op> must be empty.
      • <date> could take format of mm-dd, yyyy-mm-dd or just an integer, which indicates offset to today.
    • [flags] could contain b or v
      • b flag to display backlog tasks as well
      • v flag to display in verbose mode
    # list today's tasks
    > ls
    
    # list tomorrow's tasks with timeline
    > ll +1
    
    # list all historical tasks in verbose mode
    > ls <0 v
    
    # list yesterday's tasks including backlog and timeline in verbose mode
    > ll -1 bv
    
  • Type in h or help to show the complete usage of all Arenta commands

Todos

  • [usability] make the Arenta interactive session more shell-like, e.g. can use up arrow key to pop up last command
  • [scalability] take a more scalable approach to save all tasks to local file
  • [customizability] expose some settings as configurable, e.g. length of timeline, color of status, task display pattern, etc.

License

MIT

You might also like...
Minimal implementation of the Mimblewimble protocol.

Grin Grin is an in-progress implementation of the Mimblewimble protocol. Many characteristics are still undefined but the following constitutes a firs

A Minimal Windows SDK.

Minimal Windows 10 SDK Installs only the necessary Windows 10 .lib files to save you having to download the full Visual Studio package. You can either

Minimal Substrate node configured for smart contracts via pallet-contracts.

substrate-contracts-node This repository contains Substrate's node-template configured to include Substrate's pallet-contracts ‒ a smart contract modu

Crib - Extensible, Minimal Template for Sway Projects

crib • Extensible, Minimal Template for Sway Projects. Developing First Time? New to rust? Install with: curl --proto '=https' --tlsv1.2 -sSf https://

Extensible, Minimal Template for Sway Projects

crib • Extensible, Minimal Template for Sway Projects. Developing First Time? New to rust? Install with: curl --proto '=https' --tlsv1.2 -sSf https://

A minimal esp-hal application template for use with cargo-generate

{{ project-name }} A minimalist template for use with cargo-generate to create no_std applications targeting Espressif's line of SoCs and modules. At

Minimal compile-time Rust template engine

boilerplate boilerplate is a minimal compile-time Rust text template engine. Quick Start Add boilerplate to your project's Cargo.toml: [dependencies]

A minimal template for building smart contracts with Cairo 1.0

Minimal Cairo 1.0 Template Built with auditless/cairo-template A minimal template for building smart contracts with Cairo 1.0 using the Quaireaux proj

Minimal flashloan borrower contracts with an extensible rust sdk to abstract wrapping generic onchain calls (similar to multicall3) with flashloans.
Minimal flashloan borrower contracts with an extensible rust sdk to abstract wrapping generic onchain calls (similar to multicall3) with flashloans.

flashloan-rs • Minimal flashloan borrower contracts with an extensible rust sdk. Getting Started Flashloan-rs is published to crates.io as flashloan-r

Comments
  • v1.0.2 plan

    v1.0.2 plan

    • bugfix: listing a task which starts at T.A and completes at T+1.B with B<A could cause coredump (timeline range index's start larger than end)
    • enhancement: always list overdue tasks
    opened by Gusabary 0
Owner
Tao Bocheng
Nature's blessings upon you!
Tao Bocheng
Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures.

Key Management System (KMS) for curve Secp256k1 Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures. Introdu

[ZenGo X] 61 Dec 28, 2022
Tickets.rs - A Ticket Management Tool

Tickets.rs - A Ticket Management Tool Tickets.rs is a Desktop application made with egui, that is used for managing and modifying Tickets (or Issues,

Biochemic 13 Jan 14, 2023
Keyhouse is a skeleton of general-purpose Key Management System written in Rust.

Keyhouse Keyhouse is a skeleton of general-purpose Key Management System. Keyhouse is not an off-the-shelf system, and it's not ready for production.

Bytedance Inc. 148 Jan 1, 2023
A suite of programs for Solana key management and security.

?? goki Goki is a suite of programs for Solana key management and security. It currently features: Goki Smart Wallet: A wallet loosely based on the Se

Goki Protocol 157 Dec 8, 2022
🧑‍✈ Version control and key management for Solana programs.

captain ??‍✈️ Version control and key management for Solana programs. Automatic versioning of program binaries based on Cargo Separation of deployer a

Saber 35 Mar 1, 2022
As part of the IOP Stack™ Morpheus is a toolset to have gatekeeper-free identity management and verifiable claims as a 2nd layer on top of a blockchain

Internet of People Internet of People (IoP) is a software project creating a decentralized software stack that provides the building blocks and tools

We are building a complete decentralized ecosystem with the IOP Stack™ 9 Nov 4, 2022
Rapid, reliable and robust template management

Rapid, reliable and robust template management

null 14 Apr 16, 2022
Project Masterpass is a deterministic databaseless key management algorithm, aimed to help those who cannot protect their encryption keys in storage

Project Masterpass (working title) Attention! This project is still under heavy development, and SHOULD NOT be used in practice, as the algorithms cou

Gyorgy Wang 2 Sep 11, 2022
Token management program (vesting and mining) implemented in Anchor

Deep Dive into Anchor by Implementing Token Management Program Author: @ironaddicteddog, @emersonliuuu [Updated at 2022.5.21] You can find the full co

Jim 31 Jun 13, 2023
A terminal-based password manager, generator, and importer/exporter (Firefox, Chrome) backed with a concurrent hashmap

rucksack A terminal-based password manager, generator, and importer/exporter (Firefox, Chrome) backed with a concurrent hashmap Features Password gene

null 6 Jan 18, 2023