Last updated

Common Skill Setup

Mirrored from iblai/vibe ยท docs/skill-setup.md. This page is generated โ€” edit it in the repository, not here.

Shared setup, conventions, and pre-flight checks referenced by ibl.ai skills. Each skill links here instead of repeating this boilerplate.

Conventions

  • Do NOT add custom styles, colors, or CSS overrides to ibl.ai SDK components. They ship with their own styling. Keep components as-is.
  • Do NOT implement dark mode unless the user explicitly asks for it.
  • Use pnpm as the default package manager. Fall back to npm if pnpm is not installed.
  • The generated app should live in the current directory, not in a subdirectory.
  • Project names MUST be all lowercase โ€” npm rejects package names with capital letters. Convert names like MyApp to my-app before passing to create-next-app or --app-name. Allowed characters: lowercase letters, digits, -, _.
  • When building a navbar or header, do NOT display the platform/tenant name. Use the ibl.ai logo instead.

Brand

When building custom UI around SDK components, use the ibl.ai brand:

  • Primary: #0058cc
  • Gradient: linear-gradient(135deg, #00b0ef, #0058cc)
  • Button: bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white
  • Font: System sans-serif stack
  • Style: shadcn/ui new-york variant

Follow the component hierarchy: use ibl.ai SDK components (@iblai/iblai-js) first, then shadcn/ui for everything else (npx shadcn@latest add <component>). Do NOT write custom components when an ibl.ai or shadcn equivalent exists. Both share the same Tailwind theme and render in ibl.ai brand colors automatically.

Full brand guidelines: BRAND.md.

Environment files

  • iblai.env is NOT a .env.local replacement โ€” it holds the platform shorthand (DOMAIN, PLATFORM, TOKEN, optional IBLAI_USERNAME for deploys โ€” the IBLAI_USERNAME environment variable wins when the host exports it) plus the AUTH_* branding values. Next.js still reads its runtime env vars from .env.local.
  • The skills read iblai.env and derive the NEXT_PUBLIC_* values into .env.local. vibe-starter apps need only the tenant key and IBLAI_API_KEY โ€” URL defaults live in lib/iblai/config.ts.

Step 1: Check Environment

Check for an iblai.env in the project root. Look for PLATFORM, DOMAIN, and TOKEN variables. If the file does not exist or is missing these variables, tell the user:

"You need an iblai.env with your platform configuration. Download the template and fill in your values: curl -o iblai.env https://raw.githubusercontent.com/iblai/vibe/refs/heads/main/iblai.env"

Do NOT ask the user for their platform key directly โ€” guide them to populate iblai.env instead.

Verification

You MUST run /iblai-vibe-ops-test before telling the user the work is ready:

  1. pnpm build โ€” must pass with zero errors.
  2. pnpm test โ€” vitest must pass.
  3. Start a dev server and touch test the route with Playwright:
pnpm dev &
npx playwright screenshot http://localhost:3000/<route> /tmp/<screenshot>.png

After all work is complete, start a dev server (pnpm dev) so the user can see the result at http://localhost:3000.

Copyright ยฉ ibl.ai | support@iblai.zendesk.com