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

Creating an addon

How to use sumeru-bp, place an addon on addons_path, generate imports, install and update it.

Overview

Addons live under sumeru_custom_addons/addons/. Scaffold with make new MODULE=… (or sumeru-bp), declare models with sdk.Model tags, list XML in the manifest, run make generate, then install.

Workspace. Work from sumeru_custom_addons (Go 1.26.2+, PostgreSQL). Default HTTP port is 8080.

Scaffold with sumeru-bp

Use the workspace tab for client work. Name flag aliases: -name, -bp, -boilerplate, -blueprint.

workspace · preferred
cd sumeru_custom_addonsmake new MODULE=my_modulemake install MODULES=my_module

Workspace make new runs sumeru-bp then make generate (writes zmodels.go / zrefs.go; custom init.go is regenerated to models-only — put hooks in models/). Use Core make only when scaffolding inside the sumeru repo.

Generated module

Browse the scaffold for my_module. Click a file in the tree or sidebar. Same layout as sumeru_custom_addons/addons/my_module.

my_module scaffold
addons/my_module/ tree
addons/my_module/
├── 
├── 
├── models/
│   ├── 
│   └── zmodels.go
├── views/
│   ├── 
│   ├── 
│   ├── 
│   ├── 
│   └── 
└── security/
    ├── 
    └── 

Compile and run

  1. Ensure ./addons is on addons_path in sumeru.conf.
  2. make generate refreshes addonimports/zimports.go.
  3. Install with -i, then serve on http://localhost:8080.
Install & run
from sumeru_custom_addons
make generatego run . -- -c sumeru.conf -i my_module --stop-after-initmake run

What not to do

  • Do not put client modules inside sumeru/ or sumeru_addons/. Keep those pull-only.
  • Do not skip make generate after adding or removing an addon folder.
  • Do not call RegisterModel / implement ModelName() in model files — zmodels.go is generated.
  • Do not hand-edit zmodels.go or zrefs.go.
  • Do not ship scaffold groups/CSV without reviewing who can write and unlink.

Next step

Map the three repos in Project structure. Workspace Makefile detail: Custom addons workspace.