Skip to main content

A cli tool to clone your repos

Project description

cloninator: A CLI Tool to Manage Your Repos

build lint tests license codecov readthedocs pypi downloads build automation: yam Lint: ruff

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 configuration
  • generate: Scan existing repos and generate configuration

See the Usage Guide for detailed examples and workflows.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cloninator-0.2.0.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cloninator-0.2.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

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

Hashes for cloninator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f2388e6879fbac4c11b51d244831e39a1aed43082a6e4ed7c63938b0b21e9059
MD5 04a6a4fb4dac7a33d313b1ea10155c54
BLAKE2b-256 41cc88d85089141964d1232f697f2b240ed610a977f243d0ef335627a5f58cac

See more details on using hashes here.

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

Hashes for cloninator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b997b62276611878b4b37b356a1cf6142f0203ae02fffc985097fdb2c99dda55
MD5 385bbefe5622d9f7416a992a8f15e23d
BLAKE2b-256 d899f4c3a16d96b19a2896d9f6eb26e364051bb2ba743c7f2277a50613f92bf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page