Core DevPre-alpha
Tooling
Commands and generators used every day while developing Sumeru.
Run the server
From sumeru/ (core) or sumeru_custom_addons/ (workspace):
make setup # first time: config, imports, SWC + login JS bundlesmake run # generate → assets (if stale) → HTTP servermake dev # alias for make runmake run always regenerates Go imports and rebuilds client assets when bundles are missing or SWC sources changed. Requires Node.js (npm).
In the workspace use make install MODULES=x and make update MODULES=x instead of raw go run.
Client assets (SWC)
make assets # build when missing or sources changedmake swc # always rebuild core/swc → core/engine/assets/make swc-check # TypeScript strict checkmake check # swc-check + go test ./...Outputs under core/engine/assets/swc/ and core/engine/assets/js/ are gitignored. The workspace delegates make assets / make swc to ../sumeru.
Database, i18n, and module utilities
make db-check # validate sumeru.conf and PostgreSQL connectivitymake i18n-export # export sys.translation rows to translations.csvmake i18n-import # import translations.csv into sys.translationmake module ARGS='list'make module ARGS='install sales'make shell # interactive ORM REPLStandalone binaries:
go run ./cmd/sumeru-migrate -- -c sumeru.confgo run ./cmd/sumeru-module -- -c sumeru.conf listgo run ./cmd/sumeru-shell -- -c sumeru.confRefresh addon Go imports (zimports.go)
cd sumeru && make generate# workspace:cd sumeru_custom_addons && make generateRuns cmd/sumeru-import-gen with the workspace INI addons_path. See sumeru_custom_addons/README.md.
Scaffold a new addon (sumeru-bp)
From sumeru (kernel addons) or sumeru_custom_addons (make new MODULE=x):
make bp NAME=my_app # coremake new MODULE=my_app # workspace → addons/make generatemake install MODULES=my_app # workspaceTests
make check # swc-check + go test ./...make swc-test # vitest (core/swc)make test-integration