- 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.
- 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.json
dependency. - Commit messages are in the present tense
- Files end with a newline.
- Requires should be in the following order:
- Node Modules
- Built in Atom and Atom Shell modules
- Local Modules (using relative links)
- 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
fs.getHomeDirectory()
to get home directory. - Use
path.join()
to concatenate filenames. - Temporary directory is not
/tmp
on Windows, useos.tmpdir()
when possible
- Use