If you would like to contribute enhancements or fixes, please do the following:
- Fork the package repository
- Run
npm install
to setup all dependencies - Hack on a separate topic branch created from the latest
master
. Changes to the package code should be made to the files in thelib
directory. - Check for lint errors with
npm test
. - Commit the changes under
lib
and push the topic branch - Make a pull request
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests liberally
- When only changing documentation, include
[ci skip]
in the commit description - Consider starting the commit message with an applicable emoji:
- 🎁
:gift:
when adding a new feature - 🎨
:art:
when improving the format/structure of the code - 🐎
:racehorse:
when improving performance - 🚱
:non-potable_water:
when plugging memory leaks - 📝
:memo:
when writing docs - 🐧
:penguin:
when fixing something on Linux - 🍎
:apple:
when fixing something on macOS - 🏁
:checkered_flag:
when fixing something on Windows - 🐛
:bug:
when fixing a bug - 🔥
:fire:
when removing code or files - 💚
:green_heart:
when fixing the CI build - ✅
:white_check_mark:
when adding tests - 🔒
:lock:
when dealing with security - ⬆️
:arrow_up:
when upgrading dependencies - ⬇️
:arrow_down:
when downgrading dependencies - 👕
:shirt:
when removing linter warnings
- 🎁
Please note that modifications should follow these coding guidelines:
- Indent is 2 spaces
- Code should pass the
eslint
linter - Vertical whitespace helps readability, don’t be afraid to use it
Project members with push access to the repository also have the permissions needed to release a new version. If there have been changes to the project and the team decides it is time for a new release, the process is to:
- Update
CHANGELOG.md
with the planned version number and a short bulleted list of major changes. Include pull request numbers if applicable. - Commit the changelog and any
lib/
changes to master. - Publish a new version with
apm publish {major|minor|patch}
, using semver to decide what type of version should be released. apm
will then automatically:
- Update
package.json
with the new version number - Commit the changed
package.json
to master - Create a git tag for the new version and push it to GitHub
- Publish the package to the Atom package manager
Thank you for helping out!