Recognise bots/crawlers/spiders using the user agent string.
82
{
"context": "Evaluates whether the solution builds a customizable bot detector by leveraging isbot's pattern sources and helpers. Scoring focuses on assembling modified pattern lists, compiling detectors, reporting matches, and handling null inputs using isbot APIs rather than reimplementing detection logic.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Base list usage",
"description": "Starts from isbot's exported `list` for the base patterns instead of hardcoding patterns, and only removes entries when they match the provided removal strings.",
"max_score": 20
},
{
"name": "Custom detector build",
"description": "Combines the base `list` with added patterns (appended after removals) and compiles detection with isbot's `createIsbotFromList` or `createIsbot` plus a combined RegExp, ensuring removal and addition inputs affect detection results.",
"max_score": 30
},
{
"name": "Pattern reporting",
"description": "Derives match strings from isbot helpers such as `isbotPattern`/`isbotPatterns` (or equivalent inspection against the custom compiled detector) so the reported match reflects the actual pattern that triggered detection.",
"max_score": 20
},
{
"name": "Null-safe handling",
"description": "Relies on isbot detectors' null/undefined safety (or equivalent guard around the isbot-based detector) so `detect` and `match` return falsey values without throwing for empty inputs.",
"max_score": 15
},
{
"name": "Pattern exposure",
"description": "Exposes `patterns()` by returning the combined pattern list produced from isbot's `list` after case-insensitive removals and appended additions, keeping ordering consistent with construction.",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/npm-isbot