Skip to content
This repository has been archived by the owner on Aug 7, 2023. It is now read-only.

Latest commit

 

History

History
78 lines (45 loc) · 3.69 KB

CONTRIBUTING.md

File metadata and controls

78 lines (45 loc) · 3.69 KB

Contributing

Basic Steps

If you would like to contribute enhancements or fixes, please do the following:

  1. Fork the package repository and clone your fork to a local folder.

  2. Run npm install in the project to setup all dependencies.

  3. Run apm link --dev to link your working folder as a development-mode-only package. (Testing)

  4. Run git checkout -b my-awesome-branch to create and checkout a separate branch for your work. (Tips)

  5. Hack away at the code, and don't forget to have fun. 👩‍💻

  6. Check for lint errors with npm run lint or use linter-eslint within Atom. (Guidelines)

  7. Run atom --dev path/to/cool-project to test-drive your improvements. (Testing)

  8. Run the specs and verify they are all green. (Testing)

  9. Commit the changes and push the topic branch to your fork on GitHub.

  10. Make a pull request to the main repo here.

  11. Welcome to the club! 🤸‍♀️

Tips

  • The steps above had you checkout a separate branch. This is not strictly necessary. But it is strongly encouraged. The master branch might update before your commit is merged. In this case, you will need to rebase those changes into your own commit. Having a separate branch for your work greatly reduces the number of things that can go wrong in that process.

Code Guidelines

Please note that modifications should follow these coding guidelines:

  • Code should pass linting by eslint. In addition to checking for common bugs, the linter is used to enforce style requirements.

  • Vertical whitespace helps readability, don’t be afraid to use it!

Testing

  • Running apm link --dev will link your working folder to Atom as a development-mode-only package. Atom will load this development version of the package instead of any regularly installed package, allowing you to test your code in a live environment. Use atom --dev some/project/folder to start in developer mode.

  • There are several ways to start the specs. Any of these will run the full test suite. Make sure the tests pass before submitting a pull request.

    • Run atom --test spec in the command line.
    • Type specs in the Command Pallete and press Enter.
    • Click through the menus View -> Developer -> Run -> Package Specs
    • Press the hotkey Ctrl-Y or -Alt-Ctrl-P

Discussion

If you have any questions during development you can join the #linter-plugin-dev channel on Atom's Slack instance.

Maintainers

  • If given Maintainer status, you should create your branches directly off of the atom-linter repo instead of using a fork. This allows other maintainers to easily add additional commits to your branch for an open pull request.

  • 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:

    1. Update CHANGELOG.md with the planned semver version number and a short bulleted list of major changes. Include pull request numbers if applicable.

    2. Update package.json with the new version number.

    3. Commit the changed package.json and CHANGELOG.md to master

    4. Create a git tag for the new version and push it to GitHub * To create the (signed) tag: git tag -s -m "vx.y.z" vx.y.z * To push to GitHub: git push --follow-tags

    5. Publish the package to the Atom package manager * apm publish --tag vx.y.z

Thank you for helping out! 💕