CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/npm-cpr

Cross-platform recursive file copying library that replicates Unix 'cp -R' command functionality

66

1.00x
Quality

Pending

Does it follow best practices?

Impact

66%

1.00x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-4/

{
  "context": "Evaluates how the solution uses the cpr package to implement a cross-platform recursive copy CLI with cleanup, overwrite control, filtering, and verification. Scoring focuses solely on whether cpr APIs or binaries are applied to deliver the required behaviors and exit codes instead of custom copy logic.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Invokes cpr",
      "description": "CLI delegates copying to the cpr API or its binary (including cpr.cpr) rather than reimplementing recursion, wiring the callback/promise to process exit codes and output handling.",
      "max_score": 25
    },
    {
      "name": "Delete-first flag",
      "description": "Maps the `--delete-first` option to `deleteFirst: true` when calling cpr (or the equivalent CLI flag) so the destination tree is removed before copying.",
      "max_score": 20
    },
    {
      "name": "Overwrite control",
      "description": "Uses cpr's `overwrite` option to honor the `--overwrite` flag, allowing replacements when set and surfacing the package's EEXIST error for the default non-overwrite path.",
      "max_score": 20
    },
    {
      "name": "Filter regex",
      "description": "Passes the provided `--filter` pattern through to cpr's `filter` option (RegExp or CLI `-f`) so matched paths are excluded while other files copy normally.",
      "max_score": 15
    },
    {
      "name": "Verification",
      "description": "Implements `--verify` via cpr's `confirm: true` option (or equivalent use of its verification) to re-stat copied paths, failing with a missing-path message and non-zero exit when any expected copy is absent.",
      "max_score": 20
    }
  ]
}

tile.json