From f40f5fa60e9f26c5469a29dc73d7785f044f4283 Mon Sep 17 00:00:00 2001 From: James Read Date: Wed, 19 May 2021 00:00:26 +0100 Subject: [PATCH] Create CONTRIBUTING.adoc --- CONTRIBUTING.adoc | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 CONTRIBUTING.adoc diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc new file mode 100644 index 0000000..dac79e9 --- /dev/null +++ b/CONTRIBUTING.adoc @@ -0,0 +1,47 @@ += Contributions + +Contributions are very welcome - code, docs, whatever they might be! If this is +your first contribution to an Open Source project or you're a core maintainer +of multiple projects, your time and interest in contributing is most welcome. + +If you're not sure where to get started, raise an issue in the project. + +Ideas may be discussed, purely on their merits and issues. Our Code of Conduct +(CoC) is straightforward - it's important that contributors feel comfortable in +discussion throughout the whole process. This project respects the +link:https://www.kernel.org/doc/html/latest/process/code-of-conduct.html[Linux Kernel code of conduct]. + +== If you're not sure, ask! + +Don't be afraid to ask for advice before working on a +contribution. If you're thinking about a bigger change, especially that might +affect the core working or architecture, it's almost essential to talk and ask +about what you're planning might affect things. Some of the larger future plans may not be +documented well so it's difficult to understand how your change might affect +the general direction and roadmap of this project without asking. + +The preferred way to communicate is probably via GitHub issues for now. + +=== Getting started to contribute; + +The project layout is reasonably straightforward; + +* See the `Makefile` for common targets. This project was originally created on top of Fedora, but it should be usable on Debian/your faveourite distro with minor changes (if any). +* The API is defined in protobuf+grpc - you will need to `make grpc`. +* The Go daemon is built from the `cmd` and `internal` directories mostly. +* The webui is just a single page application with a bit of Javascript in the `webui` directory. This can happily be hosted on another webserver. + +== Mechanics of submitting a change + +* Please fork, feature-branch, and PR. +* In your PR, please provide a brief, but meaningful description that describes why you think + this contribution is useful, and what it changes. + +Thanks so much for your time! :-) + +=== Checklist - testing your changes + +Before you PR, please run these checks locally; + +* `make daemon-compile`, `make daemon-codestyle` and `make daemon-unittests` should run cleanly. +* `make webui-codestyle` should run cleanly.