Files
ca-marketplace-scraper/.ruler/03-ZOD-GUIDE.md
Dmytro Stanchiev 7cf21546e2 chore: ai agent config
Signed-off-by: Dmytro Stanchiev <git@dmytros.dev>
2026-04-21 20:37:55 -04:00

653 B

Zod Guidelines

Schema Definition

  • Define all schemas in src/types.ts
  • Use z.object() for objects, z.array() for arrays
  • Mark optional fields with .optional()
  • Create generic schemas for reusable structures

Type Inference

  • Always infer types from schemas: export type Foo = z.infer<typeof FooSchema>

Validation

  • Use .parse() to validate API responses
  • Only validate successful responses (retcode === RESPONSE_CODES.SUCCESS)
  • Return unvalidated responses for error cases

Patterns

  • Follow existing schema naming: FooSchema for schemas, Foo for types
  • Use ZZZResponseSchema(dataSchema) for API responses