Skip to main content

Code Conventions

File Colocation

  • Server actions go in _actions.ts files, colocated with their page
  • Form schemas (Zod validation) go in _form-schema.ts files, colocated with their page

Components

  • UI primitives live in src/components/ui/ (customized shadcn/ui)
  • When importing a new shadcn component, you must customize it to match the Figma design — don't assume default styles will look correct
  • The theme uses CSS variables: primary = dark green, secondary = light yellow

Path Aliases

Use @/ to import from src/:

import { Button } from '@/components/ui/button';
import { db } from '@/db';

SVG Imports

SVGs are handled as React components via @svgr/webpack:

import Logo from '@/assets/logo.svg';