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 `intent(...)` for the higher-level pipeline workflow and `test(...)` for the pure-unit slugify function, and avoids importing Jest/Vitest-specific APIs.",
"type": "weighted_checklist",
"checklist": [
{
"name": "intent for pipeline",
"description": "Uses `intent(...)` (not `test(...)`) to define at least one test block for the pipeline/workflow module (src/pipeline.ts).",
"max_score": 20
},
{
"name": "test for slugify",
"description": "Uses `test(...)` (not `intent(...)`) to define at least one test block for the pure slugify function (src/slugify.ts).",
"max_score": 20
},
{
"name": "No Jest describe/it/expect",
"description": "Does NOT use Jest or Vitest APIs: no `describe(`, `it(`, `expect(`, `beforeEach(`, `afterEach(`, `beforeAll(`, `afterAll(` in the test files.",
"max_score": 15
},
{
"name": "No Jest import",
"description": "Does NOT import from 'jest', '@jest/globals', 'vitest', or '@vitest/globals' in any test file.",
"max_score": 15
},
{
"name": "DECISIONS.md present",
"description": "A DECISIONS.md file exists and mentions both `intent` and `test` in the context of which module each was applied to.",
"max_score": 15
},
{
"name": "intent rationale in DECISIONS.md",
"description": "DECISIONS.md explains that `intent(...)` was chosen for the pipeline because it tests behavior or workflow (not just a pure function).",
"max_score": 8
},
{
"name": "test rationale in DECISIONS.md",
"description": "DECISIONS.md explains that `test(...)` was chosen for slugify because it is a low-level pure-unit check.",
"max_score": 7
}
]
}evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
rules
skills
themis