Flexibility is a key requirement in order to match the diversity of scientific challenges in the computational physics, chemistry and material science communities. For this reason, AiiDA was designed with a powerful plugin interface based on python entry points.
AiiDA plugins will typically take care of preparing input files for a simulation code and parsing its output files into the AiiDA data types. Plugins can, however, extend AiiDA in numerous other ways as well, such as by adding new data types, adding support for new job schedulers, adding new transport types or extending the AiiDA command line interface. Importantly, AiiDA plugins can provide self-documenting workflows.
The public AiiDA registry is the central place to find AiiDA plugins, listing not only plugin names, authors and installation instructions but also what extensions they provide.