Generating Code

Code Generator reads your project's table schema and produces repetitive source code — entity classes, services, UI scaffolding — automatically. What gets generated is decided by a Template Pack: use a published pack as-is, or one you built yourself.

How It Works

Code generation takes three steps. Once set up, generating code is just a right-click away.

StepWhereWhat you do
1. Add packsProject Configuration → Code Generator tabAdd template packs, set the output Location, and fill in global variables.
2. Tune tables (optional)Table detail → Code Generator tabAdjust per-table settings such as entity name and type mappings. Defaults work fine.
3. GenerateSidebar tree → right-click a tableChoose "Generate Source Code...", review the preview, then install or download.
Tip

A project can use several packs at once. Add a Java backend pack and a TypeScript frontend pack together, and a single generation produces code for both languages.

Adding Template Packs

Everything starts in the Code Generator tab of Project Configuration.

Code Generator tab in Project Configuration
1

Open the Code Generator tab

Open Project Configuration and go to the "Code Generator" tab. If this is your first time, turn on the "Enable Code-Generator" switch to reveal the settings.

2

Add a template pack

Click [+ Add Template Pack] to open the Template Pack Store. It lists public packs together with private packs you are a member of — click [Add] on a card to add it to the project.

3

Set the Location (desktop)

Specify the root directory of the local project where generated code will be installed. This is desktop-only; on the web you download a ZIP instead of installing.

Adding the same pack twice & Alias

You can add the same pack to one project more than once — handy when each module needs different variable values. Use the Alias input on each pack tab to give it a name used only inside this project.

Tip

Packs are linked by reference, not copied into the project. You can add any public pack from the Store directly — no favorite or clone required.

Global Variables

If a pack declares global variables, a Templates Variables form appears under its tab. This is where you enter values shared across the whole project, such as the base package name.

Which variables are needed depends on the pack. The form is rendered automatically from the pack's declarations (label, default, required), and required variables are validated when you save.

Templates Variables form on a pack tab

Note: A pack with nothing to configure shows "This template pack has no configurable items (modules/variables)" — it is ready to use as soon as it is added.

Pack Versions & Upgrades

A project is pinned to one published version of each pack. Even if the author keeps editing, your output does not change until a new version is published and you upgrade.

Upgrading

When a newer version is published, the pack tab shows an "A new version is available" alert with an [Upgrade] button. You always decide when to upgrade.

Upgrading

Live (my draft)

Packs you created or can edit show a "Live (my draft)" badge. In that case your draft is used directly instead of a published version — edits to templates apply to your own projects immediately, and you only publish when you want to share with others.

Per-Table Settings

In a project with template packs, opening a table reveals a Code Generator tab next to the Schema Editor. This is where you refine the table-specific data used for generation. Everything is optional — defaults alone are enough to generate.

Code Generator tab in the table detail view

Entity settings (shared by all packs)

Set the entity name, alias, and description, plus Soft Delete options (flag column, deleted/active values, deleted-at column). These values are shared by every pack in the project.

Per-pack settings

Below that, one tab per pack appears. Each tab renders the entity-variable form declared by that pack and a field (column) grid, and the values are stored separately per pack.

ItemDescription
TypeThe pack's language profile maps DB types to target-language types automatically (e.g. BIGINT → java.lang.Long). Pick another type from the dropdown or press Enter to type one directly.
NAME (field name)The DB column name converted by the Column Renamer rules. Adjust the rules per table or edit names directly.
METAAdd per-field meta attributes (key-value) used only by this pack.
ResetThe row reset button re-applies the renamer and reverts this pack's edits for that row.

Generating Source Code

Right-click a table in the sidebar tree and choose "Generate Source Code...". Ctrl/Cmd-click or Shift-click to select multiple tables first, then right-click to generate them all at once.

The left side of the modal shows the template tree of every pack in the project; the right side previews the rendered output of the selected template. With multiple tables selected, switch between them using the "Preview table" selector at the top.

Source code generation modal
ButtonWhat it does
Install selectedWrites the checked templates' output files under the Location path. Enabled only in the desktop app with a Location set.
Download selectedDownloads the checked templates' output as a ZIP. Available on the web too.
Re-apply previewRe-renders the preview after you change table settings.
Tag filter · Select allFilter templates by tag, then check everything visible in one click.

Note: During install, per-file behavior (overwrite, read-only, git add) follows the Installation rules defined on each template. You can also tweak the rendered output in the preview and install it individually with "Install this template only".

Using Public Packs

Open the Template Pack page from the left menu and click [Store] to browse published packs. Besides adding them to a project, there are two more ways to use them.

Using Public Packs
ActionMeaning
CloneCopies the whole pack into your ownership. The clone is independent of the original and fully editable — great for turning a public pack into your team's standard.
FavoriteAdds a read-only bookmark to your list. When the author publishes a new version you can pull the update. If you ever need to edit, click "Clone to edit".
Tip

If you only want to use a pack in a project, the simplest path is [+ Add Template Pack] in Project Configuration — no clone or favorite needed.