Reference tile for Themis, a Node.js and TypeScript unit test framework designed for AI coding agents. Covers unit-test authoring, Jest/Vitest migration, agent-readable failure output with repair hints, and first-class integrations for Claude Code, Cursor, and generic agents.
96
94%
Does it follow best practices?
Impact
97%
2.69xAverage score across 10 eval scenarios
Passed
No known issues
{
"context": "Tests whether the agent uses Themis's built-in migration commands rather than manually rewriting test files, and produces a plan that avoids large manual Jest-to-Themis rewrites.",
"type": "weighted_checklist",
"checklist": [
{
"name": "themis migrate command used",
"description": "migrate.sh or migration-plan.md references a `themis migrate` command (or `npx themis migrate` / `bunx themis migrate`) rather than manual file-by-file rewriting.",
"max_score": 20
},
{
"name": "No manual Jest rewrite",
"description": "migrate.sh does NOT contain sed/awk/perl commands or scripts that manually convert Jest syntax (describe/it/expect) to Themis syntax line-by-line across all test files.",
"max_score": 15
},
{
"name": "Built-in workflow first",
"description": "migration-plan.md describes running Themis migration commands as the primary approach BEFORE any manual rewriting step.",
"max_score": 15
},
{
"name": "rerun-failed mentioned",
"description": "migrate.sh or MIGRATION_NOTES.md mentions `themis test --rerun-failed` (or equivalent) as a step to handle failures after migration.",
"max_score": 10
},
{
"name": "update-contracts mentioned",
"description": "migrate.sh, migration-plan.md, or MIGRATION_NOTES.md mentions `themis test --update-contracts` as part of the post-migration workflow.",
"max_score": 10
},
{
"name": "No Jest config preserved",
"description": "migrate.sh or migration-plan.md includes a step to remove or replace jest.config.ts / jest.config.js, not preserve it alongside Themis.",
"max_score": 10
},
{
"name": "MIGRATION_NOTES.md present",
"description": "A MIGRATION_NOTES.md file exists with content about handling migration failures or edge cases.",
"max_score": 10
},
{
"name": "No Jest devDependencies kept",
"description": "migrate.sh or migration-plan.md includes removing Jest-related devDependencies (jest, @types/jest, ts-jest) from package.json.",
"max_score": 10
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
rules
skills
themis