@ianwremmel/proj
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.
Install
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 init
npm install -g @ianwremmel/create
Usage
In order to avoid some password prompts, create
attempts to pull credentials
from 1Password. You'll need to set:
- a 1Password
login
forgithub.com
(2-Factor Auth is supported) - a 1Password
password
forCircle 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 npm init
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
- .circleci/config.yml
- .editorconfig
- .eslintrc.yml
- .gitignore
- .markdownlint
- .prettierrc
- .prettierignore
- .npmrc
- LICENSE
- README.md
- commitlint.config.js
- package.json
- 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.
Maintainers
Contribute
See CONTRIBUTE
License
© MIT