Helper

Local Development

Customize and contribute to Helper

Make sure you follow the Quick Start in the README first!

Docker Services

The app uses Docker to run the following services locally:

  • Supabase
  • Inngest
  • Nginx (allowing you to use the https://helperai.dev domain)

pnpm dev will automatically start and stop these services, or you can use pnpm services:start and pnpm services:stop to start and stop them manually.

Nginx will attempt to listen on port 80 and 443, so if you have other containers or services running on those ports you will need to stop them first.

Database Management

Seed the database with sample data:

pnpm db:reset

Generate/run database migrations:

# Generate a migration to bring the database schema in sync with the definitions in db/schema
pnpm db:generate
 
# Apply any new migrations to the database
pnpm db:migrate

Note that pnpm dev will automatically run migrations, but won't generate them.

Testing

# Run all tests
npm test
 
# Run a specific test file
pnpm test tests/inngest/functions/postEmailToGmail.test.ts

Background Tasks

This project uses Inngest for background tasks. You can view the dashboard / development server at http://localhost:8288/.

SSL certificates

The app uses a local Certificate Authority (CA) to generate SSL certificates for the https://helperai.dev domain.

The certificates will be automatically generated when you run pnpm dev for the first time, but if you need to regenerate them you can use:

pnpm generate-ssl-certificates

On this page