Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 2.09 KB

CONTRIBUTING.md

File metadata and controls

51 lines (37 loc) · 2.09 KB

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.

Most importantly for complex testing logic is that it should be possible for pull requests to add solutions to new problems so they appear automatically into the tool.