Pre-alpha. No tagged release and no upgrade path between versions. Use for evaluation and development only, not production.
DevelopersPre-alpha

Project structure

Map core, standard addons and workspace directories, replace directives and what you edit day to day.

Three repositories

Sumeru splits engine, standard apps, and your workspace so you can pull core without mixing client code.

Layout
text
sumeru_erp/  sumeru/                 # core engine + kernel addons (pull-only)  sumeru_addons/          # standard business apps (pull-only)  sumeru_custom_addons/   # your addons, sumeru.conf, make run
RepoRoleYou edit?
sumeruORM, engine, server, base/mail/...Rarely (contribute upstream)
sumeru_addonsCRM, sale, account, ...No for client work
sumeru_custom_addonsCustom modules + local INI + generated importsYes

Wiring with replace

From the workspace:

Terminal
shell
make replace-sumeru SUMERU_ROOT=../sumerumake replace-sumeru-addons ADDONS_ROOT=../sumeru_addonsmake generate

addons_path. Discovery still comes from the INI, e.g. addons_path = ../sumeru/addons,../sumeru_addons,./addons. Later roots override duplicate module names.

Day-to-day paths

  • Models and XML: sumeru_custom_addons/addons/<module>/
  • Config: sumeru.conf (gitignored; copy from sumeru.conf.example)
  • Generated: addonimports/zimports.go (do not hand-edit)

Compile and run

Terminal
shell
cd sumeru_custom_addonsmake generatemake run

What not to do

  • Do not commit generated zimports.go if the workspace treats it as gitignored.
  • Do not point addons_path only at core when you expect custom modules to load.
  • Do not fork core for every client. Use the custom workspace.

Next step

Declare module metadata in Manifests & depends.