Home Mac app guides Seed Studio GUI

Seed Studio GUI

Last updated on May 07, 2026

Purpose

Seed Studio generates deterministic Firestore seed data from schemas/templates, stores seed snapshots, and compares generated snapshots with current project data for drift.

Flow

  1. Select target project/database.
  2. Define or choose a schema/template.
  3. Configure deterministic seed options.
  4. Generate preview data.
  5. Review snapshot output and logs.
  6. Apply the seed to Firestore with confirmation.
  7. Later, compare original snapshot values against current project data for drift.

Outputs

  • TABLE: generated records, snapshot rows, or drift rows
  • JSON: seed template, generated payloads, snapshots, and drift details
  • LOGS: generation, validation, apply, and readback logs

Snapshot and Drift

Seed snapshots record generated values so teams can compare original fixture data with current Firestore documents. Drift output should identify unchanged, changed, missing, and extra fields/documents where the service can classify them.

Use snapshots as review evidence, not just generated fixtures. A snapshot should make the target collection paths, deterministic seed options, generated document IDs, and expected field values visible before any apply operation begins.

Drift comparison is useful after manual testing or shared emulator sessions. It helps identify which records still match the seed, which were edited during the test, and which expected documents are missing from the current project.

Safety

  • Seed apply is a Firestore write and is Pro-gated.
  • Template file persistence is Pro-gated.
  • Production seed apply requires explicit confirmation.
  • Apply operations should be task-backed and expose overwrite behavior.

Source Anchors

  • Sources/FirestructApp/Features/SeedStudio/UI/SeedStudioView.swift
  • Sources/FirestructApp/Features/SeedStudio/Services/AppModel+SeedStudioActions.swift
  • Sources/FirestructApp/Features/SeedStudio/Services/AppModel+SeedStudioPersistenceAndGeneration.swift
  • Sources/FirestructCore/SeedStudioService.swift
  • Sources/FirestructCore/SeedStudioService+GenerationUtilities.swift