This article is about developing the ENIGMA compiler and game engine.
ENIGMA has many things left that need to be done, ENIGMA:Todo. Some of the easier tasks, little things, that need to be done in ENIGMA are easy enough that even most intermediate programmers could help accomplish. Event implementing functions is not that difficult. ENIGMA also has to ability to dynamically implement new systems, adding a system can be done by reading system documentation.
When contributing to the main source code repository for ENIGMA, there are some guidelines as well as coding conventions and a simple policy to follow. If you aren't sure about the guidelines and policies, just make a fork of the project on GitHub (https://github.com/enigma-dev/enigma-dev), implement your changes in the fork, and make a pull request to the project once you are done with the changes and have committed them to your fork (for a tutorial on how to make forks, see this page: https://help.github.com/articles/fork-a-repo). There is also a guide on GitHub issues.
The compiler is abstract from the engine, the former translates your game into C++ and other languages which is then linked against the engine.