xaizek / dit (License: GPLv3) (since 2018-12-07)
Command-line task keeper that remembers all old values and is meant to combine several orthogonal features to be rather flexible in managing items.
File Mode Size
data/ 040000
docs/ 040000
scripts/ 040000
src/ 040000
tests/ 040000
.gitignore 100644 85B
CODE.md 100644 1,595B
COPYING 100644 34KiB
INSTALL.md 100644 1,535B
Makefile 100644 4,596B
README.md 100644 2,346B
gcov.css 100644 9,957B
lcovrc 100644 5,161B

/README.md

dit 2015 - 2016

Last updated: 14 June, 2016

Version: 0.10

Brief Description

This is a task management application for command-line oriented people.

The idea is to provide a relatively simple tool for managing software development tasks that is more sophisticated than simple TODO lists, but simpler than overly complicated task management software out there. One can spot some similarities with git.

NOTE: It somewhat resembles TaskWarrior by accident, didn't see it before starting writing this application, but TaskWarrior seems to be very powerful and should be more popular than it is, it's just that lists or search results didn't include it. So the reader might want to use TaskWarrior, which seems to be more oriented on GTD and similar techniques.

Status

This is quite close to 1.0 version, although it might see some changes for the sake of improvement, but the code itself is stable. The application has been in development and use since summer 2015.

Features

  • Non-numeric identifiers (non-decimal Grey code);
  • Never forgets data (new values override the old ones, items are not removed);
  • Isolated projects with local configuration;
  • Aliases with argument substitution;
  • Composition of aliases and commands.

Usage

The out of the box setup is minimal. One is likely to want to change some settings add define convenient aliases. There are no assumptions on the workflow, which are expected to be defined by the user.

Example

Commands look like:

d.d add title: Add install target. type: addition category: code status: in progress

Example of entry listing:

Entry listing

Supported Environment

Expected to work in *nix like environments.

Prerequisites

  • GNU Make;
  • C++11 compatible compiler (e.g. GCC 4.9.3);
  • Boost, tested with 1.58 and 1.59, but somewhat older versions should work as well;
  • (optional) pandoc for building man page.

Interaction with Environment

  • A bash completion script simplifies interaction with the application in a shell.
  • The application can spawn an editor to allow easier editing.

License

GNU General Public License, version 3 or later.

Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/dit

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/dit

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master