Skip to content

Generator Engine Documentation ​

Reference documentation for blutrixx/generator-engine. All JSON structures accepted by the generator are documented here.


Guides ​

DocumentWhat it covers
module-config.mdTop-level module config structure — all keys, menu_config, seeder, constants
columns.mdColumn types, FK columns, morph pairs, featureSelections, frontend field type mapping
features-config.mdfeatures.backend and features.frontend per-operation config (list, create, view, edit, delete)
mobile-config.mdfeatures.mobile_app config, card layout, offline sync, generated file list
delegations.mdRelated-module tab/modal panel config
actions.mdCustom action buttons and service config
processors.mdLifecycle pipeline hooks (before/after save/delete)
scaffold-blueprint.mdBlueprint JSON for make:modules-from-db, make:mobile-modules, make:mobile-scaffold
examples/Task-oriented recipes (basic modules, actions, delegations, inline-items, morphs, gotchas) — each backed by a real fixture actually generated and verified end-to-end
changelog.mdEvery release, newest first — check here when a doc's described behavior seems out of date

Examples ​

FileDescription
examples/module-config-full.jsonComplete annotated Products module config — static reference, not itself generated/verified; see examples/ for that
examples/scaffold-blueprint.jsonFull scaffold blueprint with groups, delegations, seeders, actions

JSON Schemas ​

Machine-readable schemas for editor validation and autocompletion (VS Code, IntelliJ, etc.).

SchemaValidates
schema/module-config.schema.jsonSingle module config array
schema/scaffold-blueprint.schema.jsonScaffold blueprint JSON

Using schemas in VS Code ​

Add this to .vscode/settings.json in your project:

json
{
  "json.schemas": [
    {
      "fileMatch": ["blueprint.json", "*-blueprint.json"],
      "url": "./vendor/blutrixx/generator-engine/schema/scaffold-blueprint.schema.json"
    }
  ]
}

Quick Reference: Common Agent Errors ​

ErrorCauseFix
FK field renders as plain inputrelatedModule not set on columnSet relatedModule to the StudlyCase module name
Mobile list card shows wrong fieldcard.titleField not setSet features.mobile_app.list.card.titleField
Processor not calledoperations array missing operation nameAdd "create", "edit", or "delete" to processor operations
Delegation tab not appearingenabled: false on list operationSet operations.list.enabled: true
Create/Edit form 404s /{module}/create/splash (or /edit/splash) on every mountconstants is set but features.backend.createSplash/editSplash isn't (generator < v3.4.7 also had this bug even with both set correctly)composer update blutrixx/generator-engine to ≥ v3.4.7, then --force regenerate; if you don't actually want splash data, remove createSplash/editSplash entirely rather than adding a matching one
Action form crashes with TypeError: Cannot read properties of undefined (reading 'splash')actions[].fields uses field_type: "select" + splash_key on generator < v3.4.6composer update blutrixx/generator-engine, then --force regenerate the module
Generated e2e create-step spec times out (~15s)Spec predates v3.4.1-v3.4.3's handling of the "create → view by default" dialogcomposer update, then --force regenerate — generated test files are overwritten by --force, they are not write-once
Playwright strict-mode violation: locator resolved to 2+ elements on a select2 fieldSpec predates v3.4.4's anchored label matching (two field labels share a substring, e.g. "Status" / "Payment Status")composer update, then --force regenerate the specs

Released under the Apache-2.0 License.