There are three types of modules:

- Languages defining several aspects of languages that then can be used to write code in solutions
- Generators that define the conversion rules to transform code into code in another language
- Solutions holding code (programs or libraries)

Solutions themselves can be of three basic kinds:

- Sandbox - end-user programs
- Runtime solutions - libraries of reusable code, frequently loaded from external sources (e.g. jar files)
- Plugin solutions - code extending the IDE functionality (e.g. new menu entries, tool windows, etc.)