copy-github-directory
Get a Github directory quickly by a simple command.
Usage
Copy the URL on your web browser.
Run copy-github-directory
command with the URL. (It is similar git clone
)
That's it!
Install
You don't need to install it.
npx copy-github-directory <url> [directory]
Just use it with npx
command.
But, if you install (npm install -g copy-github-directory
), you can get the short command ghcopy
instead
of copy-github-directory
.
Command
npx copy-github-directory https://github.com/rocket-hangar/workspace-template
# It will be made `workspace-template` directory on your current location
npx copy-github-directory https://github.com/rocket-hangar/workspace-template project
# It will be made `project` directory on your current location
npx copy-github-directory https://github.com/rocket-hangar/workspace-template .
# It will be made files on your current location
Workspaces
If you use it in a yarn
workspaces. (If there are exists yarn.lock
and workspaces
property on package.json
)
It adds workspaces information to package.json files.
For example,
cd my-monorepo
npx copy-github-directory https://github.com/rocket-hangar/templates/tree/main/web project
It will write package.json
files like below.
// $PWD/package.json
{
"workspaces": ["project"]
}
// $PWD/project/package.json
{
"name": "project"
}
If you don't want to modify package.json files use the option --no-workspace <url>
.
Alias
If you have URLs that you use frequently, you can give them aliases.
Make .ghcopy.json
file on your home directory like below. ($HOME/.ghcopy.json
)
{
"alias": {
"workspace": "https://github.com/rocket-hangar/workspace-template",
"web": "https://github.com/rocket-hangar/templates/tree/main/web",
"packages": "https://github.com/rocket-hangar/templates/tree/main/packages"
}
}
Then you can use command with the alias.
copy-github-directory web my-web-project
Pre-configured alias
-
workspace
:https://github.com/rocket-hangar/workspace-template
yarn berry based workspace template -
web
:https://github.com/rocket-hangar/templates/tree/main/web
vite.js based web app template -
packages
:https://github.com/rocket-hangar/templates/tree/main/packages
rocket-punch based multi-package template