Skip to main content

Before you run the project

Do not start with npm run dev right away. Decide first which features you actually want to use. KilatKoding is intentionally broad, but not every product needs every module.

Choose the path that fits you

If you are non-technical

Use this documentation to:
  • understand which pages and features are already included,
  • prepare the service accounts that the product needs,
  • give clear direction to a developer or AI coding assistant.

If you are a developer

Use this documentation to:
  • choose which features stay enabled,
  • fill out .env.local,
  • run Supabase migrations,
  • adjust branding and pricing,
  • verify build, test, and deployment.

Early decision checklist

Service accounts you may need

Fast setup playbooks

If you do not want to read every page from the start, use one of these paths first and then go deeper into the linked docs. The on and off labels above refer to the NEXT_PUBLIC_ENABLE_* toggles documented in Environment variables. If you want a starting point you can copy directly into .env.local, also open Preset recipes by use case.

AI prompt you can use right away

1

Decide which features stay active

Choose the modules you want to use. Later you will control them through NEXT_PUBLIC_ENABLE_* values in .env.local.
2

Prepare service accounts

Create a Supabase project first. Add Resend, Midtrans, Doku, or an AI provider only if your product will actually use them.
3

Run local setup

Follow Local setup for your operating system.
4

Fill environment variables

Use Environment variables as the main reference while filling .env.local.
5

Verify readiness

Run npm run env:check, then check GET /api/health after the app is running.

What success should look like

Before you start large customization work, make sure these basics already work:
  • the landing page loads,
  • the auth flow works or is intentionally disabled,
  • the dashboard opens for logged-in users,
  • the payment flow works if you kept payments enabled,
  • npm run lint, npm run typecheck, and npm test do not fail.
It is completely normal to enable only part of the boilerplate. KilatKoding is designed so unused areas can be turned off through toggles and show a clear fallback state.