no-violations

Enforce TypeScript and Valibot boundary validation rules in the ethernauta monorepo.

1|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/niconiahi/ethernauta --skill no-violations
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: no-violations
Source: https://github.com/niconiahi/ethernauta/tree/main/skills/no-violations
Command: npx skills add https://github.com/niconiahi/ethernauta --skill no-violations

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Eliminates unsafe TypeScript patterns and consistency drift by enforcing a repo-wide set of absolute coding rules for boundaries, typing, and validation.

Core Features & Use Cases

  • Boundary-first correctness: Validate all untrusted inputs at boundaries with Valibot parse, then rely on inference inside the implementation.
  • No escape hatches: Bans as type assertions, any/unknown/never misuse, non-null !, lint disables/ignores, and hand-rolled TypeScript object types.
  • Valibot as the only validator: Prevents duplicate or manual validation logic in production code by encoding invariants in schemas instead.
  • Brand-safe hex primitives: Ensures branded core hex types are only produced via parse, preventing subtle type and equality bugs.

Quick Start

Use the no-violations skill rules before writing any new TypeScript in the monorepo, especially when introducing new parsing/encoding boundaries or branded hex handling.

Frequently Asked Questions about no-violations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce strict TypeScript type safety rules in a monorepo?▼

To enforce strict TypeScript type safety rules in a monorepo, apply absolute coding conventions that ban `as` type assertions, non-null `!` operators, and lint disables, preventing unsafe typing patterns and consistency drift across packages.

What is boundary-first validation with Valibot in TypeScript?▼

Boundary-first validation with Valibot means validating all untrusted inputs at the boundary using Valibot `parse`, then relying on type inference inside the implementation to ensure schema-driven typing.

How do I prevent unsafe type assertions and escape hatches in TypeScript?▼

Prevent unsafe type assertions and escape hatches by enforcing rules that ban `as` assertions, `any`/`unknown`/`never` misuse, non-null `!` operators, lint disables, and hand-rolled TypeScript object types.

Can I use Valibot to validate branded hex primitives in TypeScript?▼

Yes, you can use Valibot to validate branded hex primitives by ensuring they are only produced via `parse`, preventing subtle type and equality bugs when handling branded core hex types across resolver and transport code paths.

Does ESLint or Biome work with strict TypeScript schema validation rules?▼

ESLint and Biome work with strict TypeScript schema validation rules by enforcing no escape-hatch linting or ignores, ensuring all invariants are encoded in Valibot schemas instead of manual validation logic.

Why does TypeScript allow inconsistent typing patterns across different packages?▼

TypeScript allows inconsistent typing patterns across packages without repo-wide absolute coding rules, leading to consistency drift, duplicate validation logic, and subtle bugs from unvalidated untrusted inputs.