- Click Plus
- New Repository
- IR/
REPO_NAME
PROJECT_DESCRIPTION
- Do not initialize with anything (easier to add after)
- Star your repo
- Pull your repo down locally and
cd
to it
npm init
oryarn init
and follow directions (start at 0.0.1)- Add the fig. 1 to your
.gitignore
file - Create
_art
folder README graphics/gifs - Add the fig. 2 to your
.npmignore
file - Add the fig. 6 to your
.editorconfig
file - Setup Prettier
- Get Ready to Ship Node Module
- Setup np (
yarn add np --dev
) - Add script
shipit
to package.json for releases (basic script"shipit": "np"
)
- Setup np (
- Commit local working tree.
git commit add . && git commit -a -m "begin package :package:"
- Push to github
git git push -u origin master
- Publish to npm (by running
npm run shipit
) to claim the package name. (failsauce with yarn for some reason) - Add npm badge to Readme (https://badge.fury.io/)
- Run project ininitalizing command
- Add tests to your project
"test": "jest",
"test:ci": "jest --ci --runInBand",
For CI builds
- Add Lint checking to your project
- Add script
format
to package.jsonscripts
object- JavaScript version
"format": "prettier --write \"**/*.js\" -l \"warn\" && standard --fix",
- TypeScript version
"format": "prettier --write \"**/*.ts\" -l \"warn\" && tslint -p . --fix",
- TypeScript build script can format before compile now
"build": "yarn format && tsc",
- TypeScript build script can format before compile now
- JavaScript version
- Add madge to check for circular dependencies
yarn add --dev madge
then add to test script- JavaScript version
yarn madge --circular ./src
- TypeScript version
yarn madge --extensions ts --circular ./src
- JavaScript version
- Add coverage report to your project
- Add project to Travis or Semaphore CI
- Have CI report tests and coverage
- Setup each CI to ignore the config file changes of other CIs
- Click website at top of GH page and paste
PROJECT_WEBSITE
- Click on topics and type at least 6
- Ensure Readme, if not add via Github
- Add License
- Click "Create New File"
- Type file name as "LICENSE"
- "Choose a license template" will appear top right (CLICK & FOLLOW)
- Add Code of Conduct
- Click "Create New File"
- Type file name as "CODE_OF_CONDUCT"
- "Choose a code of conduct template" will appear top right (CLICK & FOLLOW)
- Add fig. 3 to the bottom of your README.md
- Add badges from CI/Coverage to readme
- make a docs folder
- Use something like docsify to manage your docs
- Make contributors guide doc to tell people how to get contributing (see fig. 4 for example template)
- Tell github to use
/docs
folder for website - Set website of Github page as Docs website (in top edit)
- Run your Readme through cool people like FeedMeReadMe
- Update your README.md to have gifs, and friendly setup instructions. Animate important commands
- Create a
keys-to-the-kingdom
doc in a private repo to share internally - Example
# Common Cruft
.DS_Store
npm-debug.log
yarn-error.log
coverage
.nyc_output
node_modules/
.vscode/*
!.vscode/cSpell.json
.idea
dist/
_art/
__tests__/
src/
.node-version
coverage/
yarn.lock
*.log
## Support
#### Open Source
This project is free and open source. It's MIT Licensed and we'll always do our best to help and quickly answer issues. If you'd like to get a hold of us, join our [community slack](http://community.infinite.red).
#### Premium
[Infinite Red](https://infinite.red/) offers premium support and general mobile app design/development services. Email us at [hello@infinite.red](mailto:hello@infinite.red) to get in touch with us for more details.
# How do I get started contributing?
## A moment before you start contributing
Be sure to mention that you're going to take on a task on the designated issue [on Github](<Issues link here>). If there is no issue on Github, please create one first. This will limit the number of people who accidentally create PRs that do not fit the roadmap of the tool
## Running Locally
To test this project, you'll need to pull it down and configure your local system to run the development version of the project. We've made this as simple as possible!
**To get started**
* Pull down project to your local machine
* `cd` into project root
* Run `yarn` to install dependencies
* ...
You can now type `<change me>` and it will run <change me>
## Submitting a PR
Here's a friendly checklist for submitting your PR
1. Make sure any extraneous files (_i.e._ build dependencies, IDE configs, etc.) are removed or added to the `.gitignore`
1. Make sure any files non-critical to the package are added to the `.npmignore`
1. Update docs with details of changes to the interface. This includes public interfaces, file locations, or changes in parameters.
1. Make sure you have tests covering your new or changed functionality.
1. Make sure `yarn test` passes. Otherwise, your PR cannot be merged.
1. Reference your Gihub issue in your final PR
// Comments ok in TS JSON files
// I'm the `tslint.json
{
"extends": "tslint-config-standard"
// Option to modify standard if we want
// "rules": {
// "trailing-comma": [true, {"multiline": "always", "singleline": "never"}]
// }
}
# http://editorconfig.org
# top-most EditorConfig file
root = true
[*]
indent_style = space
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.{json,js,jsx,html,css,ts,tsx}]
indent_style = space
indent_size = 2
[.eslintrc]
indent_style = space
indent_size = 2
[*.md]
trim_trailing_whitespace = false
.vscode
readme.md
dist/
"prettier": {
"printWidth": 100,
"semi": false,
"singleQuote": true,
"trailingComma": "es5"
},
example appveyor.yml
build: off
environment:
nodejs_version: "7.8.0"
install:
- ps: Install-Product node $env:nodejs_version
- npm install
before_test:
- node --version
- npm --version
test_script:
- npm run test:ci
skip_commits:
files:
- travis.yml
- '*.md'