Documentation
¶
Overview ¶
Package changelog implements AI-generated CHANGELOG synthesis from task history. It reads the completed task list and step history from state, builds a prompt, calls the configured provider, and returns a human-readable CHANGELOG in markdown or JSON format.
Index ¶
- func BuildPrompt(s *state.ProjectState, sinceStep int, format string) string
- func FormatMarkdownFromJSON(r *Result) string
- func Generate(ctx context.Context, p provider.Provider, prompt, model string, ...) (string, error)
- func MilestoneTaskIDs(milestones []*milestone.Milestone) map[string]map[int]bool
- type Entry
- type Result
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildPrompt ¶
func BuildPrompt(s *state.ProjectState, sinceStep int, format string) string
BuildPrompt constructs the prompt sent to the AI provider. It injects:
- the project goal and instructions
- completed / skipped / failed tasks (filtered by sinceStep)
- recent step output excerpts
- milestone groupings if present
format is "markdown" or "json" — tells the AI which output format to use.
func FormatMarkdownFromJSON ¶
FormatMarkdownFromJSON converts a parsed JSON Result into markdown CHANGELOG format.
Types ¶
type Entry ¶
type Entry struct {
// Version or milestone label (e.g. "v0.1", "Sprint 1", "Unreleased").
Version string `json:"version"`
// Date of the milestone / release, or zero value when unknown.
Date time.Time `json:"date,omitempty"`
// Brief section heading (e.g. "Added", "Fixed", "Changed").
Section string `json:"section"`
// Items is the list of bullet-point change descriptions.
Items []string `json:"items"`
}
Entry is a single changelog item synthesized by the AI.
Click to show internal directories.
Click to hide internal directories.