Files
atom/CONTRIBUTING.md
probablycorey 1f20dbf16d Remove philosophy portion from contributions.
I feel like these suggestions are too subjective. I think we could
expand upon these ideas in a separate document, but they are a bit 
overwhelming for new contributors.
2013-11-27 11:19:37 -08:00

1.6 KiB

🚨 Contributing to Atom 🚨

Issues

  • Include screenshots and animated GIFs whenever possible, they are immensely helpful
  • Include the behavior you expected to happen and other places you've seen that behavior such as Emacs, vi, Xcode, etc.
  • Check the Console app for stack traces to include if reporting a crash
  • Check the Dev tools (alt-cmd-i) for errors and stack traces to include

Code

  • Follow the JavaScript and CSS styleguides
  • Include thoughtfully worded Jasmine specs
  • Add 3rd-party packages as a package.json dependency
  • Commit messages are in the present tense
  • Commit messages that improve the format of the code start with 💄
  • Commit messages that improve the performance start with 🐎
  • Commit messages that remove memory leaks start with 🚱
  • Commit messages that improve documentation start with 📝
  • Files end with a newline
  • Class variables and methods should be in the following order:
    • Class variables (variables starting with a @)
    • Class methods (methods starting with a @)
    • Instance variables
    • Instance methods
  • Beware of platform differences
    • The home directory is process.env.USERPROFILE on Windows, while on OS X and Linux it's process.env.HOME
    • Path separator is \ on Windows, and is / on OS X and Linux, so use path.join to concatenate filenames
    • Temporary directory is not /tmp on Windows, use os.tmpdir() when possible