Clone or update all repositories listed in a Security Insights file. Reads project.repositories from a local file or URL, then runs git clone or git pull for each repo.
go install github.com/revanite-io/project-puller@latestRequires Go 1.25+ and a working git on your PATH.
Local file:
project-puller /path/to/security-insights.ymlURL:
project-puller https://raw.githubusercontent.com/org/repo/main/security-insights.ymlLoad the Security Insights file from a GitHub repo (default path: security-insights.yml):
project-puller --github org/repoRepos are written under the current directory by default. The output directory defaults to the project name from the file when set; override it with --output:
project-puller security-insights.yml --output ./my-repos| Flag | Short | Description |
|---|---|---|
--source |
-s |
Path or HTTP(S) URL to the Security Insights file (or pass as first argument) |
--github |
-g |
Load from GitHub as owner/repo or owner/repo/path |
--output |
Directory for cloned repos (default: project name or current dir) | |
--username |
-u |
Your fork username: clone with remote upstream, add your fork as origin |
--ssh |
Use SSH URLs for clone and remotes (default: HTTPS) | |
--quiet |
-q |
Suppress git command output |
Clone all project repos via HTTPS into ./my-project:
project-puller https://example.com/org/project/security-insights.yml --output my-projectSame, but use SSH and set up your fork as origin with the upstream project as upstream:
project-puller --github org/project --output my-project --username yourname --sshAfter that, each repo has upstream (the project) and origin (your fork); clone and pull use upstream.
Command not found after install
The Go bin directory may not be on your PATH. Add it and confirm:
export PATH="$PATH:$(go env GOPATH)/bin"
which project-puller
project-puller --helpI can't use go install
You can build the binary locally:
git clone git@github.com:revanite-io/project-puller.git
cd project-puller
go install .Then add the binary project-puller to your path, or otherwise run it however you use similar CLI tools.
PRs are welcome. Questions and feature requests can be added via GitHub Issues.