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

Custom addons workspace

Goal: keep sumeru/ and sumeru_addons/ read-only while you develop client modules under addons/.

Summary

The sibling directory sumeru_custom_addons/ is a Go workspace with:

  • Its own go.mod and replace directives to core and standard apps
  • Generated addonimports/zimports.go (blank imports for every addon on addons_path)
  • Local sumeru.conf (gitignored)
  • Makefile targets that delegate SWC builds to ../sumeru

Pre-shipped reference: addons/engagement_cookbook — kitchen-sink demo (all view types and widgets). It is not recreated by make new MODULE=engagement_cookbook; clone the repo to get it.

Quick start

  1. Copy sumeru.conf.example → sumeru.conf and set database + addons_path (typically ../sumeru/addons, ../sumeru_addons, ./addons).
  1. From sumeru_custom_addons/:
make setupmake install MODULES=engagement_cookbookmake run
TargetEffect
make setupgo.mod replaces, make generate, SWC assets, create sumeru.conf if missing
make run / make devgenerate → assets → HTTP server
make generateRefresh addonimports/zimports.go, each addon's zmodels.go / zrefs.go, overwrite init.go
make new MODULE=xScaffold minimal module under addons/, then generate
make install MODULES=x-i then exit
make update MODULES=x-u then exit
  1. After adding a model struct or changing depends in a manifest, run make generate again. Do not hand-edit generated files.

Client assets

Browser bundles are built in ../sumeru/core/engine/assets/ and are not committed to git. make setup and make run build them automatically. Requires Node.js on the machine running those commands.

See also