Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type HistoryChange ¶
type HistoryChange struct {
Field string `json:"field"`
OldValue string `json:"old_value,omitempty"`
NewValue string `json:"new_value,omitempty"`
}
HistoryChange describes a single field change within an operation.
type HistoryEntry ¶
type HistoryEntry struct {
OperationID string `json:"operation_id"`
Action string `json:"action"`
Time time.Time `json:"time"`
Changes []HistoryChange `json:"changes,omitempty"`
}
HistoryEntry groups all changes that occurred in one atomic operation.
type ProjectSummary ¶
type ProjectSummary struct {
Name string `json:"name"` // The unique Project name.
Remaining int `json:"remaining"` // The sum of all pending and waiting Tasks.
Completed int `json:"completed"` // The number of completed Tasks.
Percent int `json:"percent"` // The percentage of completed tasks.
Tasks []*Task `json:"tasks"` // All Tasks associated with the Project.
}
ProjectSummary holds aggregated Task stats for a single Project.
type Task ¶
type Task struct {
TaskID ulid.ULID `json:"id"` // The unique task identifier.
DisplayID int `json:"display_id"` // User-friendly incrementing integer; unique amongst pending tasks and recycled when tasks are completed or deleted.
Project string `json:"project,omitempty"` // The unique Project identifier.
Description string `json:"description"` // The user-facing Task text.
Tags []string `json:"tags,omitempty"` // Arbitrary labels for filtering and grouping.
VirtualTags []string `json:"virtual_tags,omitempty"` // Computed tags describing Task state; not stored.
Status Status `json:"status"` // The current lifecycle state of the Task.
BlockedBy []*Task `json:"blocked_by,omitempty"` // Task that must be completed prior to this Task.
Blocking []*Task `json:"blocking,omitempty"` // Tasks that depend on this Task being completed.
Deadline *time.Time `json:"deadline,omitempty"` // When the Task is supposed to be completed.
Scheduled *time.Time `json:"scheduled,omitempty"` // When work on the Task is supposed to begin.
Wait *time.Time `json:"wait,omitempty"` // When the Task becomes visible in reports.
Urgency float64 `json:"urgency"` // Computed urgency of a Task; higher values are more urgent.
UrgencyBreakdown []UrgencyComponent `json:"urgency_breakdown,omitempty"` // Per-component breakdown; populated only by info-style queries.
Created time.Time `json:"created"` // When the Task was created.
Modified time.Time `json:"modified"` // When the Task was last modified.
History []HistoryEntry `json:"history,omitempty"` // Audit log; populated only by info-style queries.
}
type UrgencyComponent ¶
type UrgencyComponent struct {
Label string `json:"label"`
Coefficient float64 `json:"coefficient"`
Weight float64 `json:"weight"`
}
UrgencyComponent holds one term of the urgency score breakdown.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package client provides the public API for TaskKit.
|
Package client provides the public API for TaskKit. |
|
cmd
|
|
|
taskkit
command
|
|
|
taskkit/format
Package format provides output formatters for task data.
|
Package format provides output formatters for task data. |
|
Package config provides XDG-compliant configuration loading for TaskKit.
|
Package config provides XDG-compliant configuration loading for TaskKit. |
|
Package filter provides composable SQL clause builders for querying tasks.
|
Package filter provides composable SQL clause builders for querying tasks. |
|
internal
|
|
|
Package urgency computes a weighted urgency score for tasks.
|
Package urgency computes a weighted urgency score for tasks. |
Click to show internal directories.
Click to hide internal directories.