Puppeteer is a design configuration smell detection tool for Puppet code.
- Execute the cpdRunner.sh shell script to carry out clone detection using PMD-CPD tool.
- Download the PMD tool and update the path in the shell script.
- Update the folder path where all the Puppet repositories are placed.
- Execute the script.
- Update the constant REPO_ROOT in Constants.py that represents the folder path where all the Puppet repositories are placed.
- Execute "Puppeteer.py".
The tool supports detection of following design configuration smells:
- Multifaceted Abstraction
- Unnecessary Abstraction
- Imperative Abstraction
- Missing Abstraction
- Insufficient Modularization
- Duplicate Block
- Broken Hierarchy
- Unstructured Module
- Dense Structure
- Deficient Encapsulation
- Weakened Modularity