Installation

Add ContractSpec to your existing Next.js or Bun project, or start fresh.

Prerequisites

  • • Node.js 20+ (or Bun 1.0+)
  • • Existing Next.js app or Bun HTTP server
  • • PostgreSQL database (for persistence)

Install Core Libraries

Add the contracts runtime and your choice of adapter:

# Core libraries
npm install @lssm/lib.contracts @lssm/lib.schema

# For Next.js projects
npm install @lssm/lib.contracts

# For database models
npm install @lssm/app.cli-database prisma @prisma/client

Set up your project structure

Create directories for your specs and implementations:

mkdir -p lib/specs
mkdir -p lib/registry
mkdir -p app/api/ops

Initialize the database

If using Prisma, set up your schema and generate the client:

npx prisma init
# Edit prisma/schema.prisma with your models
npx prisma generate
npx prisma migrate dev --name init

Why No Global CLI?

ContractSpec specs are pure TypeScript modules served by runtime adapters. There's no code generation step or deployment CLI—just import your specs and pass them to makeNextAppHandler ormakeElysiaHandler. Database migrations use standard Prisma CLI commands.