Skip to main content

Source facts

Repository
udecode/plate
Last source activity
March 29, 2026 at 23:02
Detected SKILL.md language
English
Stars
16,655
Forks
994

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
testing
description
Skill: testing
metadata
{"skiller":{"source":".agents/rules/testing.mdc"}}
## Testing Goal Keep tests in three buckets only: - Pure unit tests for deterministic logic. - Thin component or hook contract tests for real app behavior. - Golden input or output tests when serialized output is the contract. Hard constraints: - Prefer Bun for the fast local loop. - Keep the default suite fast. - No browser or e2e coverage unless the app behavior truly needs it. - Coverage is a hotspot tool, not a vanity score. ## Core Rules - Assert public behavior, not implementation detail. - Keep tests next to the code they cover with `*.spec.ts[x]`. - Keep helpers local. Do not import one spec from another. - Prefer explicit assertions over snapshots. - Delete skipped, commented, or placeholder tests instead of babysitting them. ## Seam Selection - Use plain function tests for pure logic. - Use rendered React tests for hooks, components, rerender behavior, and DOM behavior. - Use browser checks only when the contract is actually browser-specific. ## Fixtures And Assertions - Keep fixtures small. - Use plain objects for simple state. - Use `it.each` for small behavior matrices. - In Bun + Testing Library, prefer render-returned queries over `screen`. - Use direct style-property assertions instead of `toHaveStyle`. - Use snapshots only when serialized output is the contract and inline assertions would be worse. ## Quick Reference - Keep tests fast and local. - Start with the smallest seam that proves the behavior. - Prefer explicit assertions. - Browser checks are for real UI behavior, not lazy coverage.
View on GitHub