node package manager

kamino

kamino

a node.js powered cli for cloning all your repos from Git(Hub/Lab)

This will clone all the repos that you have access to based on the results from the respective API. Projects are cloned into [dir]/[namespace]/[project].

usage

npm install -g kamino

github

Create an access token. Store that token (~/.bash_profile, ~/.extra, etc.).

kamino --host api.github.com --token ddddc5e7e685ede0548b98d98fef99eb --dir ~/mysrc
gitlab

Find your access token from (e.g. gitlab.mydomain.com/profile/account).

kamino --host gitlab.mydomain.com --token QVy1PB7sTxfy4pqfZM1U --dir ~/mysrc

Optional flags are:

  • -s for secure access (Gitlab only)
  • -v for verbose logging while cloning

config

You can put your options in a config file ~/.kaminorc

host=192.168.1.1
token=pJkyWhDPUXCtnvx6r9cZ
dir=/Users/me/mysrc

debug

We use debug to enable a "dry-run" mode. This will not clone any repos, but rather show you what would be cloned with the current settings.

$ DEBUG="kamino" bin/kamino
Found 199 projects possible to clone.
  kamino should clone: crocodilejs/babel-preset-crocodile +0ms
  kamino should clone: crocodilejs/crocodile-cli +1ms
  // ...
  Finished. 0 repos successfully cloned