Skip to content

Customize & upgrade

Most customized admin templates drift away from upstream after the first real project — once you’ve hand-edited the core, you can’t take updates without painful merges. StackRivet is built so customization stays upgradeable.

The safe way to extend StackRivet:

  • Generate or hand-write business modules rather than editing core modules in place. Each module is self-contained and declares a module manifest (name, version, menus, permissions, dictionaries, migrations, AI rules).
  • Add tables through Flyway migrations inside your module — never manual schema edits.
  • Extend, don’t fork. Add a token to tokens.scss, register a permission in the manifest, contribute a DataScopeTableContributor — use the extension points instead of rewriting the core.

Generated files carry template metadata and file hashes, and the generator won’t overwrite a file you’ve modified without explicit confirmation. That metadata is what lets an upgrade tell “untouched generated file” apart from “you changed this.”

Community ships the building blocks of a clean upgrade:

  • Version migration notes describing what changed.
  • Database migration scripts (Flyway) for the schema deltas.
  • A breaking-change list per release.

Because your customization lives in your own modules and is tracked by the manifest, migrations and file hashes, an upgrade is a diff against those — not a blind merge into edited core files.

The paid tiers automate the diff:

  • Pro — local version detection, configuration-diff detection, a customization-diff scan, basic OpenRewrite recipes and an upgrade report.
  • Enterprise — full OpenRewrite recipes and upgrade-PR generation that turns framework, template and API migrations into an applyable pull request.

See the pricing page. Migrations from RuoYi / JEECG and legacy systems are offered as a service.

Keep the engine upstream and your value in your modules. The module manifest, migrations, template metadata and file hashes are what make “customized and upgradeable” possible at the same time.