- Fork the project, clone your fork, and configure the remotes:
# Clone your fork of the repo into the current directory
git clone https://github.com/<your-username>/csscomb.js
# Navigate to the newly cloned directory
cd csscomb.js
# Assign the original repo to a remote called `upstream`
git remote add upstream https://github.com/csscomb/csscomb.js
- If you cloned a while ago, get the latest changes from upstream:
git checkout dev
git pull upstream dev
IMPORTANT: We are using dev
branch for development, not master
.
- Create a topic branch for your feature, change, or fix:
git checkout -b <topic-branch-name>
-
Patches and features will not be accepted without tests. Run
npm test
to check that all tests pass after you've made changes. -
Update the
README.md
if there were corresponding changes or new options. -
Locally rebase the upstream development branch into your topic branch:
git pull --rebase upstream dev
- Push your topic branch up to your fork:
git push origin <topic-branch-name>
- Open a Pull Request to a
dev
branch with a clear title and description.
- All non-trivial changes should be put up for review using GitHub Pull Requests.
- Your change should not be merged into
dev
, without at least one "OK" comment from another maintainer/collaborator on the project. - Once a feature branch has been merged into its target branch, please delete the feature branch from the remote repository.
- Include all new functional changes in the CHANGELOG.
- Use a dedicated commit to increment the version. The version needs to be
added to the
CHANGELOG.md
(inc. date) and thepackage.json
. - The commit message must be of
v0.0.0
format. - Merge
dev
intomaster
. - Create a tag for the version:
git tag v0.0.0
. - Push the changes and tags to GitHub:
git push origin dev master v0.0.0
. - Publish the new version to npm:
npm publish
.