Open Source Starter
Pre-configured starter for open source Node projects with automated releases
This starter provides all necessary setup to quickly start an open source project, with fully automated release, tests, generate
CHANGELOG.md, version bump, publish to NPM.
src/will be compiled with Babel and added in the
Prettier : Opinionated code formatter
Husky : Use git hooks with ease
Here it just call lint-staged on
lint-staged : Run linters against staged git files
Commitizen : Conventional commit messages CLI
Semantic Release : Fully automated version management and package publishing
Add your test files either in
my-file.spec.jsformat, or in the
__tests__folder at your project root directory
TravisCI : Free continuous integration platform for GitHub projects
note: this repo use TravisCI, but you can use any continuous integration system you want, see semantic-release-cli documentation for or more informations.
- Fork or clone this repo
git clone https://github.com/JimmyBeldone/open-source-starter.git
- Update the
package.jsonfile with your repo's information
- Configure semantic-release with semantic-release-cli :
npx semantic-release-cli setup. Once you entered the required informations, semantic-release-cli will add the necessary tokens to your Travis repository settings.
- You're all set !
Stage a file
git add src/my-file.js
From now on when you will use
git add on a file in
src/, it will be automatically linted and prettified.
Use conventional commit
This script will open Commitizen to help you write conventional commit
Release / Publish
All you need to do is merge on master branch, simple as that.
It will :
- Triggers Travis build
- Run your test during Travis build
- Run semantic-release steps :
- Analyse your commits
- Bump version
- Add release notes
- Publish to NPM & Github
Copyright (c) 2019 Jimmy Beldone