We welcome all contribution from the community, but we have a few guidelines to make the process as smooth and easy as possible for everyone.
- Find an issue that tickles your fancy, or create one.
- Fork jeet (use the button in the top right of the repo's page).
git clone https://github.com/YOUR-USERNAME/jeet
to get a local copy of your fork.- Run
git remote add upstream https://github.com/mojotech/jeet
. This will add another remote, named upstream, that points to the official Jeet repository. This will help with keeping your forks up to date with Jeet's master branch.
git checkout -b YourInitials/feature-branch-name
(e.g.cs/improve-this-feature
,ma/add-this-feature
). Make all your changes for the specific feature inside this branch.- Separate edits into clean, non-breaking, commits.
- Making big changes or adding a new feature entirely? Make sure you add tests for new mixins/functions. Simply follow the structure found in
/tests
. - Run the tests with
npm run test
and make sure they all pass. - Fork the Scss and Stylus CodePens and make sure the changes behave as expected.
- Push your changes to your fork by running
git push origin your-branch-name
. - Open a pull request, give it a clear title and explain what your changes do. Provide a link to your CodePen so we can check out the changes.
- Be prepared to update your PR based on feedback. If you make updates, run
git push origin your-branch-name -f
on your branch branch to update the PR on Github. - Bask in the warm glow of being an amazing person.
If your fork is taking a while to get merged, you might end up getting behind Jeet's master branch as other changes get added. Stay up to date in the following way:
git fetch upstream master
This will give you all the latest updates from Jeet's master branch.- Run
git rebase upstream/master
while inside your feature branch. This will add all the new commits before yours, so it's as if you made the changes to the latest codebase.
- New to Git? Read this great/free book.