Snapshot for
@system-core/core0.8.x. Current docs live at /.
Getting Started
system-core is a framework-agnostic backend and CMS platform package. It gives you:
createSystem()for the full platform runtimecreateApp()for logic-only backends- framework integrations for Nuxt/H3, Express/Fastify, NestJS, and Workers
- package-owned auth, delivery, storage, CMS, and platform services
Install
@system-core/core is published to the private registry at https://npm.maxnate.com.
If registry access is not already configured, do not ask vaguely for an "npm token". Ask for one of these instead:
- a project-ready
.npmrcsnippet forhttps://npm.maxnate.com - a Verdaccio username/password for
npm.maxnate.com - the base64 auth value to use as
NPM_TOKEN
Create a project-level .npmrc first:
@system-core:registry=https://npm.maxnate.com
//npm.maxnate.com/:_auth=${NPM_TOKEN}
//npm.maxnate.com/:always-auth=trueThen install the package and the minimum required peers:
npm install @system-core/core
npm install zod @prisma/clientWhere NPM_TOKEN Comes From
In this system, NPM_TOKEN is the auth value for the private Verdaccio registry at https://npm.maxnate.com. It is not an npmjs.org access token.
You get or create it in one of these ways:
- Ask the project owner or registry admin for access to
npm.maxnate.com. - If you already have Verdaccio credentials, base64-encode
username:passwordand use the result asNPM_TOKEN. - If you need an account first, create or log in with:
npm adduser --registry https://npm.maxnate.comPowerShell example for creating the auth value after you know the username and password:
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("username:password"))Install optional peers only when you use them:
npm install h3
npm install express fastify
npm install ioredis
npm install bcryptjs jsonwebtoken nodemailer
npm install @aws-sdk/client-s3 @aws-sdk/s3-request-presignerInstallation Rules
- Do not commit a live
NPM_TOKEN. - Use
@system-core/corefrom the private registry only. - Install only the optional peers your host runtime actually needs.
- If the project is logic-only, you may skip
@prisma/client. - If access is missing, ask for Verdaccio access or a ready
.npmrc, not a generic "npm token".
Choose The Right Bootstrap
| Use case | Bootstrap |
|---|---|
| Full CMS platform, Prisma-backed data, auth, delivery, storage | createSystem() |
| Headless business logic only, no CMS layer | createApp() |
Full Platform Example
import { createSystem } from '@system-core/core'
const system = await createSystem({
prisma,
requiredEnvVars: ['JWT_SECRET', 'JWT_REFRESH_SECRET']
})Logic-Only Example
import { createApp, createConfig } from '@system-core/core/logic'
import { h3Adapter } from '@system-core/core/integrations/nuxt'
const config = createConfig()
const app = await createApp(config, { http: h3Adapter })Next
- Read Build On System-Core.
- Read Architecture.
- Open the module page that owns your concern.