Getting started
Needs Node 24, pnpm 11, Docker and GNU Make.
Make the app
A web app, with email sign-in, organizations and Stripe or Razorpay plans:
npx @haatlabs-core/cli create my-app --domain my-app.example --kind webA Shopify app, which adds the embedded app in the Shopify admin and Shopify billing:
npx @haatlabs-core/cli create my-app --domain my-app.example --kind shopifyThe name is lowercase letters and digits with single hyphens, 2 to 31 characters. The domain is where the app will live: its dashboard at app., its API at api. and its administrators' dashboard at admin. that domain. --no-install and --no-git leave out the install and the first commit.
Run it on your machine
cd my-app
make env Env=local # writes .env.local from .env.example
make local-up Env=local # Postgres, Redis and a mail catcher in Docker
make migrate Env=local
make seed-plans Env=local
make dev Env=local # the api, the worker and the dashboardsEvery make target that reads settings takes Env=<name> and reads .env.<name>; local is your machine. make help lists them all.
The example page
The dashboard's example page, "Find images", calls the haatlabs API. Put your RapidAPI key in .env.local as HAATLABS_API_KEY (the Basic plan is free).
Checks
make ci # types, lint, formatting, unit tests, the deploy files and the integration testsNext: kinds of app, then deploying.