CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-arg

Unopinionated, no-frills CLI argument parser for Node.js applications

Overall
score

99%

Overview
Eval results
Files

rubric.jsonevals/scenario-3/

{
  "context": "This evaluation assesses the engineer's proficiency in using the arg package to define a proper specification object for parsing command-line arguments. The focus is on correctly structuring the spec object with appropriate type handlers, aliases, and utilizing package-specific utilities.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Spec object structure",
      "description": "The specification object passed to arg() uses correct key format (all keys start with '--' or '-') and properly maps to type handlers or alias strings",
      "max_score": 15
    },
    {
      "name": "String type handler",
      "description": "Uses the String constructor as the type handler for '--title' and '--description' arguments to parse string values",
      "max_score": 10
    },
    {
      "name": "Number type handler",
      "description": "Uses the Number constructor as the type handler for '--priority' argument to parse numeric values",
      "max_score": 10
    },
    {
      "name": "Boolean type handler",
      "description": "Uses the Boolean constructor as the type handler for flag arguments like '--list', '--complete', and '--help' that don't consume values",
      "max_score": 10
    },
    {
      "name": "Array type syntax",
      "description": "Uses the array type syntax [String] for '--tags' argument to allow multiple occurrences and collect them in an array",
      "max_score": 15
    },
    {
      "name": "Counter utility usage",
      "description": "Uses arg.COUNT utility for the '--verbose' argument to count flag occurrences rather than implementing a custom counter",
      "max_score": 15
    },
    {
      "name": "Alias definitions",
      "description": "Defines proper alias mappings using string values in the spec (e.g., '-p': '--priority', '--desc': '--description') that point to the canonical long-form arguments",
      "max_score": 15
    },
    {
      "name": "Parser invocation",
      "description": "Correctly invokes the arg() function with the specification object and appropriate options (such as passing custom argv parameter)",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/npm-arg

tile.json