logo

»What did I do

wdid on command-line

wdid is a command-line tool that can help you remember what you worked on during the day. It should be used within workplace where daily SCRUM stand-ups are used. This tool can generate such a stand-up and much more.


Why?

I created this tool for myself because I often could not recall what I did previous day during stand-up meeting. Sometimes it'd be hard for me to exactly remember what I was planning to do. This also means the program is very opinionated and it's not intended to be used as general purpose note taking tool.

With wdid I can create an entry before the meeting. This tool asks series of pre-defined questions that are typical for stand-ups. During the meeting I can simply recall the latest stand-up entry I created and report to team on my plan for the day.

wdid stores these stand-ups in a single sqlite database file so I can always list the data I entered which is ordere chronologically. It is also simple to move the data between machines.

How does it work?

Overview of typical wdid usage.
diagram of program usage

By default, wdid records two type of entries:

  1. reminder - wdid remind
  2. stand-up - wdid new

Stand-up entry (#2) should be created on the day of the stand-up meeting, typically that's each working day in the morning. Reminder (#1) is created the day before, usually by the end of the working day. Reminders will be automatically displayed when creating stand-up entry, this way you it's much easier to write up your stand-up because you don't have to dig deep into your memory, the program helps you with that.

You don't have to use reminders if you do not wish to by turning it off but it's recommended.

Example:

  1. It's monday morning - 9:00, your stand-up meeting starts at ten.
  2. You decide to prepare the stand-up so you run wdid new, that way you'll be prepared for the meeting.
  3. You are presented with the summary of what you did on previous working day - that's friday in your case. You answer the questions while cross-referencing the friday's reminder.
  4. It's 10:00, meeting starts. You run wdid log --last to see the entry you created one hour ago. You communicate these facts to the team and move on with the work.
  5. Now it's 17:00 in the afternoon and you're about to call it a day. You run wdid remind, you get asked questions about your day, you fill them in and stop working shortly.
  6. Now it's tuesday morning and it's 9:00 again. You run wdid new again, this time seeing reminder from monday.
  7. You answer the questions. The cycle repeats...

Installation

npm

Use npm install --global wdid to install wdid as global package that exposes wdid binary. Requires NodeJS environment (at least v18) to be installed.

source

Clone repository to desired location on your system. Run npm link within the directory. wdid command should now be available to you. You need NodeJS environment (at least v18) to be installed. Code doesn't need any compilation, will run directly from source.

Usage

The first thing you must do right after installing wdid is to run wdid init. This command is used for bootstrapping the program such as reading the configuration file and creating the database file. If you already had wdid on your computer before, this command should be able to detect the existing files and use them. Configuration file is simple JSON so it is simple to back-up and restore. The database is single sqlite file, you can back-up and restore this file as well, or even sync it between computers if you wish so.

wdid command

--help
Display help message for global wdid command.
init
Initialize the program, create config file and set up saving location for the program database.
new
Records new stand-up entry. Flag -a/--amend will enter edit mode.
remind
Records new reminder entry. Flag -a/--amend will enter edit mode.
log
List stand-up entries.-p/--pretty formats nice output for console. -x/--raw lists entries separated by new line in plain text. -l/--last returns last entry (for each type specified). -r/--include-reminders will include reminder entries in the output. -R/--only-reminders inverts the command and only lists reminders.

wdid-notify command

standup
Trigger notification telling you to record stand-up entry.
remind
Trigger notification telling you to record remind entry.

Customization

wdid init can create or read existing configuration file, typically named config.json. The program uses standardized XDG paths so you should be able to find the configuration in appropriate folder typical for your operating system.

You can create alternative config file and use environment variable WDID_CONFIG_FILE_PATH to point the program to that specific file.

You don't have to change anything in this file if you don't want. You can change path to database file or whether you want to use reminders or not. All of these settings can be modified when running wdid init command.

wdid init will ask you whether you want to use stand-up reminders. Alternatively you can change this setting in the configuration file. When you set it to false, the application will never display reminders when creating new stand-up. This setting is for those people who want to use wdid in more simple manner, simply as only a tool for pre-recording their stand-ups.

Notifications

The program itself cannot set up desktop notifications for you. You should use cron or some different type of scheduling program to trigger notification helper program. This helper program can be invoked with wdid-notify command.

When you initialize program with wdid init command, you will get example cron configuration printed to the console that can help you get started.


2022

Author: Ondřej Synáček