catalog / libraries

Validation Library

Declare a schema, validate unknown input, get typed data or precise errors.

20 capabilities 1 sections reference specification

Build against it

# give your agent the catalog — no account, no install
claude mcp add provespec -- npx -y provespec-mcp

# then, from any agent session
spec_get(slug: "validation")                → the capability tree
spec_checklist(slug: "validation")          → the questions to answer
spec_grade(slug: "validation", grades: [...])  → parity % + the gap list

# or just fetch it
curl https://provespec.com/catalog/validation/spec.json

Grade every capability below as yes · partial · no · na, with a file reference as evidence. Whatever you leave ungraded counts as missing — the gap list is the work queue.

Or just paste this to your agent

Use the ProveSpec MCP server. Fetch the "validation" spec with
spec_get, then walk spec_checklist and grade this repository against it —
one verdict per capability, each with a file reference as the note.
Call spec_grade with the results and give me the gap list as the plan.

If the server is not registered, add it first:
  claude mcp add provespec -- npx -y provespec-mcp

The specification

AI 20

Schema
  • Primitive types string, number, boolean, date, bigint
  • Objects with per-key schemas unknown keys stripped, passed or rejected
  • Arrays, tuples and records with length constraints
  • Unions, discriminated unions and intersections
  • Optional, nullable and default values
  • Enums and literals
  • Recursive schemas self-referential types
Constraints
  • String constraints min, max, regex, email, url, uuid
  • Numeric constraints min, max, int, multipleOf
  • Custom predicates with messages
  • Cross-field refinement e.g. password confirmation
Parsing
  • Parse returns typed data or throws
  • Safe parse returns a result union no exceptions in the happy path
  • Coercion mode "1" → 1 explicit, never implicit
  • Transform values during parse and chain transforms
Errors
  • Every issue carries a path user.addresses[1].zip
  • All issues collected, not just the first
  • Messages are customisable per rule
Interop
  • Infer a static type from a schema in typed languages
  • Convert to and from JSON Schema
Download spec.json All 53 specs