Version 3 of the kit: - Radix UI replaced with Base UI (using the Shadcn UI patterns) - next-intl replaces react-i18next - enhanceAction deprecated; usage moved to next-safe-action - main layout now wrapped with [locale] path segment - Teams only mode - Layout updates - Zod v4 - Next.js 16.2 - Typescript 6 - All other dependencies updated - Removed deprecated Edge CSRF - Dynamic Github Action runner
1.7 KiB
1.7 KiB
Feature Packages
Packages
accounts/— Personal account managementadmin/— Super admin functionalityauth/— Authentication featuresnotifications/— Notification systemteam-accounts/— Team account management
Non-Negotiables
- ALWAYS use
createAccountsApi(client)/createTeamAccountsApi(client)factories — NEVER query tables directly if methods exist - NEVER import
useUserWorkspaceoutsideapp/home/(user)routes - NEVER import
useTeamAccountWorkspaceoutsideapp/home/[account]routes - NEVER call admin operations without
isSuperAdmin()check first - ALWAYS wrap admin pages with
AdminGuard - ALWAYS use
getLogger()from@kit/shared/loggerfor structured logging — NEVERconsole.login production code - NEVER bypass permission checks when permissions exist — use
api.hasPermission({ accountId, userId, permission })
Key Imports
| API | Import |
|---|---|
| Personal accounts | createAccountsApi from @kit/accounts/api |
| Team accounts | createTeamAccountsApi from @kit/team-accounts/api |
| Admin check | isSuperAdmin from @kit/admin |
| Admin guard | AdminGuard from @kit/admin/components/admin-guard |
| Logger | getLogger from @kit/shared/logger |
Exemplars
- Server actions:
packages/features/accounts/src/server/personal-accounts-server-actions.ts - Workspace loading:
apps/web/app/[locale]/home/(user)/_lib/server/load-user-workspace.ts - Team policies:
packages/features/team-accounts/src/server/policies/policies.ts