or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses the cli package's terminal control features to implement progress tracking and visual feedback for a file processing application. The focus is on proper usage of progress bars and spinner animations.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Progress bar usage",
      "description": "Uses cli.progress() to display a progress bar that updates as files are processed. The progress value should be calculated correctly (number of completed files / total files) and passed to the progress function.",
      "max_score": 30
    },
    {
      "name": "Spinner usage",
      "description": "Uses cli.spinner() to display an animated spinner while processing individual files. The spinner should start before processing each file and stop after processing completes.",
      "max_score": 30
    },
    {
      "name": "Spinner prefix customization",
      "description": "Passes a meaningful prefix to cli.spinner() that includes the current filename being processed (e.g., 'Processing file1.txt'), making the output informative to users.",
      "max_score": 20
    },
    {
      "name": "Sequential processing implementation",
      "description": "Implements sequential file processing logic that processes files one at a time, updating visual feedback (spinner and progress bar) appropriately between each file. Uses proper async/await patterns or callbacks to coordinate processing with visual updates.",
      "max_score": 15
    },
    {
      "name": "Completion output",
      "description": "Uses cli.output() or appropriate output method to display the final completion message 'All files processed successfully!' after all files have been processed.",
      "max_score": 5
    }
  ]
}