mirror of
https://github.com/atom/atom.git
synced 2026-01-23 05:48:10 -05:00
1.9 KiB
1.9 KiB
🎉 Contributing to Atom 🎉
These are just guidelines, not rules, use your best judgement and feel free to propose changes to this document in a pull request.
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.
Pull Requests
- Include screenshots and animated GIFs whenever possible.
- Follow the JavaScript and CSS styleguides
- Include thoughtfully worded Jasmine specs
- Avoid placing files in
vendor. 3rd-party packages should be added as apackage.jsondependency. - Files end with a newline.
- Requires should be in the following order:
- Built in Node Modules (such as
path) - Built in Atom and Atom Shell Modules (such as
atom,shell) - Local Modules (using relative paths)
- Built in Node Modules (such as
- Class variables and methods should be in the following order:
- Class methods (methods starting with a
@) - Instance methods
- Class methods (methods starting with a
- Beware of platform differences
- Use
require('atom').fs.getHomeDirectory()to get the home directory. - Use
path.join()to concatenate filenames. - Temporary directory is not
/tmpon Windows, useos.tmpdir()when possible
- Use
Git Commit Messages
- Use the present tense
- Reference issues and pull requests liberally
- Consider starting the commit message with an applicable emoji:
- 💄 when improving the format/structure of the code
- 🐎 when improving performance
- 🚱 when plugging memory leaks
- 📝 when writing docs