{"id":28475242,"url":"https://github.com/r3d-shadow/git-pilot","last_synced_at":"2026-01-20T16:50:34.959Z","repository":{"id":296407644,"uuid":"989055818","full_name":"r3d-shadow/git-pilot","owner":"r3d-shadow","description":"A CLI tool to sync and update Git files and configurations across multiple repositories efficiently and consistently.","archived":false,"fork":false,"pushed_at":"2025-06-09T02:55:36.000Z","size":2225,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-25T11:56:57.726Z","etag":null,"topics":["devops","devops-tools","github-actions","workflow-automation","workflow-management"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r3d-shadow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-23T13:41:36.000Z","updated_at":"2025-05-31T10:54:16.000Z","dependencies_parsed_at":"2025-05-30T19:44:24.797Z","dependency_job_id":"8787e4e9-5aeb-483d-ae31-d9401ff54ac6","html_url":"https://github.com/r3d-shadow/git-pilot","commit_stats":null,"previous_names":["r3d-shadow/git-pilot"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/r3d-shadow/git-pilot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3d-shadow%2Fgit-pilot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3d-shadow%2Fgit-pilot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3d-shadow%2Fgit-pilot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3d-shadow%2Fgit-pilot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r3d-shadow","download_url":"https://codeload.github.com/r3d-shadow/git-pilot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3d-shadow%2Fgit-pilot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003715,"owners_count":26083610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["devops","devops-tools","github-actions","workflow-automation","workflow-management"],"created_at":"2025-06-07T14:05:47.053Z","updated_at":"2025-10-10T11:32:51.518Z","avatar_url":"https://github.com/r3d-shadow.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# git-pilot\n\n\u003e Sync workflows, configs, and more across 10+ repos in seconds using Helm-style templates.\n\n---\n\n[![GitHub stars](https://img.shields.io/github/stars/r3d-shadow/git-pilot?style=social)](https://github.com/r3d-shadow/git-pilot/stargazers)\n[![PyPI version](https://img.shields.io/pypi/v/git-pilot)](https://pypi.org/project/git-pilot/)\n[![License](https://img.shields.io/github/license/r3d-shadow/git-pilot)](LICENSE)\n\n---\n\n## 🚀 Why Git-Pilot?\n\nManaging configuration and CI/CD files across 10, 20, or 100+ repositories is a nightmare.\n\n**`git-pilot` is your autopilot for repository file sync.** It brings GitOps discipline, Helm-style templating, and one-command sync to modern DevOps pipelines.\n\n### 🧠 Built for DevEx\n\n* **One command to sync them all:** Apply templates to any number of GitHub repos in one go.\n* **Helm-style power:** Use partials, macros (`.tpl`), and regex-driven rendering logic.\n* **Preview before you push:** Interactive side-by-side diffs before anything is committed.\n* **State-aware syncs:** Tracks changes and removes stale files automatically.\n* **Per-repo flexibility:** Custom branches, commit messages, and variable overrides.\n\n---\n\n## 🧰 What It Does\n\n| Feature                    | Description                                                                   |\n| -------------------------- | ----------------------------------------------------------------------------- |\n| 🔁 Multi-Repo Sync         | Render and push files across 1 or 100 repos with a single command             |\n| 🧩 Helm-Style Templates    | Use Jinja2 with custom delimiters, includes, and reusable `.tpl` macros       |\n| 🔍 Interactive Diff Viewer | See what changes before you commit—created, updated, deleted files preview    |\n| 🧬 Per-Repo Customization  | Branches, paths, commit messages, and injected variables                      |\n| 🧹 Auto-Cleanup            | Deletes stale files intelligently based on diff and state tracking            |\n| 🌐 GitHub Native (for now) | Built-in support for GitHub with extensible architecture for future providers |\n\n---\n\n## 📦 Installation\n\n```bash\npip install git-pilot\n```\n\n---\n\n## ✨ Getting Started: First Sync in 5 Minutes\n\n### 1. Initialize Template Directory\n\n```bash\ngit-pilot init --template-dir my-templates\n```\n\nThis creates a sample structure with:\n\n* Example templates (`*.yml.j2`)\n* Partials in `includes/`\n* Helper macros in `_helpers.tpl`\n* A working `values.yml` config\n\n---\n\n### 2. Customize Templates and Values\n\nEdit `my-templates/values.yml`:\n\n```yaml\ndefaults:\n  branch: main\n  message: \"git-pilot: update workflows\"\n  path: \".github/workflows\"\n  vars:\n    ci_name: my-pipeline\n    env: dev\n  templates:\n    - \".*\\.j2$\"\n\nrepos:\n  - name: r3d-shadow/git-pilot-test-1\n    vars:\n      job_id: scan1\n  - name: r3d-shadow/git-pilot-test-2\n    branch: main # override\n    vars:\n      job_id: scan2\n      env: prod # override\n```\n\n---\n\n### 3. Run Your First Sync\n\n```bash\ncd my-templates\n\ngit-pilot sync \\\n  --token $GITHUB_TOKEN \\\n  --templates ./ \\\n  --values ./values.yml\n```\n\n✅ You’ll see a full visual diff. Confirm to sync. That’s it!\n\n![Demo GIF](https://github.com/r3d-shadow/git-pilot/blob/main/docs/assets/demo.gif)\n\n---\n\n## 📘 Docs\n\n* [Templating Guide](https://github.com/r3d-shadow/git-pilot/blob/main/docs/templating.md) — Includes, macros, helpers, and Jinja2 syntax\n* [Configuration Reference](https://github.com/r3d-shadow/git-pilot/blob/main/docs/configuration.md) — All config options and repo overrides\n* [Architecture Guide](https://github.com/r3d-shadow/git-pilot/blob/main/docs/architecture-guide.md) — Extending providers and internal design\n* [Contributing to `git-pilot`](https://github.com/r3d-shadow/git-pilot/blob/main/docs/contributing.md)\n* [Roadmap](https://github.com/r3d-shadow/git-pilot/blob/main/docs/roadmap.md)\n\n---\n\n## 🛠️ Advanced Examples\n\n* Sync GitHub Actions, README.md, configs, policies, and more\n* Regex-targeted templates per repo\n* Environments like `dev`, `staging`, `prod`\n* Centralized secrets and configurations with overrides\n\n→ See `/example-template-dir` for ready-to-copy setups\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributors! Here's how to get started:\n\n```\ngit clone https://github.com/r3d-shadow/git-pilot.git\ncd git-pilot\npython3 -m venv venv\nsource venv/bin/activate\npip install -e .\ngit-pilot\n```\n\nOpen a PR with a clear description. See the [Architecture Guide](https://github.com/r3d-shadow/git-pilot/blob/main/docs/architecture-guide.md) for more details.\n\n---\n\n## 🚀 Spread the Word\n\n\u003e 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 🔥.\n\nTweet it. Star it. Fork it. Contribute.\n\nLet’s build better DevOps pipelines together.\n\n---\n\n## 🪪 License\n\nApache-2.0 license — [LICENSE](https://github.com/r3d-shadow/git-pilot/blob/main/LICENSE)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3d-shadow%2Fgit-pilot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3d-shadow%2Fgit-pilot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3d-shadow%2Fgit-pilot/lists"}