mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
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.
1.6 KiB
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.jsondependency - 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
- Class variables (variables starting with a
- Beware of platform differences
- The home directory is
process.env.USERPROFILEon Windows, while on OS X and Linux it'sprocess.env.HOME - Path separator is
\on Windows, and is/on OS X and Linux, so usepath.jointo concatenate filenames - Temporary directory is not
/tmpon Windows, useos.tmpdir()when possible
- The home directory is