Seed Studio β€” Directus extension for schema-aware test data generation

Hey everyone,

I just published my second Directus marketplace extension: Seed Studio.

:package: https://www.npmjs.com/package/directus-extension-seed-studio
:link: GitHub - khanahmad4527/directus-extension-seed-studio: Generate realistic schema-aware test data for any Directus project β€” in one click. Detects field types, interfaces, and relationships; produces Faker-powered realistic content. Β· GitHub

The problem

Every Directus project starts the same way β€” you build the schema, then you stare at empty tables. To actually verify your UI, demo a project, or test queries, you need realistic data. The usual options are:

  • Hand-create 50+ records (slow, boring)
  • Write a one-off seed script (becomes garbage as the schema evolves)
  • Use a YAML-based seeder where you still write every value yourself

None of these is great. Seed Studio fixes this by reading your schema directly and generating realistic data automatically.

What it does

Seed Studio is a bundle extension with a module (admin UI) and an endpoint (generation engine).

Schema-aware auto-detection

Open the module, pick a collection, and Seed Studio reads every field’s type, interface, name, and validations to suggest a realistic generation strategy automatically:

  • A field named email β†’ Faker email
  • A field named first_name β†’ Faker first name
  • A select-dropdown with choices β†’ random pick from those choices
  • An integer with min/max validation β†’ random int within range
  • A directus_files relation β†’ reuses an existing image from your library
  • An M2O relation β†’ picks a random existing parent
  • A slug field β†’ URL-safe slug
  • 60+ field name heuristics covered out of the box

Per-field overrides

Don’t like the auto-detected strategy for a field? Click edit and pick from the full Faker method library, set a fixed value, define a sequence pattern (INV-{0000}), or use a random pick list. The Preview button shows 3 sample values before you commit.

Relationship handling (v1)

  • M2O: randomly assigns existing parents so every FK is valid
  • directus_files: reuses images already in your file library β€” no orphan references
  • System fields (id, date_created, user_created, sort): handled automatically

Dry-run preview

Toggle dry-run ON, hit Generate, see 10 example rows without writing anything to the database. Perfect for verifying your strategy choices before generating 10,000 rows.

Generate at scale

Default 500-row batches. Server-Sent Events stream live progress to the UI as rows are written. 1,000 rows in seconds. 10,000 rows in under a minute on commodity hardware.

Wipe-and-regenerate

Iterative development workflow: tweak your schema, wipe the collection, regenerate. Protected by a typed-confirmation modal (Stripe-style) so you don’t nuke your data by accident.

Saved presets

Save your field strategies as a preset per collection. Reload it next time. Agencies running many similar projects will love this.

Audit log

Every generation run is logged to seed_studio_runs with strategies snapshot, row count, duration, and status β€” useful for history and reproducibility.

Install

From the Marketplace:
Settings β†’ Marketplace β†’ search β€œSeed Studio” β†’ Install

From npm:

npm i directus-extension-seed-studio

Compatibility

  • Directus ^11.0.0
  • Admin-only by design (it’s a developer tool)

What’s next (v2 roadmap)

  • Multi-collection seed plans with full dependency graph resolution
  • Image seeding via download + upload (Lorem Picsum, Pravatar, DiceBear, etc.)
  • Self-referential relationship handling (tree generation for comments, categories)
  • M2M junction auto-population
  • Preset import/export as JSON files

Feedback wanted

This is v1 β€” feedback, bug reports, and feature requests are very welcome. Drop them as GitHub issues or reply here. If there’s a specific field name or generation pattern you’d love auto-detected, let me know, and I’ll add it.

β€” Ahmad Khan
GitHub: GitHub - khanahmad4527/directus-extension-seed-studio: Generate realistic schema-aware test data for any Directus project β€” in one click. Detects field types, interfaces, and relationships; produces Faker-powered realistic content. Β· GitHub
LinkedIn: https://www.linkedin.com/in/khanahmad4527

2 Likes

Thanks for making and sharing this @ahmad_quvor :sunflower:

1 Like