# This file is part of the Digital Logbook.
# Copyright (C) 2023-2025 Max Günther
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#+TITLE: Digital Logbook
#+OPTIONS: toc:nil
The Digital Logbook is a command-line tool for tracking your time,
designed to be easy to use and not get in your way.
#+BEGIN_QUOTE
*Please note*: This software is still in development, so not all
functionality has been implemented yet.
#+END_QUOTE
* Installation
:PROPERTIES:
:CUSTOM_ID: installation
:END:
#+BEGIN_SRC sh
$ go install codeberg.org/guemax/digital-logbook/cmd/dl@latest
#+END_SRC
* Usage
:PROPERTIES:
:CUSTOM_ID: usage
:END:
Running ~dl~ without arguments will display the global help.
Use ~dl help <command>~ to display the help for a specific command.
Here is a list of frequently used commands:
- Start an entry:
#+BEGIN_SRC sh
$ dl start --project "digital-logbook" --activity "programming" --location "home"
#+END_SRC
- Pausing an entry:
#+BEGIN_SRC sh
$ dl pause
#+END_SRC
- Continuing the last entry:
#+BEGIN_SRC sh
$ dl continue
#+END_SRC
- Finishing an entry:
#+BEGIN_SRC sh
$ dl finish
#+END_SRC
- Deleting the last entry:
#+BEGIN_SRC sh
$ dl delete
#+END_SRC
- Editing the last entry:
#+BEGIN_SRC sh
$ dl edit --activity "documenting"
#+END_SRC
- Listing all entries:
#+BEGIN_SRC sh
$ dl list
#+END_SRC
* Contributing
:PROPERTIES:
:CUSTOM_ID: contributing
:END:
Thank you very much for your interest in making the Digital Logbook
better. If you would like to report a bug, request a feature or have
a question, please open an [[https://codeberg.org/guemax/digital-logbook/issues][issue]] or write an email to [[mailto:info@guemax.de?subject=Digital Logbook issue report][info@guemax.de]].
If you would like to help develop the Digital Logbook, go ahead and
fork this repository. See [[https://docs.codeberg.org/getting-started/][Getting Started with Codeberg]] if you
haven't worked with Git and/or Codeberg before.
Please remember:
1. Create an issue before fixing a bug/adding a feature.
2. Write meaningful commit messages.
3. Document your changes with tests.
4. Keep pull requests small.
5. Be kind to other people.
To run tests with Go, use ~go test ./...~, to run the cli, ~go run .~.
Have fun!
* Similar Projects
:PROPERTIES:
:CUSTOM_ID: similar-projects
:END:
Obviously, this isn't the first time tracking software out there. The
following command-line tools have inspired the Digital Logbook and
made it what it is today:
- [[https://github.com/dhth/hours][dhth/hours]]
- [[https://github.com/larose/utt][larose/utt]]
- [[https://github.com/hardliner66/timetracking/][hardliner66/timetracking/]]
- [[https://github.com/nikolassv/bartib][nikolassv/bartib]]
- [[https://github.com/samg/timetrap][samg/timetrap]]
* History
:PROPERTIES:
:CUSTOM_ID: history
:END:
In the summer of 2021, I decided to pay more attention to the amount
of time I spend at my computer. At first I used a spreadsheet to keep
track of both what I was doing and for how long, but this approach
soon turned out to be tedious and cumbersome.
So in January 2022, I started working on a time tracking program
called Tracker, written in Python. It was my first larger programming
project and quickly grew to about 4500 lines of code, which made it
very difficult to maintain. Even though I retired this software in
the summer of 2023, I still consider it one of my favorite projects
and I definitely learned a lot from it!
Shortly after, I started working on its successor, the Digital
Logbook, written in Rust. This time the plan was to create a working
program early on and use it daily throughout development to gather
useful insights on what I liked and what I didn't like.
Unfortunately, an important library made the compilation time too long
to make development enjoyable.
For this reason, I took a fresh start in March 2025 and rewrote the
Digital Logbook in Go.
* License
:PROPERTIES:
:CUSTOM_ID: license
:END:
The Digital Logbook is available under the [[file:COPYING][GPL-3.0-or-later]].
Copyright (C) 2023-2025 Max Günther