Skip to content

feat: add clean, pr, doctor commands + parallel sync#12

Merged
maxbeizer merged 4 commits into
mainfrom
parallel-sync-and-dryrun-preview
Mar 21, 2026
Merged

feat: add clean, pr, doctor commands + parallel sync#12
maxbeizer merged 4 commits into
mainfrom
parallel-sync-and-dryrun-preview

Conversation

@maxbeizer
Copy link
Copy Markdown
Owner

@maxbeizer maxbeizer commented Mar 21, 2026

New Commands

Improvements

maxbeizer and others added 4 commits March 21, 2026 07:27
- Process repos concurrently (semaphore of 5) within each sync file,
  buffering output per repo and printing in order after all complete.
  Uses sync.WaitGroup + semaphore pattern matching cmd/settings.go.

- When --dry-run is set and a missing file has skip_if_exists = true,
  show the first 5 lines of the scaffolded content as a dimmed preview.

Closes #9
Closes #11

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements issue #8. Adds the 'gh fleet pr' command that:
- Lists all open PRs with fleet/sync-* head branches across managed repos
- Groups output by synced file
- Supports --merge (with --admin) to squash-merge all listed PRs
- Supports --close to close all listed PRs with a comment
- Supports --file filter and --dry-run preview
- Uses concurrent fetching with semaphore (limit 10)

New files:
- cmd/pr.go: command implementation
- internal/github/pr.go: FleetPR type, ListFleetPRs, FetchFleetPRs,
  MergePR, and ClosePR helpers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements issue #10. The doctor command validates fleet.toml by checking:
- owner is non-empty
- catalog.output is set and header file exists
- all canon files exist on disk
- template files contain extension-template placeholder
- template_vars keys are used in template files
- no undefined variables referenced in templates

Supports --config flag. Prints ✅/❌ checklist and exits 1 on failure.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Closes #7

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@maxbeizer maxbeizer changed the title feat: parallel sync + dry-run scaffold preview feat: add clean, pr, doctor commands + parallel sync Mar 21, 2026
@maxbeizer maxbeizer merged commit f67b560 into main Mar 21, 2026
1 check passed
@maxbeizer maxbeizer deleted the parallel-sync-and-dryrun-preview branch March 21, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant