Skip to content

Snapshot for @system-core/core 0.8.x. Current docs live at /.

Getting Started

Start Here

system-core is a framework-agnostic backend and CMS platform package. It gives you:

  • createSystem() for the full platform runtime
  • createApp() 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 .npmrc snippet for https://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:

ini
@system-core:registry=https://npm.maxnate.com
//npm.maxnate.com/:_auth=${NPM_TOKEN}
//npm.maxnate.com/:always-auth=true

Then install the package and the minimum required peers:

bash
npm install @system-core/core
npm install zod @prisma/client

Where 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:

  1. Ask the project owner or registry admin for access to npm.maxnate.com.
  2. If you already have Verdaccio credentials, base64-encode username:password and use the result as NPM_TOKEN.
  3. If you need an account first, create or log in with:
bash
npm adduser --registry https://npm.maxnate.com

PowerShell example for creating the auth value after you know the username and password:

powershell
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes("username:password"))

Install optional peers only when you use them:

bash
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-presigner

Installation Rules

  • Do not commit a live NPM_TOKEN.
  • Use @system-core/core from 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 caseBootstrap
Full CMS platform, Prisma-backed data, auth, delivery, storagecreateSystem()
Headless business logic only, no CMS layercreateApp()

Full Platform Example

ts
import { createSystem } from '@system-core/core'

const system = await createSystem({
  prisma,
  requiredEnvVars: ['JWT_SECRET', 'JWT_REFRESH_SECRET']
})

Logic-Only Example

ts
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

  1. Read Build On System-Core.
  2. Read Architecture.
  3. Open the module page that owns your concern.

system-core documentation for maintainers, integrators, and AI build agents.