A cli tool to clone your repos
Project description
cloninator: A CLI Tool to Manage Your Repos
cloninator is a command-line tool that manages Git repositories through YAML configuration. Define your repositories once, then clone them all with a single command. Perfect for setting up development environments across multiple machines or managing large collections of repositories.
Features
- Bulk cloning: Clone all configured repositories with one command
- Multiple remotes: Automatically configure origin, upstream, and other remotes
- Post-checkout automation: Run setup commands after cloning (e.g.,
pip install,npm install) - Nested organization: Mirror your desired directory structure in config
- Split configurations: Organize configs across multiple files (personal, work, etc.)
- Config generation: Scan existing repos to auto-generate configuration
- Idempotent: Safe to run repeatedly; skips already-cloned repos
Quick Start
1. Install
uv tool install --python 3.13 cloninator
2. Configure
Create ~/.config/cloninator/config.yaml:
/root: ~/projects
personal:
myproject:
/remotes:
- name: origin
url: git@github.com:user/myproject.git
work:
company-repo:
/remotes:
- name: origin
url: git@gitlab.com:company/repo.git
- name: upstream
url: git@gitlab.com:upstream/repo.git
/post_checkout:
- pip install -r requirements.txt
3. Clone
cloninator clone
Commands
clone: Clone all repositories from configurationgenerate: Scan existing repos and generate configuration
See the Usage Guide for detailed examples and workflows.
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cloninator-0.2.0.tar.gz.
File metadata
- Download URL: cloninator-0.2.0.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2388e6879fbac4c11b51d244831e39a1aed43082a6e4ed7c63938b0b21e9059
|
|
| MD5 |
04a6a4fb4dac7a33d313b1ea10155c54
|
|
| BLAKE2b-256 |
41cc88d85089141964d1232f697f2b240ed610a977f243d0ef335627a5f58cac
|
File details
Details for the file cloninator-0.2.0-py3-none-any.whl.
File metadata
- Download URL: cloninator-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.25 {"installer":{"name":"uv","version":"0.11.25","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b997b62276611878b4b37b356a1cf6142f0203ae02fffc985097fdb2c99dda55
|
|
| MD5 |
385bbefe5622d9f7416a992a8f15e23d
|
|
| BLAKE2b-256 |
d899f4c3a16d96b19a2896d9f6eb26e364051bb2ba743c7f2277a50613f92bf8
|