aboutsummaryrefslogtreecommitdiffhomepage
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorCalvin Rose <calsrose@gmail.com>2018-10-18 13:27:47 -0400
committerCalvin Rose <calsrose@gmail.com>2018-10-18 13:28:18 -0400
commitc3ba6139592d1855ee235242e56c6603023247a0 (patch)
tree47a2e47f8f5366680b39aed7b2625fceba4e4be4 /CONTRIBUTING.md
parentAdd Emscripten section to README.md (diff)
Add CONTRIBUTING.md
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..0ecfc1f0
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,45 @@
+# Guidelines for contributing to Janet
+
+Thanks for taking time to contribute to Janet!
+
+Please read this document before making contributions.
+
+## Reporting bugs
+
+* Check past and current issues to see if your problem has been run into before.
+* If you can't find a past issue for your problem, or if the issues has been closed
+ you should open a new issue. If there is a closed issue that is relevant, make
+ sure to reference it.
+* As with any project, include a comprehensive description of the problem and instructions
+ on how to reproduce it. If it is a compiler or language bug, please try to include a minimal
+ example. This means don't post all 200 lines of code from your project, but spend some time
+ distilling the problem to just the relevant code.
+* Add the `bug` tag to the issue.
+
+## Contributing Changes
+
+If you want to contribute some code to the project, please submit a pull request and
+follow the below guidelines. Not all changes will be merged, and some pull requests
+may require changes before being merged.
+
+* Include a description of the changes.
+* If there are changes to the compiler or the language, please include tests in the test folder.
+ The test suites are not organized in any particular way now, so simply add your tests
+ to one of the test suite files (test/suite0.janet, test/suite1.janet, etc.). You can
+ run tests with `make test`. If you want to add a new test suite, simply add a file to
+ the test folder and make sure it is run when`make test` is invoked.
+* Be consistent with the style. For C this means follow the indentation and style in
+ other files (files have MIT license at top, 4 spaces indentation, no trailing whitespace, cuddled brackets, etc.)
+ For janet code, the use lisp indentation with 2 spaces. One can use janet.vim to
+ do this indentation, or approximate as close as possible.
+
+## Suggesting Changes
+
+To suggest changes, open an issue on GitHub. Check GitHub for other issues
+that may be related to your issue before opening a new suggestion. Suggestions
+put forth without code will be considered, but not necessarily implemented in any
+timely manner. In short, if you want extra functionality now, then build it.
+
+* Include a good description of the problem that is being solved
+* Include descriptions of potential solutions if you have some in mind.
+* Add the appropriate tags to the issue. For new features, add the `enhancement` tag.