diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7defa4f127a0e78142c447948422c306def39f11 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -0,0 +1,47 @@ +# How to contribute + +Contributing can be done in many ways. For example looking at issues +and finding how to solve them, or look into documentation. If you want +to make instructive videos/webms then I will make sure to add +them/link them ASAP. If you have an idea for a feature then I suggest +you either contact me or file a pull request. + +If you have an idea that you think fits with the project and is not +listed in the "Things that would be nice to have" list, then please +discuss it with me before creating a pull request and working on +it. Since there is no real quality assurance of this project I want to +make sure that at least the ideas within it are sound and fits the +theme of the application. + +# Things that would be nice to have + +Here is a list of things that would be cool to add to the +project. Either through the plugin system or to the core program. + + +### Templates and runners for different programming languages + +For competitive programming I only use C++ and python, but I know a +lot of people use Java and because Kattis also supports a ton of +different languages it would be nice to support a wide array of +languages. + + +### User Guide + +I find that the best projects are also the most user friendly and +creating a user guide with visual media is something I think would be +very useful. This section is more aimed at the end-user and not the +developers. This would include things like: example usages, +webms/videos of typical usage and tutorial-style guides. + + +### Complex testing logic + +Some problems have a more complex testing logic and they require some +form of program to validate. This is an area in which it would be nice +to allow for some cool form of validation where you have some standard +types of validation or have some Domain Specific Language where you +describe the validation. An example of a standard validation would be +`set`, the order of the items are not relevant, or `set-lines`, each +line in the output has to match by set equality.