Skip to main content
Version: 1.20.0

The minimal API

Nucleus freezes over 1 600 symbols under its compatibility contract. You do not need them.

A complete CRUD application — the examples/mvc_api module the quickstart walks you through — touches the 19 symbols on this page and nothing else. Read it if the size of the API surface put you off: everything outside this list is optional, and you can discover it when a feature asks for it.

Booting (2 symbols)

SymbolOne sentence
nucleus.NewStarts the fluent builder; chain config, mounts and options off it.
nucleus.RuntimeWhat your module's hooks receive: the DB handle, logger and framework services.

Defining a module (4 symbols)

SymbolOne sentence
nucleus.ModuleThe generic module definition — name, models, routes, hooks — you Build() into a spec.
nucleus.ModuleSpecThe built, mountable form of a module; what Mount(...) accepts.
nucleus.RouterThe route registry your module's Routes function receives.
nucleus.HandlerThe request handler signature the router mounts.

REST resources (12 symbols)

SymbolOne sentence
nucleus.ContextPer-request context: params, decoding, responses.
nucleus.MethodsSelects which of the five REST verbs a Resource exposes.
nucleus.Index / nucleus.IndexerList endpoint: the verb selector and the interface your controller implements.
nucleus.Show / nucleus.ShowerFetch-one endpoint, same pair.
nucleus.Create / nucleus.CreatorCreate endpoint, same pair.
nucleus.Update / nucleus.UpdaterUpdate endpoint, same pair.
nucleus.Destroy / nucleus.DestroyerDelete endpoint, same pair.

Models (1 symbol)

SymbolOne sentence
model.BaseModelEmbeds id/created_at/updated_at/deleted_at so your struct matches the scaffolded migrations.

Where the rest lives

The full frozen surface is inventoried per package in the API contract inventory — auth, storage, jobs, webhooks, the event bus, multi-tenancy. Each of those is opt-in: nothing on that list is required to reach a running, authorized, migrated CRUD app.