A production-ready compliance AI platform built with Next.js 14, TypeScript, and Turborepo.
- Monorepo: pnpm workspaces + Turborepo
- Frontend: Next.js 14 (App Router), TypeScript
- Styling: Tailwind CSS, shadcn/ui
- Testing: Vitest
- Code Quality: ESLint, Prettier
- CI/CD: GitHub Actions
- Hosting: Vercel-ready
.
├── apps/
│ └── web/ # Next.js 14 application
├── packages/
│ └── shared/ # Shared utilities and business logic
├── .github/
│ └── workflows/ # CI/CD pipelines
└── turbo.json # Turborepo configuration
- Node.js 20+ (see
.nvmrc) - pnpm 8.15.1+
- Clone the repository:
git clone <repository-url>
cd comply-ai- Install dependencies:
pnpm install- Copy environment variables:
cp env.example .env.local- Configure your environment variables in
.env.local
Run the development server:
# Run the Next.js app
pnpm dev --filter @app/web
# Or run all dev scripts in parallel
pnpm devOpen http://localhost:3000 to view the application.
pnpm dev- Start development serverspnpm build- Build all packagespnpm test- Run tests in watch modepnpm test:run- Run tests oncepnpm lint- Run ESLintpnpm typecheck- Run TypeScript type checkingpnpm format- Format code with Prettier
Run tests across the monorepo:
# Run all tests in watch mode
pnpm test
# Run tests once (CI mode)
pnpm test:run
# Run tests for a specific package
pnpm test --filter @repo/shared# Build all packages
pnpm build
# Build specific package
pnpm build --filter @app/webThis project is configured for deployment on Vercel:
- Connect your GitHub repository to Vercel
- Configure the following settings:
- Framework Preset: Next.js
- Build Command:
pnpm build --filter @app/web - Output Directory:
apps/web/.next - Install Command:
pnpm install
Required environment variables (see env.example):
NEXT_PUBLIC_SUPABASE_URL- Supabase project URLNEXT_PUBLIC_SUPABASE_ANON_KEY- Supabase anonymous keySUPABASE_SERVICE_ROLE_KEY- Supabase service role key
- Create a feature branch
- Make your changes
- Run tests and linting
- Submit a pull request
MIT