sourcegraph / go-langserver

Go language server to add Go support to editors and other tools that use the Language Server Protocol (LSP)
https://sourcegraph.com
MIT License
1.17k stars 89 forks source link

Create a Contribution guide #315

Open danicat opened 6 years ago

danicat commented 6 years ago

I propose the creation of a CONTRIBUTING.md file or something similar to include the guidelines for contributing for this project.

It would be desirable to include a step-by-step setup guide and the contribution workflow (ie.: fork + pull request).

I can work on this if you want. :)

slimsag commented 6 years ago

What did you have in mind? (maybe link to an existing contributing file you like?)

In general, we don't have any special contribution rules or anything -- it's the same as almost every other OSS project:

I'd be hesitant to add a file that just outlines that, but am curious to hear what you think we could improve here! 😃

slimsag commented 6 years ago

I realize now our readme file doesn't describe how to e.g. develop go-langserver with Visual Studio Code. If that is primarily what you are thinking of here, I think it'd make sense to have that directly in the README itself (the steps to do this should be pretty basic: basically just launch Visual Studio Code and set up the extension to use the go-langserver, then run go install after editing the source code)

danicat commented 6 years ago

You got the idea. I'm thinking about working on some issues and it would be useful to have some guidelines on where to start (ie.: setting up the environment for development). Now that I'm thinking about it, maybe the CONTRIBUTING.md alone would not be enough. Usually this file has some overall guidelines on how to start and what are the best practicies to follow. But the environment setup maybe would fit better as an expansion of the README.md as you said.

Examples of some nice CONTRIBUTING.md files: https://github.com/docker/cli/blob/master/CONTRIBUTING.md https://github.com/kubeflow/kubeflow/blob/master/CONTRIBUTING.md

The best one (Which actually points out to an entire repo describing the process): https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md (https://github.com/kubernetes/community/tree/master/contributors/guide)

danicat commented 6 years ago

Of course, we wouldn't need something so big as the Kubernetes Contributors Guide, but having some sections describing best practices and environment setup would be nice.

slimsag commented 6 years ago

Got it, that makes sense. 😃

Of course, we wouldn't need something so big as the Kubernetes Contributors Guide, but having some sections describing best practices and environment setup would be nice.

I very much agree! I think for now we can probably just write this information into the README. If it becomes too large or needs to become more detailed, then it can later be moved to a contributing file.