All notable changes to gh-fleet are documented here.
fleet cleancommand — deletes stalefleet/sync-*branches across repos, skipping branches with open PRsfleet prcommand — lists, merges, or closes all open fleet PRs across repos; supports--filefilter,--merge,--close,--adminfleet doctorcommand — validates fleet.toml config (canon files exist, template vars match placeholders, catalog config)- Parallel sync — repos are now processed concurrently (semaphore=5) within each sync file
- Dry-run scaffold preview —
sync --dry-runshows a preview of scaffolded content for missingskip_if_existsfiles
skip_if_existsflag for sync files — skips repos that already have their own version of a file- Scaffold mode for copilot-instructions — generates repo-specific instructions from metadata (name, description, language) instead of copying the generic template
[settings]section in fleet.toml — repo settings (wiki, merge methods, branch deletion) are now configurable instead of hardcodedDeleteBranchhelper for cleaning up stale sync branches- Test coverage for
skip_if_exists,GO_MIN_PATCHtemplate var, and settings config
- Sync is now idempotent — existing
fleet/sync-*branches are deleted before re-creation, preventing "branch already exists" failures on repeated runs - Goreleaser canonical file no longer hardcodes
gh-extension-templateas project name; marked astemplate = trueso binary name is substituted per-repo - Goreleaser-action upgraded from v5 to v6 in canonical release.yml
- Makefile
GO_MIN_*values now use template variable placeholders (${GO_MIN_MAJOR}, etc.) instead of hardcoded defaults compareVersionsuses numeric comparison so1.3 < 1.24sorts correctlyUpdateRepoSettingscaptures API error output instead of suppressing with--silent- Removed dead stdin-piping code path in
CreateBranchAndPRthat always fell through - Removed redundant
-q/--jqflag duplication on file SHA lookup
- Repo list limit increased from 200 to 1000
- Removed unused
discovery.autoconfig field settingsDiffsimplified withstrings.Join
- Initial release
catalogcommand — auto-generates README with extension tabledriftcommand — detects Go version and file drift across repossynccommand — pushes canonical files to out-of-sync repos via PRsstatuscommand — health matrix with language, Go version, last pushsettingscommand — enforces repo settings (wiki, merge methods) across the fleet- Auto-discovery of
gh-*repos with exclude list - Template variable substitution for canonical files
- Concurrent GitHub API calls with semaphore rate limiting