Documentation
¶
Index ¶
- func PrintBusFactorRisks(risks []metric.ModuleRisk)
- func PrintCochangeCoupling(repoName string, result metric.CochangeResult)
- func PrintModuleArchetypes(modules []scorer.ModuleScore)
- func PrintOwnershipFragmentation(repoName string, ownership []metric.ModuleOwnership)
- func PrintPerRepoComparison(domainName string, perRepo []PerRepoData, aggregated []scorer.Result)
- func PrintRankings(results []scorer.Result)
- func PrintRankingsCSV(domain string, results []scorer.Result, writeHeader bool)
- func PrintRankingsJSON(domain string, repoCount int, results []scorer.Result, ...)
- func PrintSummary(results []scorer.Result, repoCount int)
- func PrintTeamCSV(teams []team.TeamResult)
- func PrintTeamJSON(teams []team.TeamResult) error
- func PrintTeamTable(teams []team.TeamResult)
- func PrintTeamTimelineASCII(tl timeline.TeamTimeline)
- func PrintTeamTimelineCSV(timelines []timeline.TeamTimeline)
- func PrintTeamTimelineJSON(timelines []timeline.TeamTimeline) error
- func PrintTeamTimelineSeparator()
- func PrintTeamTimelineTable(tl timeline.TeamTimeline)
- func PrintTimelineASCII(domainName, span string, timelines []timeline.AuthorTimeline)
- func PrintTimelineCSV(domainName string, timelines []timeline.AuthorTimeline)
- func PrintTimelineJSON(domainName, span string, periods []timeline.PeriodResult, ...)
- func PrintTimelineTable(domainName, span string, timelines []timeline.AuthorTimeline)
- func WriteTimelineHTML(w io.Writer, domainTimelines []DomainTimelineData, ...) error
- func WriteTimelineSVG(dir string, domainTimelines []DomainTimelineData, ...) ([]string, error)
- type DomainTimelineData
- type JSONWriter
- func (w *JSONWriter) AddDomain(domainName string, repoCount int, results []scorer.Result, ...)
- func (w *JSONWriter) AddModuleScience(domainName string, cochangeResults []metric.CochangeResult, ...)
- func (w *JSONWriter) AddModuleScores(domainName string, modules []scorer.ModuleScore)
- func (w *JSONWriter) AddPerRepo(domainName, repoName string, results []scorer.Result)
- func (w *JSONWriter) Flush() error
- type PerRepoData
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 PrintRankingsCSV ¶
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 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 ¶
PerRepoData holds per-repo scored results for cross-repo comparison output.