Eunice includes the stages shown below.
To give Eunice composability within and between stages, a common data format for structure and dependency is described using YAML. The format of YAML supported by Eunice is specified here.
Analyzers are implemented to create the YAML files from source code of specific languages.
A list of currently supported analyzers and their accompanying tooling is available on the languages page.
YAML files generated by analyzers can then be optionally post-processed. Post-processing can include combining the output of different analyzers. There are currently two open source processors available:
To visualize and explore what's in the YAML files, and to statistically measure how well they match the intended structure, there is an interactive SVG/JavaScript/HTML page.
The following DevSnicket open source repositories and NPM packages support the JavaScript analyzer, processors, visualization and interaction.