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.