Ctrl + K
DocumentationLog inGet started

tessl/npm-isbot

tessl install tessl/npm-isbot@5.1.0

Recognise bots/crawlers/spiders using the user agent string.

Agent Success

Agent success rate when using this tile

82%

Improvement

Agent success rate improvement when using this tile compared to baseline

0.94x

Baseline

Agent success rate without this tile

87%

rubric.jsonevals/scenario-7/

{
  "context": "Evaluates whether the solution leans on the isbot package to classify user agents and expose which detection engine ran, especially its automatic downgrade when advanced regex support is missing. Checks that both single and batch helpers propagate package-driven detection paths without custom regex replacements.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Default path",
      "description": "`classifyUserAgent` (and any helper it calls) uses `isbot` and its compiled pattern for the normal path instead of custom regex or string matching.",
      "max_score": 25
    },
    {
      "name": "Fallback usage",
      "description": "When `forceLegacy` is set or advanced regex features are unavailable, detection switches to the package's built-in fallback (`isbotNaive` or the automatic downgrade from `isbot`/`getPattern`) rather than a hand-rolled heuristic.",
      "max_score": 25
    },
    {
      "name": "Engine labels",
      "description": "The returned `engine` field is derived from which package detector ran (compiled `isbot` vs. fallback `isbotNaive`/downgraded path) and not from unrelated state or custom flags.",
      "max_score": 20
    },
    {
      "name": "Null safety",
      "description": "Null/undefined/empty user agents are handled through the package detectors (e.g., passing them to `isbot`/`isbotNaive`) to surface the library's safe falsey behavior without throwing custom errors.",
      "max_score": 15
    },
    {
      "name": "Batch summary",
      "description": "`summarizeUserAgents` counts bots by invoking the package-backed classifier for each entry (or directly reusing `isbot`/`isbotNaive`) rather than reimplementing regexes or pattern lists, preserving the same fallback semantics across the batch.",
      "max_score": 15
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/isbot@5.1.x
tile.json