codefellows-lab-cloner
v1.0.2
Published
Clone a Codefellows Guide repo into a new Course Organization
Downloads
2
Maintainers
Readme
Organization Clone tool
Disclaimer: This doc is very much a work in progress, as is the tool.
This is a tool for cloning a the lab content from a 301 or 401 Guide Repo, and populating a new org with the content for each lab as a stand-alone repo. It also creates a local copy of the content for late use/updates.
Notes:
- You need to
cd
into the guide repo that you want to clone from in order for this tool to be effective and function correctly. - You need to create the new organization on GitHub and have the name of that organization available for use with the
clone
command.
Installation
Install via NPM
$ npm install -g codefellows-lab-cloner
Once installed globally, the clone
command will be available for use anywhere on your system, though it is specifically intended for use with a Codefellows Guide Repository.
GitHub Personal Access Token
A Personal Access Token is required for this application to access your Github Account and create new repositories.
export GITHUB_TOKEN='yourPersonalAccessToken'
For long term usage, the above line (including your own token) should be added to your terminal config; .bashrc
, .zshrc
, or otherwise.
Usage
Usage: clone [-h] [-v] --destination seattle-301d22 [--publish]
Useful tool for cloning the full contents of a public organization on Github
into a new organization. Propagates the repos locally, creates the repos in your
new org, and then resets the remote locally for each repo before pushing the
current content.
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show program's version number and exit.
--destination seattle-301d23, -D -seattle-301d23
Provide the full name, not including the Github
Domain, of the organization that you are creating.
Note: You must create this org on GH prior to
completing this step
--publish, -P Designate whether to publish repository content to your new
org, or exit the process after changing the Origin
Example
clone -D seattle-301d23 -P
The above command will read the current contents of any directory in the Guide repo, specifically looking for any directory with a LAB.md
file. Each qualifying directory will be migrated to a new directory at a 'sibling' level (ex: 301-guide/../seattle-301d23
) to the Guide repo, and those qualifying directories will be issued a new reposity in the organziation. Each new repo will also be given a git remote <url>
for automated or manual publishing of the LAB.md
content. Automated publishing is accomplished through the use of the -P
flag.