Store, retrieve, and edit basic contact information in plain text.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jake Bauer 79a2fef6a2 Use OpenBSD's ISC License 1 month ago
LICENSE Use OpenBSD's ISC License 1 month ago
Makefile Rename project to kontaktdb 3 years ago Add contribution information to README 3 years ago
kontaktdb Increment patch version number 3 years ago


Store, retrieve, and edit basic contact information in plain text.

Why Does This Exist?

I didn't like the existing options for managing contacts on the command line. Programs like abook and khard are nice, but I wanted something much, much simpler since I didn't need the complexity offered by the other options.

The goals for this program are:

  • Contact database entirely in plain text with tab-delimited fields.
  • Support for contact names and emails (possibly more later, but not much more).
  • Really simple set of commands to interact with the database.

What Works?

So far, you can add a contact to the database, delete a contact from the database, retrieve a contact's information, and change a contact's information (though you must change both the name and email at the same time).


The script should work across all *nix environments. The only non-POSIX feature I use is sed -i which is usually available on most BSDs and Linux distributions.


kontaktdb is just a POSIX shell script. You can put it anywhere in your $PATH or type make install to have it automatically copied to /usr/local/bin/.


Set the KONTAKT_DB environment variable to specify the location of the contact database file.

If this variable is unset, kontaktdb will check if XDG_DATA_HOME is defined and will put the database file there.

If neither of the above environment variables are defined, kontaktdb will fall back to storing the database at $HOME/.kontaktdb.


See the output of kontaktdb -h.


Send patches and questions to ~jbauer/

Subscribe to the RSS feed for new version announcements.

Please be kind and courteous when communicating on the mailing list. If not, don't expect your work to be merged.