aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.org
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.org')
-rw-r--r--CONTRIBUTING.org80
1 files changed, 80 insertions, 0 deletions
diff --git a/CONTRIBUTING.org b/CONTRIBUTING.org
new file mode 100644
index 0000000..ab276e6
--- /dev/null
+++ b/CONTRIBUTING.org
@@ -0,0 +1,80 @@
+#+STARTUP:showall
+
+* Contributing
+
+** Running tests
+
+There are a couple of dependencies in order to run tests. These dependencies
+will be picked up directly by the =vendor= make task. You can run it by
+performing:
+
+#+BEGIN_SRC bash
+$ make vendor
+#+END_SRC
+
+The =vendor= task is already called by other tasks such as =lint=. Thus, if you
+just want to run everything, just execute:
+
+#+BEGIN_SRC bash
+$ make
+#+END_SRC
+
+This will fetch the dependencies for you and run the style checkers and the
+tests, among other things. See the sections below to read more about them.
+
+*** Checking the style
+
+The [[https://github.com/gonewest818/elisp-lint][elisp-lint]] and [[https://github.com/purcell/package-lint][package-lint]] packages are being used for checking the
+style. You can run these checkers by performing:
+
+#+BEGIN_SRC bash
+$ make lint
+#+END_SRC
+
+*** Git validation
+
+In order to ensure that the git log is as maintainable as possible, the
+[[https://github.com/vbatts/git-validation][git-validation]] tool is used. You can install this tool by running:
+
+#+BEGIN_SRC bash
+$ go get -u github.com/vbatts/git-validation
+#+END_SRC
+
+If you already have this tool installed, then simply perform:
+
+#+BEGIN_SRC bash
+$ make git-validation
+#+END_SRC
+
+Note that if you don't have this tool installed the task will do nothing (it
+will just print a help message). This is done so when running the default make
+task this doesn't interrupt it.
+
+*** Load test
+
+In order to test that this theme can be actually loaded, run:
+
+#+BEGIN_SRC bash
+$ make load-test
+#+END_SRC
+
+** Issue reporting
+
+I'm using [[https://github.com/mssola/soria][Github]] in order to host the code. Thus, in order to report issues you
+can do it on its [[https://github.com/mssola/soria/issues][issue tracker]]. A couple of notes on reports:
+
+- Check that the issue has not already been reported or fixed in =master=.
+- Try to be concise and precise in your description of the problem.
+- Provide a step by step guide on how to reproduce this problem.
+- Provide the version you are using (the commit SHA, if possible), as well as
+ the version of the GNU Emacs you are using and the operating system.
+
+** Pull requests
+
+- Write a [[https://chris.beams.io/posts/git-commit/][good commit message]].
+- Make sure that tests are passing on your local machine (it will also be
+ checked by the CI system whenever you submit the pull request).
+- Update the [[./CHANGELOG.org][changelog]] (if relevant).
+- Open a pull request with *only* one subject and a clear title and
+ description. Refrain from submitting pull requests with tons of different
+ unrelated commits.