Rig up projects on GitHub/CircleCI
I got tired of going through the same set of steps to create a repo, tweak package.json, connect circle ci, and whatnot, so, this automates that process according to my preferences.
Since this project is intended for use with
npm init, there's generally no need to install it.
(optional) Install the 1Password CLI to (potentiall) avoid some password prompts.
Use with npm initnpm install -g @ianwremmel/create
In order to avoid some password prompts,
create attempts to pull credentials
from 1Password. You'll need to set:
- a 1Password
github.com(2-Factor Auth is supported)
- a 1Password
Circle CI API Token
If you don't set these values, you'll be prompted for them at runtime. Due to timing effects, you may be prompted for multiple GitHub OTPs.
Use just like
If you're relying on 1Password, make sure to run
eval $(op signin my)first.
npm init @ianwremmel
You'll be prompted for a few decisions and then the script will do (at least) the following:
- create a github repository
- initialize local repository
- create root commit
- connect local repo to github repo
- follow project on circle ci and configure project settings
- create common project files and install dev dependencies
- generate npm scripts
- push local commits to github
- setup branch protection
- Follow project with dependabot
This project is supposed to be idempotent, but rerunning in an existing project is not well tested. Use at your own risk.