Developer Setup to Enterprise Onboarding

Complete walkthrough from running SCRIPE CLI and developer tools to first tenant configuration and corporate branding.

Welcome to SCRIPE's developer-to-production journey. This tutorial walks you through setting up your local environment, inspecting OpenAPI definitions, booting the platform, and configuring your first tenant.

Step 1: Developer CLI & Local Platform Boot

Initialize local infrastructure with Docker, seed initial tenant records, and start frontend and backend services.

TerminalShell
# 1. Clone the repository and initialize environment configurations
git clone https://github.com/scripe/scripe.git && cd scripe

# 2. Run developer bootstrap to spin up PostgreSQL, Redis, MinIO & RabbitMQ
scripe dev init --with-infrastructure

# 3. Apply baseline database schema migrations across all modular monolith layers
scripe dev db migrate

# 4. Start frontend and backend concurrently with hot reloading
scripe dev start

Step 2: Exploring Swagger, API Playground & CLI Tools

Leverage developer utilities including Swagger documentation, OpenAPI schemas, and health check endpoints.

  • Developer CLI

    Rich command-line tool for migrations, seeding, and tenant inspection.

  • Swagger UI

    Interactive OpenAPI 3.0 documentation for all REST endpoints.

  • Health Checks

    Deep liveness and readiness probes across PostgreSQL, Redis, and RabbitMQ.

Health Verification ProbeShell
# Inspect cluster readiness and individual component health
curl -X GET http://localhost:5000/health/ready

# Response:
# {
#   "status": "Healthy",
#   "totalDuration": "00:00:00.0124",
#   "entries": {
#     "postgres": { "status": "Healthy", "duration": "00:00:00.003" },
#     "redis": { "status": "Healthy", "duration": "00:00:00.001" },
#     "rabbitmq": { "status": "Healthy", "duration": "00:00:00.002" },
#     "minio": { "status": "Healthy", "duration": "00:00:00.004" }
#   }
# }

Step 3: First Super-Admin Login & MFA Setup

Authenticate with the default super-admin credentials and configure mandatory multi-factor authentication.

SuperAdmin Initial Setup CLIShell
# Create or verify the root SuperAdmin identity with mandatory MFA
scripe admin create \
  --email="superadmin@scripe.internal" \
  --role="PlatformSuperAdmin" \
  --require-mfa=true

Prerequisite: Create Commercial Editions & Feature Matrix

Before provisioning any tenant, the Entitlements module requires at least one Edition definition. An Edition establishes the contractual feature flags, quota clamps, and billing prices that govern tenant capabilities. A tenant cannot exist without an Edition reference.

Create Commercial Edition (POST /api/v1/entitlements/editions)JSON
{
  "name": "Enterprise Athletics Tier",
  "slug": "enterprise-athletics",
  "description": "Full access to multi-campus venue operations, dynamic surge pricing, double-entry ledger, and workforce HRMS.",
  "monthlyPrice": 599.00,
  "annualPrice": 5990.00,
  "currency": "USD",
  "features": [
    { "key": "venue.operations", "isEnabled": true },
    { "key": "catalog.pricing", "isEnabled": true },
    { "key": "finance.ledger", "isEnabled": true },
    { "key": "hrms.workforce", "isEnabled": true },
    { "key": "customfields.encrypted", "isEnabled": true },
    { "key": "compliance.dsr", "isEnabled": true }
  ],
  "quotas": {
    "maxVenues": 50,
    "maxCoaches": 500,
    "maxMonthlyBookings": 50000,
    "storageGb": 500
  }
}
Edition Response Output (Copy editionId for Step 4)JSON
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Enterprise Athletics Tier",
  "slug": "enterprise-athletics",
  "status": "Active",
  "createdAt": "2026-10-03T12:00:00Z"
}

Step 4: Provisioning Your First Organization & Tenant

Create your root tenant, configure slug routing, set custom domains, and establish tenant isolation boundaries.

Tenant Provisioning Payload (POST /api/v1/tenancy/tenants)JSON
{
  "name": "Acme Athletics Worldwide",
  "identifier": "acme-athletics",
  "customDomain": "portal.acmeathletics.com",
  "editionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "adminEmail": "director@acmeathletics.com",
  "timeZone": "America/New_York",
  "currency": "USD",
  "isolationMode": "SharedDatabaseTenantSchema"
}

Step 5: Establishing the 5-Tier Organizational Hierarchy

Structure the tenant's operational governance into Organization, Business Units, Departments, Cost Centers, and Teams using the Organization Core module.

Organization Core Topology (POST /api/v1/organization-core/topology)JSON
{
  "organization": {
    "name": "Acme Global Sports Corporation",
    "businessUnits": [
      {
        "name": "North American Athletics",
        "code": "BU-NA",
        "departments": [
          {
            "name": "East Coast Facilities",
            "costCenters": [
              {
                "code": "CC-NY-ARENA",
                "budgetAmount": 1500000.00,
                "teams": [
                  { "name": "Facility Maintenance Team", "leadEmail": "ops.lead@acmeathletics.com" },
                  { "name": "Coaching & Training Staff", "leadEmail": "coaching.head@acmeathletics.com" }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Step 6: Visual Branding & Studio Login Customization

Apply corporate logos, custom color tokens, and publish customized login page layouts via the built-in Studio Theme Builder.

Tenant Studio Branding (PUT /api/v1/tenancy/branding)JSON
{
  "primaryColorHex": "#0ea5e9",
  "accentColorHex": "#f59e0b",
  "logoLightUrl": "https://assets.acmeathletics.com/brand/logo-light.svg",
  "logoDarkUrl": "https://assets.acmeathletics.com/brand/logo-dark.svg",
  "fontFamily": "Inter, system-ui, sans-serif",
  "borderRadius": "0.5rem",
  "loginLayout": "SplitPanelWithHeroImage",
  "customCssTokens": {
    "--brand-gradient": "linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%)"
  }
}