output

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 20, 2026 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrintBusFactorRisks

func PrintBusFactorRisks(risks []metric.ModuleRisk)

func PrintCochangeCoupling

func PrintCochangeCoupling(repoName string, result metric.CochangeResult)

PrintCochangeCoupling prints the strongest co-change coupling pairs. These are module pairs that frequently change together in the same commit, indicating implicit structural coupling — a leaky boundary or shared concern.

func PrintModuleArchetypes

func PrintModuleArchetypes(modules []scorer.ModuleScore)

PrintModuleArchetypes prints the 3-axis module topology table. Shows only anomalous modules (Hub, Turbulent, Critical, Dead, Orphaned) to focus on risks.

func PrintOwnershipFragmentation

func PrintOwnershipFragmentation(repoName string, ownership []metric.ModuleOwnership)

PrintOwnershipFragmentation prints module ownership analysis. Highlights modules at risk: sole owners (bus factor 1) and concentrated ownership (effectively sole owner with minor contributors).

func PrintPerRepoComparison

func PrintPerRepoComparison(domainName string, perRepo []PerRepoData, aggregated []scorer.Result)

PrintPerRepoComparison prints a cross-repo comparison table showing each author's Role, Style, State and Impact score per repository, with a Pattern column.

func PrintRankings

func PrintRankings(results []scorer.Result)

func PrintRankingsCSV

func PrintRankingsCSV(domain string, results []scorer.Result, writeHeader bool)

func PrintRankingsJSON

func PrintRankingsJSON(domain string, repoCount int, results []scorer.Result, risks []metric.ModuleRisk)

PrintRankingsJSON is a convenience for single-domain output (not used in multi-domain flow).

func PrintSummary

func PrintSummary(results []scorer.Result, repoCount int)

func PrintTeamCSV

func PrintTeamCSV(teams []team.TeamResult)

PrintTeamCSV outputs team results as CSV (one row per team).

func PrintTeamJSON

func PrintTeamJSON(teams []team.TeamResult) error

PrintTeamJSON outputs team results as JSON.

func PrintTeamTable

func PrintTeamTable(teams []team.TeamResult)

PrintTeamTable renders team results with bar charts to the terminal.

func PrintTeamTimelineASCII

func PrintTeamTimelineASCII(tl timeline.TeamTimeline)

PrintTeamTimelineASCII renders team timeline data as ASCII line charts.

func PrintTeamTimelineCSV

func PrintTeamTimelineCSV(timelines []timeline.TeamTimeline)

PrintTeamTimelineCSV outputs team timeline data as CSV.

func PrintTeamTimelineJSON

func PrintTeamTimelineJSON(timelines []timeline.TeamTimeline) error

PrintTeamTimelineJSON outputs team timeline data as JSON.

func PrintTeamTimelineSeparator

func PrintTeamTimelineSeparator()

PrintTeamTimelineSeparator prints a divider between team timelines.

func PrintTeamTimelineTable

func PrintTeamTimelineTable(tl timeline.TeamTimeline)

PrintTeamTimelineTable renders team timeline data as a colored terminal table.

func PrintTimelineASCII

func PrintTimelineASCII(domainName, span string, timelines []timeline.AuthorTimeline)

PrintTimelineASCII renders author timelines as ASCII line charts.

func PrintTimelineCSV

func PrintTimelineCSV(domainName string, timelines []timeline.AuthorTimeline)

PrintTimelineCSV outputs timeline data as CSV.

func PrintTimelineJSON

func PrintTimelineJSON(domainName, span string, periods []timeline.PeriodResult, timelines []timeline.AuthorTimeline)

PrintTimelineJSON outputs timeline data as JSON.

func PrintTimelineTable

func PrintTimelineTable(domainName, span string, timelines []timeline.AuthorTimeline)

PrintTimelineTable outputs timeline data as a colored terminal table.

func WriteTimelineHTML

func WriteTimelineHTML(w io.Writer, domainTimelines []DomainTimelineData, teamTimelines []timeline.TeamTimeline) error

WriteTimelineHTML generates a self-contained HTML file with Chart.js interactive graphs.

func WriteTimelineSVG

func WriteTimelineSVG(dir string, domainTimelines []DomainTimelineData, teamTimelines []timeline.TeamTimeline) ([]string, error)

WriteTimelineSVG generates SVG chart files for each author and team timeline. It writes files into dir and returns the list of generated file paths.

Types

type DomainTimelineData

type DomainTimelineData struct {
	DomainName string
	Span       string
	Timelines  []timeline.AuthorTimeline
}

DomainTimelineData groups author timelines under a domain for HTML output.

type JSONWriter

type JSONWriter struct {
	// contains filtered or unexported fields
}

JSONWriter accumulates domain data for a single JSON output at the end.

func NewJSONWriter

func NewJSONWriter() *JSONWriter

func (*JSONWriter) AddDomain

func (w *JSONWriter) AddDomain(domainName string, repoCount int, results []scorer.Result, risks []metric.ModuleRisk)

func (*JSONWriter) AddModuleScience

func (w *JSONWriter) AddModuleScience(domainName string, cochangeResults []metric.CochangeResult, ownership []metric.ModuleOwnership)

AddModuleScience appends co-change and ownership data to the last added domain.

func (*JSONWriter) AddModuleScores

func (w *JSONWriter) AddModuleScores(domainName string, modules []scorer.ModuleScore)

AddModuleScores appends module topology scores to the matching domain.

func (*JSONWriter) AddPerRepo

func (w *JSONWriter) AddPerRepo(domainName, repoName string, results []scorer.Result)

AddPerRepo appends per-repo results to the last added domain (or matching domain).

func (*JSONWriter) Flush

func (w *JSONWriter) Flush() error

type PerRepoData

type PerRepoData struct {
	RepoName string
	Results  []scorer.Result
}

PerRepoData holds per-repo scored results for cross-repo comparison output.

Jump to

Keyboard shortcuts

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