# Find your adapter

Start with the schema and behavior you already use. Mimlet keeps the core small;
generation and native library integrations are opt-in.

| Your input or job                              | Package                                                        | What to expect                                                                                            |
| ---------------------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| A factory or Standard Schema validator         | [@mimlet/core](/mimlet/packages/core.md)                     | Immutable builders, input/output typing, async capabilities, sessions and scenarios; provide the factory. |
| Modern `typebox`                               | [@mimlet/typebox](/mimlet/packages/typebox.md)               | Native creation, checking and codecs; explicit factory escape hatch.                                      |
| `@sinclair/typebox`                            | [@mimlet/typebox-legacy](/mimlet/packages/typebox-legacy.md) | Native legacy TypeBox and Transform semantics.                                                            |
| JSON Schema or Standard JSON Schema conversion | [@mimlet/json-schema](/mimlet/packages/json-schema.md)       | Supported draft validation, profiles and bounded generation; inspect unsupported capabilities.            |
| Zod 4 / Zod Mini                               | [@mimlet/zod](/mimlet/packages/zod.md)                       | Native parsing/codecs, explicit async validation, input generation and factories.                         |
| ArkType                                        | [@mimlet/arktype](/mimlet/packages/arktype.md)               | Native morphs/scopes, input checks, input generation and factories.                                       |
| Valibot                                        | [@mimlet/valibot](/mimlet/packages/valibot.md)               | Input conversion plus native parsing; factories for unsupported refinements.                              |
| Effect 3                                       | [@mimlet/effect](/mimlet/packages/effect.md)                 | Native schemas, codecs, arbitraries and shrinking.                                                        |
| Realistic values                               | [@mimlet/faker](/mimlet/packages/faker.md)                   | Explicit session-scoped randomness, locale and reference date.                                            |
| Property tests                                 | [@mimlet/fast-check](/mimlet/packages/fast-check.md)         | Native shrinking, scenario recomputation and checked replay.                                              |
| OpenAPI / AsyncAPI                             | [@mimlet/api](/mimlet/packages/api.md)                       | Operation/message fixtures and explicit serialization with offline references.                            |
| GraphQL                                        | [@mimlet/graphql](/mimlet/packages/graphql.md)               | Native input fixtures and selection-aware response fixtures.                                              |
| Protobuf                                       | [@mimlet/protobuf](/mimlet/packages/protobuf.md)             | Native values, offline imports and binary codecs.                                                         |
| Avro                                           | [@mimlet/avro](/mimlet/packages/avro.md)                     | Native values, unions, 64-bit integers and binary codecs.                                                 |
| Generated fluent builders                      | [@mimlet/codegen](/mimlet/packages/codegen.md)               | Deterministic classes, CLI checks, optional self-contained runtime.                                       |
| A local schema editor                          | [@mimlet/playground](/mimlet/packages/playground.md)         | Loopback-only playground with bounded, interruptible workers.                                             |
| Your own adapter                               | [@mimlet/adapter](/mimlet/packages/adapter.md)               | Capability inspection and reusable conformance checks.                                                    |
| UI previews, HTTP mocks, test persistence      | [@mimlet/consumers](/mimlet/packages/consumers.md)           | Explicit loaders, response resolvers and caller-owned persistence.                                        |
| Hey API generation                             | [hey-api-builders](/mimlet/packages/hey-api-builders.md)     | The established plugin, now backed by the neutral core.                                                   |

The dedicated Zod and ArkType adapters are included in `0.1.0-alpha.1`. Follow the
[tested recipes](/mimlet/guide/zod-and-arktype.md), or retain the core and Standard JSON Schema path
when those interfaces already meet your needs.

## Validation, conversion and generation are different

Standard Schema describes validation and input/output types. It does not itself
provide a generator or make arbitrary callbacks reversible. Conversion to JSON
Schema can lose constraints that only the native validator understands.

Use `buildValidated()` or its async counterpart when decoded, validated output is
required. Supply a factory when generation cannot faithfully express a constraint.
Inspect the package's capabilities before claiming codec, generation or shrinking
support. Pin the tested native-library versions in the [compatibility matrix](/mimlet/guide/compatibility.md).

## Keep the meaningful relationships

Faker supplies realistic primitives. Mimlet builders fix the fields that matter;
scenarios connect related records. For property tests, shrink independent inputs
and recompute the dependent values. See the [agent recipes](/mimlet/guide/agents.md) for executable
examples of these combinations.
