Getting Started

Installation

Get started with @wayvo-ai/core by installing the package and setting up your Next.js project.

Prerequisites

  • Node.js 24.13.0 or higher
  • pnpm (package manager)
  • PostgreSQL database
  • Next.js 16 project

Installation Steps

1. Install the Package

pnpm add @wayvo-ai/core

2. Install Peer Dependencies

@wayvo-ai/core requires several peer dependencies. Install them if not already present:

pnpm add react@^19.2.3 react-dom@^19.2.3 next@^16.1.3
pnpm add valtio@^2.3.0 zod@^4.3.5
pnpm add @radix-ui/react-dialog@^1.1.15 lucide-react@^0.562.0
pnpm add tailwind-merge@^3.4.0 clsx@^2.1.1

3. Configure TypeScript Paths

Add path aliases to your tsconfig.json:

{
  "compilerOptions": {
    "paths": {
      "@wayvo-ai/core/ui": ["./node_modules/@wayvo-ai/core/dist/wayvo-exports/core/ui/index"],
      "@wayvo-ai/core/client": ["./node_modules/@wayvo-ai/core/dist/wayvo-exports/core/client/index"],
      "@wayvo-ai/core/server": ["./node_modules/@wayvo-ai/core/dist/wayvo-exports/core/server/index"],
      "@wayvo-ai/core/common": ["./node_modules/@wayvo-ai/core/dist/wayvo-exports/core/common/index"]
    }
  }
}

4. Set Up Database Connection

Create a database configuration file:

// config/database.yml
development:
  host: localhost
  port: 5432
  database: your_database
  user: your_user
  password: your_password

5. Initialize Core

Create an initialization file:

// src/lib/server/init/init.ts
import { initCore } from '@wayvo-ai/core/server/init';
import { getAllDataSources } from './ds/defs';

export async function init() {
  await initCore({
    dataSources: getAllDataSources(),
    // ... other configuration
  });
}

6. Set Up App Provider

Wrap your application with the AppProvider:

// src/app/(secure)/layout.tsx
import { AppProvider } from '@wayvo-ai/core/ui';

export default function Layout({ children }) {
  return (
    <AppProvider
      // ... configuration
    >
      {children}
    </AppProvider>
  );
}

Verification

Create a simple test page to verify installation:

// src/app/test/page.tsx
'use client';

import { PageShell } from '@wayvo-ai/core/ui';

export default function TestPage() {
  return (
    <PageShell title="Test">
      <p>@wayvo-ai/core is installed correctly!</p>
    </PageShell>
  );
}

Next Steps

Previous
Introduction