Contributing

The following is a set of guidelines for contributing to this project. These are not rules, use your best judgment and feel free to propose changes to this document in a pull request.

Code of Conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior here.

How Can I Contribute?

Reporting Bugs

This section guides you through submitting a bug report for Atom. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.

  • Before creating bug reports, please check the existing issues as you might find out that one has already been created by another user.
  • When you are creating a bug report, please provide a clear and descriptive title.
  • Please include as many details as possible in your report. Remember, in order to fix the issue, we must first be able to reproduce it.
  • The use of images, GIFs, or any other form of media is not only allowed, it’s encouraged.
  • Include any relevant details about your configuration and environment.

Enhancements & Feature Requests

Users provide the best insight for improving a product. So always feel free to suggest improvements, feedback, and give the developers an idea of what new features you’d like to see in the future. Don’t forget, this is one of the greatest benefits of open-source development! If you’d like to submit an enhancement request, please include the following information: * Current project version (check that you are using the latest version) * How would this enhancement benefit most users? * Do you have any examples of other applications that feature this enhancement? * Relevant details about your configuration and environment. * Note: Don’t forget to tag your post with the Enhancement label.

Pull Requests

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub

  • Provide as much information as possible on the changes made to existing code.
  • Include thoughtfully-worded, well-structured commit messages and comments.
  • Include screenshots and animated GIFs in your pull request whenever possible.
  • When addressing an existing issue, please include an issue mention in the description of your pull request.
  • End files with a newline.
  • Avoid platform-dependent code on cross-platform applications.
  • Ensure that submitted code follows the style guidlines specified in the Styleguide below.

Styleguides

Commit Messages

  • Do your best to conform the tense to that of the existing commits. (“Add feature” not “Added feature” or vice versa)
  • Use the imperative mood (“Move cursor to…” not “Moves cursor to…”)
  • Consider starting the commit message with an applicable emoji:
    • :art: when improving the format/structure of the code
    • :racehorse: when improving performance
    • :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
    • :recycle: when refactoring code
    • :fire: when removing code or files
    • :white_check_mark: when adding tests
    • :lock: when dealing with security
    • :iphone: when working on responsive design
    • :truck when moving or renaming files
    • :bento: when adding or updating assets
    • :building_construction: when making architectural changes
    • :wheelchair: when improving accessibility
    • :construction_worker: when modifying the CI build
    • :non-potable_water: when plugging memory leaks
    • :arrow_up: when upgrading dependencies
    • :arrow_down: when downgrading dependencies
    • :rotating_light: when removing linter warnings

Code

  • Use spaces around operators
    • count + 1 instead of count+1
  • Capitalize initialisms and acronyms in names, except for the first word, which should be lower-case:
    • getURL instead of getUrl
  • Provide comments for important or complex code
  • Conform your code to the existing styles to the best of your ability
  • Always check that your submission follows The Boy Scout Rule