docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
{
"context": "This criteria evaluates how effectively the engineer uses the MJML package to build a command-line tool for processing email templates. The focus is on proper usage of MJML's CLI-related API functions and configuration options.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Core compilation usage",
"description": "Uses mjml2html function from the mjml package to convert MJML templates to HTML. Should call mjml2html with the MJML content as the first parameter and receive the html property from the returned object.",
"max_score": 25
},
{
"name": "Validation configuration",
"description": "Implements validation mode using the validationLevel option when calling mjml2html. Should use 'strict' or 'soft' validation level and properly check the errors array in the returned object to determine validation success or failure.",
"max_score": 20
},
{
"name": "Beautify option",
"description": "Uses the beautify option in mjml2html options to format HTML output. Should pass { beautify: true } to enable formatted, indented HTML generation.",
"max_score": 15
},
{
"name": "Minify option",
"description": "Uses the minify option in mjml2html options to compress HTML output. Should pass { minify: true } to enable minified HTML generation with whitespace removed.",
"max_score": 15
},
{
"name": "File watching",
"description": "Implements file watching functionality to detect changes and trigger recompilation. Uses a file system watcher (like fs.watch or chokidar) to monitor MJML files and calls mjml2html when changes are detected.",
"max_score": 15
},
{
"name": "Error handling",
"description": "Properly handles errors from mjml2html by checking the errors property in the returned object and displaying error messages to users. Should exit with appropriate error codes when validation fails.",
"max_score": 10
}
]
}