mirror of
https://github.com/atom/atom.git
synced 2026-04-28 03:01:47 -04:00
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# :tada: Contributing to Atom :tada:
|
|
|
|
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](https://github.com/styleguide/javascript) and
|
|
[CSS](https://github.com/styleguide/css) styleguides
|
|
* Include thoughtfully worded [Jasmine](http://pivotal.github.com/jasmine/)
|
|
specs
|
|
* Avoid placing files in `vendor`. 3rd-party packages should be added as a
|
|
`package.json` dependency.
|
|
* 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)
|
|
* Class variables and methods should be in the following order:
|
|
* Class methods (methods starting with a `@`)
|
|
* Instance methods
|
|
* Beware of platform differences
|
|
* Use `require('atom').fs.getHomeDirectory()` to get the home directory.
|
|
* Use `path.join()` to concatenate filenames.
|
|
* Temporary directory is not `/tmp` on Windows, use `os.tmpdir()` when
|
|
possible
|
|
|
|
## Git Commit Messages
|
|
* Use the present tense
|
|
* Reference issues and pull requests liberally
|
|
* Consider starting the commit message with an applicable emoji:
|
|
* :lipstick: when improving the format/structure of the code
|
|
* :racehorse: when improving performance
|
|
* :non-potable_water: when plugging memory leaks
|
|
* :memo: when writing docs
|