git-fire is a CLI tool designed to simplify multi-repository checkpointing with enhanced safety and efficiency. It allows users to discover repositories, automatically commit uncommitted changes (optional), and push backup branches or remotes across multiple repositories in a single command.
Key Features:
Multi-repo Backup: Seamlessly checkpoint numerous Git repositories at once.
Safe Commit Flow: Includes dirty work by auto-committing unpushed changes or skips to only push existing commits.
Force-Push Avoidance: Safeguards against accidental overwrites with backup branches on divergence.
Dry-Run Preview: Plan execution without making changes to ensure correctness.
TUI Selector Mode: Interactively review and select repositories before proceeding.
Registry Backing: Persists discovered repositories for consistent, repeatable operations.
Structured Logging: Generates detailed JSON logs for auditing and troubleshooting.
Audience & Benefit:
Ideal for developers, platform engineers, and teams managing multiple Git repositories. git-fire helps safeguard code, infrastructure, and documentation by providing a reliable, repeatable backup process that minimizes the risk of data loss during context switches, maintenance, or risky changes. It is particularly beneficial for workflows involving AI-driven coding sessions, security operations, and incident response.
git-fire can be installed via winget on Windows, making it accessible across different operating systems.
README
git-fire - Multi-Repo Checkpoint CLI
> 🌐 git-fire.com — redirects here. A dedicated site is planned once the community grows.
> In case of fire:
> 1. git-fire
> 2. Leave building
git-fire is one command to checkpoint many repositories: discover, auto-commit dirty work (optional), and push backup branches/remotes with safety rails.
Manual push loops fail more often than we admit (network drops, auth hiccups, shell mistakes). git-fire provides an auditable recovery path when you need one consistent move across many repos.
Invocation note: git-fire and git fire are equivalent when git-fire is on your PATH.
Maintainer note: this project is built for high-stress moments and everyday discipline. Keep it simple, keep it safe, keep moving.
git-fire is beta software. Core multi-repo backup flows are usable today. A few roadmap items are intentionally not wired yet (--backup-to and USB destination mode).
Project Snapshot
Project:git-fire (github.com/git-fire/git-fire)
Language: Go 1.24.2
License: MIT
Status: Beta
Core promise: one command to discover repos, auto-commit dirty work (unless disabled), and push backups so local-only work is not lost
Detailed product, architecture, safety, testing, and roadmap notes are in docs/PROJECT_OVERVIEW.md.
Quick Start
First run
# preview first (safe)
git-fire --dry-run --path ~/projects
# run default streamed checkpoint
git-fire
One-line emergency mode
> Emergency bootstrap script path is established; package-manager installs are still coming soon.
Use this for urgent situations only. curl | bash executes remote code directly.
Inspect scripts/emergency.sh first and prefer release assets plus checksums when you have time.
# replace RELEASE_TAG with a published release tag (for example v0.2.0)
curl -fsSL https://raw.githubusercontent.com/git-fire/git-fire/RELEASE_TAG/scripts/emergency.sh | bash
Releases use plain SemVer tags (vX.Y.Z).
Release assets always include platform binaries + checksums; package-manager channels are part of the stable release process.
git-fire builds on git-harness, a small Go library of shared primitives (version pinned in go.mod; currently v0.2.0). Like git-fire, it shells out to the system git binary rather than embedding a pure-Go Git implementation.
Secret detection (patterns and filename heuristics) and sanitization helpers used when logging errors and running plugin commands.
Registry loading, planning, rate-limited execution, plugins, Bubble Tea UI, and user config remain in this repository. If you change behavior at the “how we invoke git” or “what counts as a secret warning” layer, the fix may belong in git-harness with a version bump here—see CONTRIBUTING.md and open an issue if you are unsure.
Security Notes
Before running broad backups:
keep secrets out of tracked files
rely on .gitignore and .git/info/exclude for local secret files
run git-fire --dry-run regularly to inspect what would be committed
git-fire includes secret detection warnings, but commit responsibility remains with the user.
Security Policy
To report security issues privately, use SECURITY.md.
Contributing
Contributions are welcome — and genuinely wanted. See CONTRIBUTING.md.
Your feedback, feature requests, and ideas matter here. No idea is too small or too ambitious to discuss. If you're thinking about forking to add something, open an issue first. The goal is a tool the community actually relies on, and I'd rather build it with you than have it fragment.
Runtime git and safety behavior is shared with git-harness above. Tests use git-testkit (v0.2.0) for building git repository fixtures and complex multi-repo scenarios programmatically — a companion library released alongside git-fire with a simple, extensible test API. Python and Java interfaces in development.