Fleet Awareness
Discover repositories under one or more roots, skip nested duplicates, and run the same command everywhere without shell scripts.
Git + GitHub at Scale
Automate folder normalization, remote alignment, branch refresh, and workflow-driven maintenance with one CLI — purpose-built for teams juggling hundreds of repos.
Discover repositories under one or more roots, skip nested duplicates, and run the same command everywhere without shell scripts.
Domain-specific safeguards, “require clean” checks, interactive prompts, and a structured reporter ensure every operation is auditable.
Describe multi-step plans (folder rename, remote update, git operations, PR creation) declaratively with YAML or run the built-in presets.
Fix remotes, convert protocols, rename directories to canonical names, purge stale files, and refresh branches through one CLI.
Optional integrations assist with commit messages or changelog summaries while keeping human approvals in the loop.
Every command runs through the same workflow engine, so CLI, automation, and CI all produce consistent logs and summaries.
gix folder rename --roots ~/Development --owner --yes
Rename directories to match owner/repo naming so your filesystem mirrors GitHub.
gix remote update-to-canonical --owner tyemirov --roots ~/Projects
Ensure every repository’s origin points at the canonical GitHub slug.
gix remote update-protocol --from https --to git --roots ~/Work --yes
Switch entire trees over to SSH (or vice versa) without touching each repo manually.
gix cd master --stash --roots ~/Fleet
Stash tracked changes, jump to master, pull updates, and restore your work.
gix workflow configs/maintenance.yaml --roots ~/Fleet --yes
Chain rename, remote updates, git operations, and PR creation with one declarative file.
gix audit --roots ~/Fleet --all > audit.csv
Capture CSV output for branch defaults, owners, remote protocols, and more.
All commands live under cmd/cli with shared flags, configuration, and logging.
The internal workflow package plans, executes, and reports each operation, sharing discovery, prompts, and logging across commands.
pkg/taskrunner wires dependencies and now emits compact summaries when multiple repositories run.
internal/repos, internal/branches, and friends isolate Git/GitHub logic so workflows stay focused.
--stash to store tracked changes.gix cd master --stash --roots ~/Fleet.gix cd master --stash --roots ~/Fleet
gix audit --roots ~/Repos.gix remote update-protocol --from https --to git --roots ~/Repos --yes.gix remote update-protocol \
--from https \
--to git \
--roots ~/Repos --yes
gix workflow ./configs/maintenance.yaml --roots ~/Fleet --yes.workflow:
- step:
name: normalize
command: ["folder", "rename"]
with:
include_owner: true
- step:
name: remotes
after: ["normalize"]
command: ["remote", "update-to-canonical"]
Commands, steps, safeguards, templating, and summaries all flow through internal/workflow.
The engine now plugs into pkg/taskrunner, which prints a concise summary when multiple repositories run.
gix workflow namespace --var namespace_old=... --var namespace_new=...gix workflow license --var template=apachegix packages delete --roots ~/Containers --yesInstall gix with Go 1.25+, point it at your repositories, and let it keep your fleet in shape.