or run

npx @tessl/cli init
Log in

Version

Files

tile.json

rubric.jsonevals/scenario-6/

{
  "context": "This criteria evaluates how effectively the engineer uses picomatch to implement cross-platform path matching functionality. The focus is on proper usage of picomatch's platform-specific options, path handling capabilities, and matching functions to support both Windows and POSIX path formats.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Windows option usage",
      "description": "Uses picomatch's `windows` option to enable Windows path support in the createMatcher function, allowing both forward slashes and backslashes as path separators",
      "max_score": 25
    },
    {
      "name": "Platform-specific matching",
      "description": "Correctly implements platform-specific behavior by passing appropriate options (windows: true for Windows platform, windows: false or omitted for POSIX) to picomatch functions",
      "max_score": 20
    },
    {
      "name": "Case sensitivity handling",
      "description": "Uses picomatch's `nocase` option for Windows platform to implement case-insensitive matching, while maintaining case-sensitive matching for POSIX",
      "max_score": 15
    },
    {
      "name": "Matcher function creation",
      "description": "Uses picomatch() to create reusable matcher functions that can be called repeatedly with different paths, rather than using isMatch() for every test",
      "max_score": 15
    },
    {
      "name": "Batch matching implementation",
      "description": "Implements batch path matching using picomatch.isMatch() or a picomatch() matcher function to filter arrays of paths against patterns",
      "max_score": 15
    },
    {
      "name": "Path normalization",
      "description": "Implements path normalization by converting between forward slashes and backslashes based on target platform (replacing '\\\\' with '/' for POSIX, '/' with '\\\\' for Windows)",
      "max_score": 10
    }
  ]
}