Every operation must:
- Have unit tests covering at least one happy path and one edge case
- Be deterministic (same input + args → same output)
- Not perform network I/O
- Not mutate global state
- Declare its input types and output type
- Create a file in
packages/plugins-standard/src/ops/ - Export it from
packages/plugins-standard/src/index.ts - Add tests
- Run the full check:
pnpm lint && pnpm typecheck && pnpm test
- TypeScript strict — no
any - Public API functions have JSDoc
- UI components: keyboard-accessible, correct ARIA roles where needed
- Use
import type { Foo }for type-only imports
- Target:
main - CI must pass (lint + typecheck + test + build)
- One logical change per PR