Skip to content

Commit 1183f18

Browse files
committed
Add CONTRIBUTING.md
1 parent 44e95c6 commit 1183f18

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

CONTRIBUTING.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Contributing
2+
3+
I hope that you've enjoyed reading these solutions as much as I enjoyed writing them.
4+
They're pretty fast and clean...but could you make them even *faster and cleaner*?
5+
6+
If you have thought of an improvement then please
7+
[open a pull request](https://github.com/maneatingape/advent-of-code-rust/compare).
8+
Contributions are encouraged and valued. It should generally fall into one of the
9+
following two categories:
10+
11+
* **Bug Fix** Solutions try to be as general as possible but can't test for every input. Your pull
12+
request fixes an incorrect answer for your input or prevents a panic.
13+
* **Performance Improvement** Your pull request gives a significant (> 10%) performance improvement.
14+
This could be achieved by using a better algorithm, better low level optimizations
15+
or by applying the portable SIMD library.
16+
17+
## Legal Notice
18+
19+
When contributing to this project, you must agree that you have authored 100% of the content,
20+
that you have the necessary rights to the content and that the content you contribute
21+
may be provided under the project licence.
22+
23+
## Guidelines
24+
25+
Pull requests should meet the following baseline standards:
26+
27+
* Commit messages and pull request title are clear and informative.
28+
* Code style matches the existing code. This one is somewhat subjective but try to "fit in" by
29+
using the same naming conventions. Code should be portable, avoiding any architecture
30+
specific intrinsics.
31+
* No performance regressions. Benchmark the new solution versus the original and try to keep it
32+
within a ±5% margin of error. Bug fixes have more leniency to reduce performance.
33+
* Tests should pass.
34+
* Code is formatted using `rustfmt`.
35+
* Code is linted using `clippy`.
36+
37+
Formatting and linting can be executed by running [`just`](https://github.com/casey/just)
38+
(if installed) on the command line at the project root, or alternatively copying and pasting
39+
the commands from `justfile` into the terminal.

0 commit comments

Comments
 (0)