Core DevPre-alpha
Build your first module
Follow this path when you want a custom addon in sumeru_custom_addons/addons/ without guessing the order of steps.
Checklist
| Step | What you do | Deep dive |
|---|---|---|
| 1 | Install Sumeru and PostgreSQL | Installation |
| 2 | Configure sumeru_custom_addons workspace | Custom addons workspace |
| 3 | Scaffold or explore the kitchen-sink demo | Creating an addon |
| 4 | Declare manifest.json and depends | Manifests & depends |
| 5 | Define Go models and run make generate | Models & fields |
| 6 | Add list/form XML and window actions | Views & menus |
| 7 | Install the module once | Install a module |
| 8 | Wire menus to actions | Add menu and action |
| 9 | Study the live reference module | Engagements cookbook |
Step 3 — model + view together
Your model name in Go must match the model= attribute in XML views and actions.
type EngagementProject struct { sdk.Model `sumeru:"model=engagement.project"` Name sdk.String `sumeru:"required,unique,index,string=Engagement Name"` State sdk.Selection[ProjectState] `sumeru:"required,string=Status,default=draft"`}<view id="view_engagement_project_list" model="engagement.project" type="list"> <field name="name"/> <field name="state"/></view>Run make generate after editing Go structs, then -u your_module (or reinstall) after XML changes.
Step 7 — install
cd sumeru_custom_addonsmake install MODULES=my_appNext steps
- Extend existing kernel models with Model inheritance
- Add record rules in Security & access
- Reload XML with Update a module