- Using the issue tracker
- Bug reporting
- Features requests
- Pull requests
- Contributing for maintainers
- Credits
The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests, but please respect the following restrictions:
- Please do not use the issue tracker for personal support requests (use Slack or
#&yeton Freenode). - Tag issues accordingly with
bug,enhancement,feature,docsorjs.
A bug is a demonstrable problem that is caused by the code in the repository. Good bug reports are extremely helpful - thank you!
Guidelines for bug reports:
- Use the GitHub issue search — check if the issue has already been reported.
- Check if the issue has been fixed — try to reproduce it using the latest
gh-pagesbranch in the repository.
A good bug report shouldn't leave others needing to chase you up for more information. Please try to be as detailed as possible in your report. What is your environment? What steps will reproduce the issue? What browser(s) and OS experience the problem? Do other browsers show the bug differently? What would you expect to be the outcome? All these details will help people to fix any potential bugs.
Example:
Short and descriptive example bug report title
A summary of the issue and the browser/OS environment in which it occurs. If suitable, include the steps required to reproduce the bug.
- This is the first step
- This is the second step
- Further steps, etc.
Any other information you want to share that is relevant to the issue being reported. This might include the lines of code that you have identified as causing the bug, and potential solutions (and your opinions on their merits).
Yeti.css is built for people, thus feature requests are most welcome. Before submitting a new issue with an appropriate tag please take a minute to decide whether the feature belongs to the core or yeti.css recipes. The core is intentionally built small and only UI elements essential for building websites/apps will be added—external components should be proposed in yeti.css recipes.
- Clone the repository:
git clone git@github.com:andyet/yeticss.git
cd yeticss- Install dependencies (you might need to run this with
sudo):
npm i- Create a topic branch off the main branch that will contain your feature, change or fix:
git checkout -b topic-branch-name- Run the server (Stylus and Jade will be compiled in the background):
npm start- Commit your changes in small, logical chunks with descriptive messages. For specific git commit message guidelines please refer and adhere to the following guidelines.
Additionaly, prefix your commit messages with:
- [ux] — anything that isn't a bug fix, mostly new features and code refactor
- [fix] — bug fixes
- [docs] — documentation updates (including
README.mdandCONTRIBUTING.md) - [dist] — changing and/or bumping dependencies versions in
package.json
- Push changes to yeticss:
git push origin topic-branch-name- Open a pull request with a clear description against
gh-pagesbranch.
Apart from following general contributing guidelines, maintainers should make sure that:
- Breaking changes aren't pushed to main branch — when in doubt, use a separate branch
- The changelog is updated — add descriptive comments about changes to each release (more updating changelog here)
- Each release is tagged — releases should be tagged for version management on npm (more on versioning here)
Releases should be tagged and published to npm to allow for version management, npm makes this easy.
- Ensure you are on the master branch.
- Ensure you have done a
git pull origin masterto update your local code with the latest code on github. - Then run:
npm version <major|minor|patch> # to create the release
git push origin # to push the code to github
git push origin --tags # to push the version tag to github
npm publish # to publish the code to npm
Which will increment the version number, update package.json, create a git tag, and push the tag to Github.
CSS isn't quite the same as code, but tags should be roughly analagous to semver:
major: if the style change is likely to break existing sites, use a major, i.e. 1.0.0, tag.minor: if the style change should not break existing sites, but adds new features/functionality, use a minor, i.e. 0.1.0, tag.patch: if the style change is just a small bugfix that should work with existing sites, use a patch, i.e. 0.0.1, tag.
After properly tagging and pushing a new version of yeti.css to Github update the release feed according to the following guidelines:
- Release title should be the tag version
- Changes should be listed under the following categories:
- New Features
- CSS
- Module name (e.g. Typography)
- Documentation
- Bug fixes
This document was built on top of Necolas Gallagher's issue guidelines. Thank you, Necolas.