Sync workflows, configs, and more across 10+ repos in seconds using Helm-style templates.
Managing configuration and CI/CD files across 10, 20, or 100+ repositories is a nightmare.
git-pilot is your autopilot for repository file sync. It brings GitOps discipline, Helm-style templating, and one-command sync to modern DevOps pipelines.
- One command to sync them all: Apply templates to any number of GitHub repos in one go.
- Helm-style power: Use partials, macros (
.tpl), and regex-driven rendering logic. - Preview before you push: Interactive side-by-side diffs before anything is committed.
- State-aware syncs: Tracks changes and removes stale files automatically.
- Per-repo flexibility: Custom branches, commit messages, and variable overrides.
| Feature | Description |
|---|---|
| 🔁 Multi-Repo Sync | Render and push files across 1 or 100 repos with a single command |
| 🧩 Helm-Style Templates | Use Jinja2 with custom delimiters, includes, and reusable .tpl macros |
| 🔍 Interactive Diff Viewer | See what changes before you commit—created, updated, deleted files preview |
| 🧬 Per-Repo Customization | Branches, paths, commit messages, and injected variables |
| 🧹 Auto-Cleanup | Deletes stale files intelligently based on diff and state tracking |
| 🌐 GitHub Native (for now) | Built-in support for GitHub with extensible architecture for future providers |
pip install git-pilotgit-pilot init --template-dir my-templatesThis creates a sample structure with:
- Example templates (
*.yml.j2) - Partials in
includes/ - Helper macros in
_helpers.tpl - A working
values.ymlconfig
Edit my-templates/values.yml:
defaults:
branch: main
message: "git-pilot: update workflows"
path: ".github/workflows"
vars:
ci_name: my-pipeline
env: dev
templates:
- ".*\.j2$"
repos:
- name: r3d-shadow/git-pilot-test-1
vars:
job_id: scan1
- name: r3d-shadow/git-pilot-test-2
branch: main # override
vars:
job_id: scan2
env: prod # overridecd my-templates
git-pilot sync \
--token $GITHUB_TOKEN \
--templates ./ \
--values ./values.yml✅ You’ll see a full visual diff. Confirm to sync. That’s it!
- Templating Guide — Includes, macros, helpers, and Jinja2 syntax
- Configuration Reference — All config options and repo overrides
- Architecture Guide — Extending providers and internal design
- Contributing to
git-pilot - Roadmap
- Sync GitHub Actions, README.md, configs, policies, and more
- Regex-targeted templates per repo
- Environments like
dev,staging,prod - Centralized secrets and configurations with overrides
→ See /example-template-dir for ready-to-copy setups
We welcome contributors! Here's how to get started:
git clone https://github.com/r3d-shadow/git-pilot.git
cd git-pilot
python3 -m venv venv
source venv/bin/activate
pip install -e .
git-pilot
Open a PR with a clear description. See the Architecture Guide for more details.
Just found this tool called
git-pilot— sync your GitHub Actions, configs, and more across 10+ repos with a single command. Helm-style templates. Pure 🔥.
Tweet it. Star it. Fork it. Contribute.
Let’s build better DevOps pipelines together.
Apache-2.0 license — LICENSE
