Developer surface
Surfaces engineers touch day one: CLI commands, module contract, shared packages, and the gateway path remotes and services use.
Surfaces
- CLI —
init,add,up,health(see quick start) - Module contract — ports, env keys, lifecycle scripts, optional remote entry
- Packages —
@snapngo/shared,@snapngo/observability - Gateway path — remotes and web talk
/api/…only; no browser → internal MS
Module contract (draft sketch)
{
"name": "catalog",
"service": { "port": 3104, "health": "/health" },
"env": ["MONGODB_URL", "AUTH_SERVICE_URL"],
"remote": { "name": "catalog_remote", "port": 4180 },
"dependsOn": ["gateway", "auth"]
}
Example modules
- Auth + gateway — typical spine add-ons
- Billing, vault/media, catalog — domain modules used by multi-tenant products
- Optional MF remotes per domain, loaded by the host shell
Domain services and product UI packages live with the app; generators and cut-line contracts come from SnapNGo.
Local reference
Reference monorepos use compose and make targets (make up, health, migrate).
Observability is optional. Full topology lives in the white paper.
Day-one should fit a short command sequence. Topology and tradeoffs sit in the white paper; install and module shape sit here and in Quick start.