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.
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.
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.
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.
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.