Propagate files to all your GitHub repositories via a central dispatch mechanism.
Git Dropper allows you to "drop" files into all repositories under your GitHub account through a single API call to a central repository (git-private-farm). Instead of making hundreds of individual API calls, the propagation is handled by GitHub Actions.
GitHub Actions
|
+-------------+ API Call +-----v------+ Dispatch +-------------+
| Rust CLI | ------------> | git-private | ------------> | repo-1 |
| Ada/SPARK | | -farm | | repo-2 |
| TUI | | (central) | | repo-3 |
+-------------+ +-------------+ | ... |
| repo-N |
+-------------+-
User queues a file drop via CLI or TUI
-
File is committed to
git-private-farmunderqueue/directory -
GitHub Actions workflow triggers on push
-
Workflow iterates through all repos in the account
-
For each repo: checks if file exists, adds only if missing
-
No overwrites - safe for existing files
The command-line interface for quick file drops.
# Drop a file to all repos
git-dropper drop MAINTAINERS.adoc
# Drop with custom commit message
git-dropper drop --message "Add maintainers info" MAINTAINERS.adoc
# List pending drops
git-dropper queue list
# Check status
git-dropper statusCreate ~/.config/git-dropper/config.toml:
[github]
owner = "your-username"
farm_repo = "git-private-farm"
[behavior]
no_overwrite = true # Never overwrite existing files
dry_run = false # Set true to preview without changesCreate the central repository:
gh repo create git-private-farm --privateThe repository structure:
git-private-farm/
+-- .github/
| +-- workflows/
| +-- propagate.yml # Main propagation workflow
+-- queue/ # Pending file drops
| +-- MAINTAINERS.adoc
| +-- SECURITY.md
+-- completed/ # Successfully propagated
+-- failed/ # Failed propagations (with logs)Git Dropper never overwrites existing files:
if file_exists(target_repo, filename):
skip() # File preserved
else:
add_file(target_repo, filename, content)-
✓ Basic Rust CLI
-
✓ Ada/SPARK TUI foundation
-
❏ GitHub Actions propagation workflow
-
❏ Progress tracking and reporting
-
❏ Selective repo targeting (include/exclude patterns)
-
❏ Rollback mechanism for dropped files
-
❏ GitLab and Bitbucket support
PMPL-1.0-or-later. See LICENSE.