-
Notifications
You must be signed in to change notification settings - Fork 0
lord over time
License
aryanrsuri/galactus
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Galactus
Galactus is a time span tracker.
Problem statement
To track focused time span where precise task(s) gets done,
and to align those spans with broader personal goals.
Requirements
rc1
1. Log a given time chunk (`span`).
1.1 Begin (`begin`) a timer with one task (`task`) when you
start work on a project, you can enter any number of space
separated labels (`label`).
1.1.1 Check to see if the timer is working (2.1.1a).
1.1.1 For each *new* label, generate a labels entry.
1.1.1a Label id: Hash of the label text
1.1.1b Comment: the label text given in the command.
1.1.2 Generate a task entry
1.1.2a Task id: Hash of the task text
1.1.2b If a task entry already exists, ignore.
1.1.2c Note well, a task is currently not associated with
a label in any way, this could change.
1.1.3 Generate an open span
1.1.3a Span id: unique identifier to that time span.
1.1.3c Span start: unix start.
1.1.3d Task id.
1.1.4 Generate span + label entries.
1.1.4a For each label, generate a span_labels entry.
1.1.5 Start the timer
1.1.5a This will generate a micro-offset to the nominal
span start. This is okay.
1.2 End (`end`) a timer, and enter a short comment (`comment`)
about your session.
1.2.1 Only one timer can exist at a time
1.3 Complete a span:
1.3.1 Find the open (most recent) span id, and enter
1.3.1a Span end: unix end
1.3.1b Comment: comment string
2. Show the status of the timer.
2.1 The status (`status`) is either
2.1.1 Idle (`idle`) if there is no open span.
2.1.1a Returned iff. no `span_end` entry is NULL.
2.1.2 Working (`working`) if there is an open span.
2.1.2a Returned iff. there is one NULL `span_end`.
2.1.2b Returns the metadata of the open span.
2.1.2c Returns the length of the open span as is.
3. Log the span history.
3.1 The log (`log`) renders a list of all previous spans
along with their metadata.
rc2
4. Visualise span history with a gantt chart.
4.1 The gantt (`gantt`) chart is a horizontal bar chart that shows
the duration of labeled time spans against the progression of time.
4.1.1 The gantt chart is rendered in tty using a terminal ui
library.
5. When opening a span, allow an optional `time` parameter.
5.1 A span will automatically "ring" and close after the alloted time is complete.
6. Given a span id, you can `revise` the span.
6.1 You can edit the close time, comment, and labels.
Items
1. Should make the span id a guid, not a checksum. This would allow
users to edit the task comment and open time values.
-----------
Made with <3 by @asuri.
LLM-free.
About
lord over time