Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProgressBar ¶
ProgressBar renders an ASCII progress bar. Format: [████████░░░░░░░░] 50% (4/8) width is the number of bar characters (default 20 if <= 0).
func SlugFromTitle ¶
SlugFromTitle converts a title to a valid milestone ID.
func ValidateID ¶
Types ¶
type Milestone ¶
type Milestone struct {
ID string `yaml:"id"`
Title string `yaml:"title"`
Description string `yaml:"description,omitempty"`
DueDate string `yaml:"due_date,omitempty"`
State string `yaml:"state"`
CreatedAt string `yaml:"created_at"`
ClosedAt string `yaml:"closed_at,omitempty"`
Body string `yaml:"-"`
}
func ListMilestones ¶
type ProgressInfo ¶
type ProgressInfo struct {
TotalTickets int
DoneTickets int
TotalPoints int
DonePoints int
DaysRemaining int // negative = overdue; 0 = due today; math.MaxInt if no due date
IsOverdue bool
HasDueDate bool
}
ProgressInfo holds computed progress metrics for a milestone.
func CalculateProgress ¶
func CalculateProgress(tickets []TicketSummary, dueDate string, doneStates []string) ProgressInfo
CalculateProgress computes progress metrics from a list of ticket summaries and an optional due date string ("YYYY-MM-DD" or "").
type TicketSummary ¶
TicketSummary is the minimal ticket data needed for progress calculation.
Click to show internal directories.
Click to hide internal directories.