Skip to content

A little mimic. A lot of possibility.

Test data,
with character.

Typed fixtures. Coherent scenarios. Failures you can replay.

Give your tests a little life. Build fixtures that fit your schemas, keep related data connected, and bring a failing case back on cue.

Published alpha · 0.1.0-alpha.2
Available on npm’s next channel.

Mimlet, a mint folded-corner creature with little feet
your-next-test.tsTS
ts
import Type from 'typebox';
import { fluent } from '@mimlet/core';
import { fromTypeBox } from '@mimlet/typebox';

const User = Type.Object({
  id: Type.String({ default: 'user-1' }),
  role: Type.Union([
    Type.Literal('reader'),
    Type.Literal('admin'),
  ]),
});

const users = fluent(fromTypeBox(User), ['id', 'role']);
export const admin = users.withRole('admin').buildValidated();
{ id: 'user-1', role: 'admin' }validated
At home with your schemas
  • TypeBox
  • Zod
  • Valibot
  • ArkType
  • Effect
  • JSON Schema
See each integration’s capabilities

Small fixtures. Bigger stories.

Make the data part
the easy part.

From one object to a whole test world, keep the pieces you care about under your control.

01 /

Your schema. Its natural habitat.

Keep your native types, validation and codecs. Start with a supported generator, or bring a factory for the details only you know.

Find your adapter
02 /

A whole world, connected.

A customer, their order, the right total. Describe the relationships once, then build a coherent scenario for the test in front of you.

Build a scenario
03 /

That failure? Bring it back.

Use explicit seeds and compatible replay records to reproduce a run. Shrink the inputs and recompute the relationships as the case gets smaller.

Meet replay and shrinking

Bring just what you need

A small core.
Room to grow.

The builder core has no runtime dependencies. Add generation, protocols, property testing, or a local playground when the job calls for them.

@mimlet/core the core@mimlet/typebox@mimlet/zod@mimlet/arktype@mimlet/fast-check@mimlet/graphql@mimlet/codegenhey-api-buildersExplore all 19 packages

For coding agents, too

Good context.
Better fixtures.

Give your coding agent a clear starting point: real APIs, working recipes, and the boundaries that matter.

Open the agent guide

Less API guesswork

Typed builders and tested recipes make the intended operations explicit.

More repeatable debugging

Save a compatible replay record and return to the failing case.

A clear path through the docs

Read concise Markdown, choose an adapter, and know when to use a factory.

Read llms.txt
Give your next test some character.

Mimlet · MIT licensed · Made by Jeffrey Nijs

Get started

Mimlet · alpha · MIT licensed