Skip to content

Commit 3fb1491

Browse files
committed
docs: add contributing guide
1 parent 3681457 commit 3fb1491

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

CONTRIBUTING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Contributing
2+
3+
Everyone is welcome to contribute, in whatever form they are comfortable with. For example:
4+
- improve documentation,
5+
- test features,
6+
- fix bugs,
7+
- or add new features.
8+
9+
## Getting Started
10+
11+
Before diving into code or content overhaul, check if your idea isn't being work on, a quick look at issues and pull requests should do. If you are still unsure, open an issue with a brief description of what would you like to do.
12+
13+
## Development
14+
15+
To start working on a bug-fix, a feature, or a content update, follow these steps:
16+
17+
1. Fork the repository.
18+
19+
2. Link package as a dev package.
20+
21+
To do that, when in package's directory, run `apm link --dev` in terminal. This way package will be available only in dev mode (Atom's menu bar: `View > Developer > Open in Dev Mode...`), over it's official version (if one is installed).
22+
23+
3. Work on a problem in a dedicated branch.
24+
25+
4. When done, submit a pull request to the main repository on GitHub.
26+
27+
### Commit messages
28+
29+
We are using [semantic-release], which (as part of continuous deployment) provides automatic versioning based on [conventional commits].
30+
31+
Detailed information about message format can be found on [conventional commits] website. It's also worth checking past commits and pull requests to get an idea about how and which types are used within the repository.
32+
33+
Each commit is checked by [commitlint], run by [Husky], and will point out any issues with a commit message - no need to worry about accidental, incorrect commits.
34+
35+
### Debugging
36+
37+
For general information regarding debugging in Atom, take a look at [debugging][atom-debugging] section of the Atom Flight Manual.
38+
39+
### Language Server Protocol (LSP)
40+
41+
Atom IDE packages revolve around [language server protocol], for which integration base is provided by [atom-languageclient].
42+
43+
To log communication between Atom and a language server, dedicated debugging option needs to be set in Atom's configuration, `atom.config.set('core.debugLSP', true)` - e.g. through [init file]. Log entries should be visible in the console, in Developer Tools (`ctrl+shift+i`), e.g.:
44+
45+
```
46+
TypeScript (Theia) [Started] Starting Theia for some-project
47+
rpc.sendRequest textDocument/definition sending {textDocument: {…}, position: {…}}
48+
rpc.sendRequest textDocument/definition received (27ms) [{…}]
49+
```
50+
*Note: "Verbose" log level is required for some entries*
51+
52+
[semantic-release]: https://github.com/semantic-release/semantic-release
53+
[conventional commits]: https://www.conventionalcommits.org/en/v1.0.0
54+
[commitlint]: https://commitlint.js.org
55+
[Husky]: https://github.com/typicode/husky
56+
[atom-debugging]: https://flight-manual.atom.io/hacking-atom/sections/debugging/
57+
[atom-languageclient]: https://github.com/atom/atom-languageclient
58+
[language server protocol]: https://microsoft.github.io/language-server-protocol/
59+
[init file]: https://flight-manual.atom.io/hacking-atom/sections/the-init-file/

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,8 @@ Vue language support for [Atom IDE][]
1414

1515
3. [Optional] Install [Atom IDE][] packages
1616

17+
## Contributing
18+
19+
Take a look at [Contributing Guide](CONTRIBUTING.md).
20+
1721
[atom ide]: https://atom-ide-community.github.io/

0 commit comments

Comments
 (0)