summarizer

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package summarizer provides interfaces and implementations for generating human-readable summaries of repository changes.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.0.8

type Config struct {
	GitHubUser string
	LLMApiKey  string
	LLMBaseURL string
	LLMModel   string
}

Config captures the data summarizers need to build notifications.

type LLMSummarizer

type LLMSummarizer struct{}

LLMSummarizer implements the Summarizer interface using a large language model.

func (*LLMSummarizer) GenerateNotificationMessage

func (s *LLMSummarizer) GenerateNotificationMessage(jar *diff.Jar, cfg Config) (string, error)

GenerateNotificationMessage generates a notification message using the LLM.

type StaticSummarizer

type StaticSummarizer struct{}

StaticSummarizer implements Summarizer with a static message generator.

func (StaticSummarizer) GenerateNotificationMessage

func (s StaticSummarizer) GenerateNotificationMessage(jar *diff.Jar, _ Config) (string, error)

GenerateNotificationMessage generates a static notification message from repository diffs.

type Summarizer

type Summarizer interface {
	GenerateNotificationMessage(jar *diff.Jar, cfg Config) (string, error)
}

Summarizer generates human-readable notification messages from repository diffs.

func NewLLMSummarizer

func NewLLMSummarizer() Summarizer

NewLLMSummarizer returns a new Summarizer that uses a large language model.

func NewStaticSummarizer

func NewStaticSummarizer() Summarizer

NewStaticSummarizer returns a new Summarizer that generates static messages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL