Skip to content

revanite-io/project-puller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

project-puller

Clone or update all repositories listed in a Security Insights file. Reads project.repositories from a local file, URL, or GitHub repo, then runs git clone or git pull for each repo.

Install

go install github.com/revanite-io/project-puller@latest

Requires Go 1.25+ and a working git on your PATH.

Usage

The source type is auto-detected from the argument:

# From a GitHub repo (looks for security-insights.yml)
project-puller org/repo

# From a GitHub repo with a custom path
project-puller org/repo/dir/security-insights.yml

# From a URL
project-puller https://raw.githubusercontent.com/org/repo/main/security-insights.yml

# From a local file
project-puller ./security-insights.yml

Repos are cloned into a directory named after the GitHub org (derived from the first repository URL). Override it with --output:

project-puller org/repo --output ./my-repos

Options

Flag Description
--output Directory for cloned repos (default: org name from first repo URL)
--username Your fork username: clone with remote upstream, add your fork as origin
--ssh Use SSH URLs for clone and remotes (default: HTTPS)
--quiet Suppress git command output

Examples

Clone all project repos via HTTPS into ./my-project:

project-puller org/project --output my-project

Same, but use SSH and set up your fork as origin with the upstream project as upstream:

project-puller org/project --output my-project --username yourname --ssh

After that, each repo has upstream (the project) and origin (your fork); clone and pull use upstream.

Troubleshooting

See CONTRIBUTING.md for build instructions, troubleshooting, and contribution guidelines.

About

a simple `git clone` accelerator for any multi-repository project that lists their repos via security-insights.yml

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages