Documentation
¶
Overview ¶
Package config handles loading and merging Simili configuration.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindConfigPath ¶
FindConfigPath searches for a config file in standard locations.
func ParseExtendsRef ¶
ParseExtendsRef parses "org/repo@branch" into components.
Types ¶
type Config ¶
type Config struct {
// Extends allows inheriting from a remote config (e.g., "org/repo@branch").
Extends string `yaml:"extends,omitempty"`
// Qdrant configures the vector database connection.
Qdrant QdrantConfig `yaml:"qdrant"`
// Embedding configures the embedding provider.
Embedding EmbeddingConfig `yaml:"embedding"`
// Workflow is a preset workflow name (e.g., "issue-triage").
Workflow string `yaml:"workflow,omitempty"`
// Steps is a custom list of pipeline steps (overrides workflow).
Steps []string `yaml:"steps,omitempty"`
// Defaults contains default behavior settings.
Defaults DefaultsConfig `yaml:"defaults"`
// Repositories lists the repositories this config applies to.
Repositories []RepositoryConfig `yaml:"repositories,omitempty"`
// Transfer configures cross-repository issue routing.
Transfer TransferConfig `yaml:"transfer,omitempty"`
}
Config is the root configuration structure.
type DefaultsConfig ¶
type DefaultsConfig struct {
SimilarityThreshold float64 `yaml:"similarity_threshold"`
MaxSimilarToShow int `yaml:"max_similar_to_show"`
CrossRepoSearch *bool `yaml:"cross_repo_search,omitempty"`
}
DefaultsConfig holds default behavior settings.
type EmbeddingConfig ¶
type EmbeddingConfig struct {
Provider string `yaml:"provider"`
APIKey string `yaml:"api_key"`
Model string `yaml:"model,omitempty"`
Dimensions int `yaml:"dimensions,omitempty"`
}
EmbeddingConfig holds embedding provider settings.
type QdrantConfig ¶
type QdrantConfig struct {
URL string `yaml:"url"`
APIKey string `yaml:"api_key"`
Collection string `yaml:"collection"`
}
QdrantConfig holds Qdrant connection settings.
type RepositoryConfig ¶
type RepositoryConfig struct {
Org string `yaml:"org"`
Repo string `yaml:"repo"`
Description string `yaml:"description,omitempty"` // For LLM routing
Labels []string `yaml:"labels,omitempty"`
Enabled bool `yaml:"enabled"`
}
RepositoryConfig defines a repository and its settings.
type TransferConfig ¶ added in v0.1.0
type TransferConfig struct {
Enabled *bool `yaml:"enabled,omitempty"`
Rules []TransferRule `yaml:"rules,omitempty"`
LLMRoutingEnabled *bool `yaml:"llm_routing_enabled,omitempty"`
HighConfidence float64 `yaml:"high_confidence,omitempty"` // Default: 0.9
MediumConfidence float64 `yaml:"medium_confidence,omitempty"` // Default: 0.6
DuplicateConfidenceThreshold float64 `yaml:"duplicate_confidence_threshold,omitempty"` // Default: 0.8
}
TransferConfig holds transfer routing settings.
type TransferRule ¶ added in v0.1.0
type TransferRule struct {
Name string `yaml:"name"`
Priority int `yaml:"priority,omitempty"`
Target string `yaml:"target"` // "owner/repo"
Labels []string `yaml:"labels,omitempty"` // ALL must match
LabelsAny []string `yaml:"labels_any,omitempty"` // ANY must match
TitleContains []string `yaml:"title_contains,omitempty"`
BodyContains []string `yaml:"body_contains,omitempty"`
Author []string `yaml:"author,omitempty"`
Enabled *bool `yaml:"enabled,omitempty"`
}
TransferRule defines a rule for transferring issues to another repository.
Click to show internal directories.
Click to hide internal directories.