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
intent vs test function choice
intent for pipeline
0%
100%
test for slugify
100%
100%
No Jest describe/it/expect
100%
100%
No Jest import
100%
100%
DECISIONS.md present
0%
100%
intent rationale in DECISIONS.md
0%
100%
test rationale in DECISIONS.md
100%
100%
gitignore and project layout
.themis/ gitignored
0%
100%
__themis__/reports/ gitignored
0%
100%
__themis__/shims/ gitignored
0%
100%
init --agents in setup
100%
100%
generate src/ in setup
100%
100%
.themis/ described as framework-managed
0%
100%
__themis__/tests described as committed
0%
100%
No Jest/Vitest setup
100%
100%
no ad hoc asset shim files
No tests/*.cjs shim
100%
100%
No tests/*.setup.* file
100%
100%
No jest.config shim
0%
100%
No moduleNameMapper
0%
100%
APPROACH.md present
100%
100%
APPROACH.md no-shim rationale
0%
100%
Test files use Themis constructs
0%
100%
Test files in __themis__/tests
0%
100%
Jest migration via built-in commands
themis migrate command used
0%
100%
No manual Jest rewrite
0%
100%
Built-in workflow first
0%
100%
rerun-failed mentioned
0%
100%
update-contracts mentioned
0%
100%
No Jest config preserved
100%
100%
MIGRATION_NOTES.md present
100%
100%
No Jest devDependencies kept
100%
100%
test generation workflow and file layout
generate command in script
100%
100%
intent for runPipeline
0%
100%
test for aggregateStep
0%
100%
Tests in __themis__/tests
0%
100%
.themis/ described as artifact output
100%
100%
__themis__/tests described as committed
0%
100%
No Jest/Vitest APIs in tests
0%
100%
GENERATION_REPORT.md present
100%
100%
Agent reporter fix loop
--reporter agent in script
0%
100%
--rerun-failed in script
0%
100%
failures[].cluster mentioned
0%
100%
failures[].repairHints mentioned
0%
100%
sourceFile/lineNumber mentioned
100%
100%
No stack trace re-reading
100%
100%
expected/actual mentioned
100%
100%
Script comment explains why agent reporter
0%
100%
Claude Code integration setup
--claude-code flag used
100%
100%
CLAUDE.md mentioned in notes
0%
100%
Skill file path mentioned
33%
100%
Slash commands mentioned
0%
100%
PostToolUse hook mentioned
0%
100%
generate command in setup.sh
0%
100%
Skill auto-load behavior described
0%
100%
Hook feedback loop described
58%
100%
Intent phase structure and TypeScript reference
Triple-slash reference in pipeline test
0%
100%
Triple-slash reference in utility test
0%
100%
intent() for DocumentParser
0%
100%
test() for normalizeText
0%
100%
intent has context phase
0%
100%
intent has run phase
0%
100%
intent has assert/verify phase
0%
100%
No Jest/Vitest APIs in test files
0%
100%
Reference directive explained
100%
100%
Vitest full migration with codemods
themis migrate vitest in script
0%
100%
--rewrite-imports --convert flags used
0%
0%
No manual sed/awk rewrite
100%
100%
--rerun-failed in script
0%
100%
--update-contracts in script
0%
100%
Vitest deps removal mentioned
100%
0%
Three failure states documented
50%
100%
Built-in commands before manual work
70%
100%
Final themis test confirms stable
30%
100%
Deterministic test authoring
Clock controlled in scheduler test
100%
100%
Network mocked in rate test
100%
100%
test() for aggregateRecords
0%
66%
intent() for ReportScheduler
0%
100%
Triple-slash reference present
0%
100%
No Jest/Vitest APIs in test files
0%
100%
Nondeterminism handling documented
100%
100%
Tests in __themis__/tests
100%
100%
Deterministic assertions
100%
100%
Table of Contents