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 73B
CODE.md 100644 1,595B
COPYING 100644 34KiB
INSTALL.md 100644 1,316B
Makefile 100644 4,262B
README.md 100644 2,374B


dit, v0.11, 2015 - 2019

This file last updated on 23 March, 2020

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.


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.


  • 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.


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.


Commands look like:

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

Example of entry listing:

Entry listing

See docs for more detailed example.

Supported Environment

Expected to work in *nix like environments.


  • GNU Make;
  • C++11 compatible compiler (e.g. GCC 4.9.3);
  • Boost, tested with 1.54, 1.58 and 1.59;
  • (optional) pandoc for regenerating 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.


Version 3 of the GNU General Public License.


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