DevLog tracks time spent working in GitHub repositories.


User Guides

Installation

Requires Python 3.11+ and Git. The server also needs Linux/systemd and local MariaDB with administrator socket access. Run from a release checkout:

sudo ./scripts/install.sh -server SERVER_HOST  # client machine
sudo ./scripts/install-server.sh              # server machine
sudo ./scripts/upgrade.sh                     # upgrade either role

Add /opt/prod/devlog/bin to your PATH. Configuration is in /opt/prod/devlog/conf/devlog.json; the client connects on port 19701. Use --check for prerequisite checks or sudo ./scripts/uninstall.sh to remove the installation. Server uninstall deletes tracked data; saved database credentials are retained.

Tracking work

Run these commands inside a GitHub repository checkout:

dl status                    # show the active task; works from any directory
dl start                     # start or resume this repository's task
dl pause                     # pause it
dl commit "Describe changes" # commit, complete the task and push
dl publish                   # run this repository's release script
dl releases sync             # record existing local release tags

Switching repositories with dl start pauses the previous task. Start a new task after committing. If recording a successful commit fails, recover with dl commit --record FULL_COMMIT_SHA. Resolve push failures with ordinary Git.

Reports

Open http://SERVER_HOST:19700/ on your trusted network.

Open a completed task to correct its work intervals by dragging or resizing them, or entering precise start and end times. Editing uses browser-local time. Releases appear alongside tasks and do not add tracked time.