This guide is work in progress and will be updated.
Thanks for your interest in contributing to Skynet! If you think you have a good idea on how to improve or enhance Skynet, please propose your idea on the discord channel. It's encuraged that you run your idea by the community before you spend time coding. This way you will get feedback on how the feature is perceived by the community and you also may get tips on how to best implement an enhancement.
Skynet uses semantic versioning.
You will need a working copy of DCS [(Digital Combat Simulator) to contribute to Skynet development.
Skynet is developed with the test first philosophy. Once you get the hang of it test first development is really great. It may take a bit longer to develop a new feature but you will save a lot of time not having to test existing code after a small change. Writing unit tests also makes the code more modular and therefore understandable.
Have a look at the existing unit tests to get an idea on how to write one yourself. Unit tests shall be added to the skynet-unit-tests.miz file. Check the output of the dcs.log file for information whether the tests have passed or not. Please don't create a pull request with tests failing.
I recomend you use notepad++ to edit lua files. This Post has some information on how you can add a function list for LUA in notepad++
All the .miz files in this respository load the skynet-iads-compiled.lua file including the unit test mission. To create a new build run build-compiled-script.ps1 in the Power Shell on Windows. After that you can load the skynet-iads-compiled.lua in to the .miz file of your choosing. Rund build-compiled-script.ps1 1.0.0 to add the version number in the script.
The README.md in the root of this repository is autogenerated. Don't add new documentation in this file. Instead edit README_source.md. When running build-compiled-script.ps1 the README.md is updated with a table of contents.