or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-3/

{
  "context": "This criteria evaluates how well the engineer uses the cli package's argument parsing capabilities, specifically focusing on proper handling of escape sequences (- and --) to distinguish between option flags and file paths that may start with dashes.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Uses cli.parse()",
      "description": "The solution uses the cli.parse() method to parse command-line arguments with defined options (e.g., format, verbose).",
      "max_score": 20
    },
    {
      "name": "Escape sequence handling",
      "description": "The solution correctly leverages the cli package's built-in support for escape sequences (-- or -) to stop option parsing, allowing file paths that start with dashes to be treated as positional arguments rather than options.",
      "max_score": 30
    },
    {
      "name": "Accesses parsed options",
      "description": "The solution accesses parsed option values using cli.options (e.g., cli.options.format, cli.options.verbose) to retrieve the values of parsed command-line flags.",
      "max_score": 15
    },
    {
      "name": "Accesses positional arguments",
      "description": "The solution accesses positional arguments (including those after escape sequences) using cli.args to retrieve file paths that should be processed.",
      "max_score": 20
    },
    {
      "name": "Handles multiple files",
      "description": "The solution correctly processes multiple file paths from cli.args, including iterating over all files when multiple file paths are provided in the command-line arguments.",
      "max_score": 15
    }
  ]
}