Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Tau float64 `yaml:"tau"`
SampleSize int `yaml:"sample_size"`
DebtThreshold int `yaml:"debt_threshold"`
ExcludeFilePatterns []string `yaml:"exclude_file_patterns"`
ArchitecturePatterns []string `yaml:"architecture_patterns"`
BlameExtensions []string `yaml:"blame_extensions"`
ExcludeAuthors []string `yaml:"exclude_authors"`
Aliases map[string]string `yaml:"aliases"`
Weights Weights `yaml:"weights"`
BusFactor BusFactor `yaml:"bus_factor"`
DefaultDomains *bool `yaml:"default_domains"`
Domains DomainsConfig `yaml:"domains"`
Teams map[string]TeamEntry `yaml:"teams"`
BreadthMax int `yaml:"breadth_max"`
ProductionDailyRef float64 `yaml:"production_daily_ref"`
ExcludeRepos []string `yaml:"exclude_repos"`
ActiveDays int `yaml:"active_days"`
BlameTimeout int `yaml:"blame_timeout"`
}
func Load ¶
Load reads a config file. If explicit is true (user passed --config), a missing file is an error. Otherwise, a missing file returns defaults.
func (*Config) CustomExtensions ¶
CustomExtensions returns a map of domain names to their custom extension lists. Used with domain.BuildExtMap to create the merged extension-to-domain map.
func (*Config) IsExcludedAuthor ¶
func (*Config) IsExcludedRepo ¶
func (*Config) ResolveAuthor ¶
func (*Config) UseDefaultDomains ¶
UseDefaultDomains returns whether built-in domain extension mappings should be used. Defaults to true when default_domains is not set in config.
type DomainEntry ¶
DomainEntry defines repo patterns and file extensions for a domain.
func (*DomainEntry) UnmarshalYAML ¶
func (e *DomainEntry) UnmarshalYAML(value *yaml.Node) error
UnmarshalYAML supports both legacy format (list of strings) and new format (object).
type DomainsConfig ¶
type DomainsConfig map[string]DomainEntry
DomainsConfig maps domain names to their configuration. Supports both legacy format (list of repo patterns) and new format (object with repos + extensions).
legacy: backend: [api, worker]
new: mobile: { repos: [ios-app], extensions: [.swift, .kt] }