summaryrefslogtreecommitdiff
path: root/internal/config
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-10-31 20:13:32 +0200
committerPaul Buetow <paul@buetow.org>2025-10-31 20:13:32 +0200
commit11eea6a82cbfdde40ec1457c6ea080da4da6b7dc (patch)
tree8026068f6a3beb3ee02c45f06f4487f4b89caaf1 /internal/config
parent5c3e0b5cf99d028c4f06be7a825388b296e37a22 (diff)
feat: implement amp AI tool support and replace Taskfile with Magev0.10.0
- Add amp as default AI tool for release notes and showcase generation - Fallback chain: amp → hexai → claude → aichat - Replace Taskfile.yaml with magefile.go for build automation - Update all documentation (README.md, AGENTS.md, doc/development.md) - Update version to 0.10.0 Amp-Thread-ID: https://ampcode.com/threads/T-735ba1e2-0255-4b43-8ed1-6c0d2f78301b Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'internal/config')
-rw-r--r--internal/config/config.go44
1 files changed, 22 insertions, 22 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index dce5526..48e6d5f 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -19,14 +19,14 @@ type Organization struct {
// Config holds the application configuration
type Config struct {
- Organizations []Organization `json:"organizations"`
- Repositories []string `json:"repositories,omitempty"`
- ExcludeBranches []string `json:"exclude_branches,omitempty"` // Regex patterns for branches to exclude
- WorkDir string `json:"work_dir,omitempty"` // Working directory for cloning repositories
- ExcludeFromShowcase []string `json:"exclude_from_showcase,omitempty"` // Repository names to exclude from showcase
- // SkipReleases maps a repository name to a list of tag names for which
- // releases should NOT be created on any platform (GitHub/Codeberg)
- SkipReleases map[string][]string `json:"skip_releases,omitempty"`
+ Organizations []Organization `json:"organizations"`
+ Repositories []string `json:"repositories,omitempty"`
+ ExcludeBranches []string `json:"exclude_branches,omitempty"` // Regex patterns for branches to exclude
+ WorkDir string `json:"work_dir,omitempty"` // Working directory for cloning repositories
+ ExcludeFromShowcase []string `json:"exclude_from_showcase,omitempty"` // Repository names to exclude from showcase
+ // SkipReleases maps a repository name to a list of tag names for which
+ // releases should NOT be created on any platform (GitHub/Codeberg)
+ SkipReleases map[string][]string `json:"skip_releases,omitempty"`
}
// Load reads and parses the configuration file
@@ -102,25 +102,25 @@ func (c *Config) Validate() error {
}
}
- return nil
+ return nil
}
// ShouldSkipRelease returns true if the configuration specifies that
// the given repo/tag combination should not have a release created.
func (c *Config) ShouldSkipRelease(repo, tag string) bool {
- if c == nil || c.SkipReleases == nil {
- return false
- }
- tags, ok := c.SkipReleases[repo]
- if !ok {
- return false
- }
- for _, t := range tags {
- if t == tag {
- return true
- }
- }
- return false
+ if c == nil || c.SkipReleases == nil {
+ return false
+ }
+ tags, ok := c.SkipReleases[repo]
+ if !ok {
+ return false
+ }
+ for _, t := range tags {
+ if t == tag {
+ return true
+ }
+ }
+ return false
}
// GetGitURL returns the git URL for an organization