Skip to content

Sumeru

Modular open-source ERP/CRM platform - Go backend, PostgreSQL, installable apps, and a TypeScript workspace client for enterprise operations.

CI Go License Pre-Alpha Docs

Table of contents

Overview

Sumeru is a modular ERP and CRM engine for teams that want a single deployable stack: PostgreSQL for data, XML views for screens and menus, Go models for business logic, and a SWC web workspace for list, form, kanban, and analysis work. Install apps (addons) from disk; extend behavior through manifests and the sumeru/core/sdk surface instead of forking core.

This repository (module sumeru) is the kernel: ORM, HTTP/RPC, rendering shell, and base apps (base, mail, …). Standard CRM/ERP apps ship in sumeru_addons. Most integrators run the server from sumeru_custom_addons (paths, config, generated imports).

Caution

Pre-alpha software — not for production or regulated workloads.

  • APIs, schemas, and UX may change without notice.
  • Use for local development, evaluation, and feedback only.

Features

Area Capabilities
Apps & modules Manifests, dependency order, install/update from addons_path; XML data and views
Data layer PostgreSQL ORM, model sync on startup, record rules, multi-company
Workspace List, form, kanban, graph, pivot, calendar, gantt, map, cohort
Collection UX Search, filters, group-by, custom domains, saved-search favorites
Integrations POST /api/rpc (session or API key); mail/chatter; export/import hooks
Client TypeScript SWC in core/swc/; server-rendered shell + SPA workspace
Extensibility Prefer sumeru/core/sdk for addons; sum-* design tokens in CSS

Preview

User flow: sign in → apps catalog → settings and workspace.

Sign-in — enterprise login shell with optional company logo and tagline on the left panel.

Enterprise login with branding panel

Apps — browse, install, and open CRM/ERP modules from the catalog.

Installed and available apps

Settings & workspace — configure the organization and work in list, form, and analysis views.

Settings hub and workspace chrome

Architecture

Sumeru runs as a Go monolith: HTTP handlers and JSON-RPC call into the ORM; addons register models and actions; the SWC client loads inside an HTML shell from core/engine/render.

Layer Location
UI shell & routes core/server/web, core/engine/render
Workspace client core/swc
Business logic & RPC core/server/api, core/orm, core/sdk
Modules core/module, addons/, external addon repos
Security Access CSV/XML, record rules, groups, field ACL

Full layer diagram and request flow: docs/architecture-layers.md.

Repository ecosystem

Repository Role
sumeru Core engine + kernel apps
sumeru_addons Standard CRM/ERP apps
sumeru_custom_addons Workspace: sumeru.conf, generated imports, make run

Getting started

Prerequisites

Recommended — custom workspace

Clone the three sibling repositories, create a database matching db_name, then run from the workspace repo:

mkdir -p ~/sumeru_erp && cd ~/sumeru_erp
git clone git@github.com:ProjectMeru/sumeru.git
git clone git@github.com:ProjectMeru/sumeru_addons.git
git clone git@github.com:ProjectMeru/sumeru_custom_addons.git

# psql -c "CREATE DATABASE sumeru;"

cd sumeru_custom_addons
cp sumeru.conf.example sumeru.conf   # edit db_*, http_port, addons_path
make setup && make run

Open http://localhost:8080 (or your http_port). Details: sumeru_custom_addons README.

Alternative — core only

Kernel apps under sumeru/addons/:

cd sumeru
cp sumeru.conf.example sumeru.conf   # addons_path = addons
make setup && make run

Optional sample data:

go run ./cmd/sumeru -- -c sumeru.conf -i company,user --stop-after-init
make run

First run

Step Behavior
Empty DB Browser /setup wizard (company + admin); see setup_* keys in sumeru.conf.example
After setup /web/login; set dev_mode = true for local UI iteration
Signed in / → /web/apps

Configuration

Copy sumeru.conf.example → sumeru.conf next to go.mod (or in sumeru_custom_addons for the workspace flow).

Setting Required Notes
db_*, db_sslmode Yes PostgreSQL connection
http_port Yes Default 8080
addons_path Yes Comma-separated addon directories
dev_mode No true for local development
log_enabled / log_stdout No See example for file logging

Reference: configuration guide.

Development

Run make from sumeru/ (or workspace Makefile in sumeru_custom_addons/) before opening a PR.

Command Purpose
make setup sumeru.conf scaffold; generate + SWC assets
make run / make dev go run ./cmd/sumeru -c sumeru.conf
make swc Rebuild workspace + login JS bundles
make / make check Lint, tests, go build ./... (CI parity)
make build Production binary ./sumeru
make help Modules, integration tests, i18n, shell REPL

Extra CLI flags: EXTRA_RUN_FLAGS (e.g. make run EXTRA_RUN_FLAGS='-p 9090'). See tooling docs.

SWC sources live in core/swc/src/; bundles land in core/engine/assets/ when you run make setup or make run.

Documentation

Resource Link
Site projectmeru.github.io/sumeru/docs/
Architecture docs/architecture-layers.md
Configuration guides/start/configuration
Tooling & CLI guides/build/tooling

Community

Contributing CONTRIBUTING.md — layout, generate loop, PR expectations
Security SECURITY.md — responsible disclosure
License Apache 2.0

About

Sumeru is an open-source, modular ERP framework written in Go. Every business function contacts, products, CRM, sales, invoicing — is an addon: a folder with a manifest, some Go models and some XML. The kernel discovers it, resolves its dependencies, creates its tables and wires its menus.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

20 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages