cli/pkg/setup
Snider e04d6025dc
feat(setup): add github command for repo configuration (#59)
* feat(setup): add github command for repo configuration (#45)

Implements `core setup github` to configure GitHub repos with org
standards including labels, webhooks, branch protection, and security
settings. Supports dry-run mode, per-repo or all-repos operation, and
selective sync of specific settings.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(setup): address CodeRabbit feedback on github command

- Sort map keys for deterministic diff output in github_diff.go
- Preserve partial results by adding changes before continue on errors
- Reject conflicting --repo and --all flags with clear error message
- Allow empty webhook URLs (skip instead of error) for optional env vars
- Add content_type comparison in webhook sync
- Add required_status_checks comparison in branch protection sync
- Add DisableDependabotSecurityUpdates for bidirectional security control

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(setup): address additional CodeRabbit feedback

- Use filepath.Join for OS-portable path construction in github_config.go
- Fix stringSliceEqual to use frequency counting for proper duplicate handling
- Simplify change accumulation with variadic append

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 03:37:06 +00:00
..
cmd_bootstrap.go refactor(cli): move commands from cmd/ to pkg/ with self-registration 2026-01-30 21:55:55 +00:00
cmd_commands.go refactor(cli): move commands from cmd/ to pkg/ with self-registration 2026-01-30 21:55:55 +00:00
cmd_github.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
cmd_registry.go feat(workspace): implement workspace.yaml support 2026-02-01 02:18:19 +00:00
cmd_repo.go refactor(cli): move commands from cmd/ to pkg/ with self-registration 2026-01-30 21:55:55 +00:00
cmd_setup.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
cmd_wizard.go refactor(setup): replace huh with simple stdin prompts 2026-01-31 23:54:01 +00:00
github_config.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
github_diff.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
github_labels.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
github_protection.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
github_security.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00
github_webhooks.go feat(setup): add github command for repo configuration (#59) 2026-02-01 03:37:06 +00:00