2026-02-02 v2.0.0
2026-02-02 v2.0.0
Major architectural changes and breaking updates
- Docs application: Moved from web app to standalone Next.js app (
apps/docs) - UI components: Moved from
apps/web/modules/ui/topackages/ui/ - Configuration: Removed centralized
config/package, now scoped to individual packages - Shared components: Moved
LogoandSpinnercomponents to@repo/ui - Mail package: Restructured directory layout (removed
src/), removed Logo component and custom provider - Payments package: Moved helper utilities from
src/lib/tolib/ - Mail preview app: New
apps/mail-previewapplication added for email previewing - Not-found pages: New dedicated not-found pages for marketing and SaaS routes
- Import paths: All imports updated throughout codebase (275+ files changed)
- Removed docs routes from
apps/web/app/(marketing)/[locale]/docs/[[...path]]/ - Removed docs API route
apps/web/app/api/docs-search/route.ts - Removed
apps/web/app/docs-source.ts - Removed all docs content from
apps/web/content/docs/(includinggetting-started/andindex.mdx) - Removed
TableOfContentscomponent from marketing shared components - Removed docs image from
apps/web/public/images/docs/login.png - Updated
apps/web/content-collections.tsto exclude docs content - Updated
apps/web/app/sitemap.tsto exclude docs routes - Created new
apps/docsapplication using fumadocs - Docs now run as a separate Next.js app (default port 3001)
- Docs content moved to
apps/docs/content/docs/ - Uses fumadocs-ui for improved documentation experience
- Includes AI-powered page actions component
- New docs app has its own
package.json,tsconfig.json, andnext.config.ts - Removed all UI components from
apps/web/modules/ui/components/(25+ components including accordion, alert, button, card, dialog, form, input, select, etc.) - Removed
apps/web/modules/ui/lib/index.ts - Removed
apps/web/components.json(shadcn config file) - All component imports throughout the codebase have been updated
- Created
packages/uipackage containing all UI components - Components now imported from
@repo/ui/components/[component-name] - Shared utilities (like
cn) available from@repo/ui components.jsonmoved topackages/ui/components.json- Package includes all Radix UI dependencies and styling utilities
- Removed
config/package entirely: - All imports from
@repo/configorconfigwill fail - Config is now scoped to individual packages
- Each package now has its own
config.tsfile: - Root
config.tsfile for shared configuration - Removed
apps/web/modules/shared/components/Logo.tsx - Removed
apps/web/modules/shared/components/Spinner.tsx - All imports of these components throughout the codebase have been updated
- Removed
packages/mail/src/components/Logo.tsx(use@repo/uiinstead) - Removed
packages/mail/src/provider/custom.tsprovider - Restructured mail package directory layout:
- Updated all mail provider implementations to use new config structure
- Updated all mail email templates to use new import paths
- Flatter directory structure without
src/directory - Components, providers, and utilities at package root level
- New
packages/mail/config.tsfor mail configuration - New
apps/mail-previewapplication for email previewing (runs on port 3005) - Moved
packages/payments/src/lib/customer.ts→packages/payments/lib/customer.ts - Moved
packages/payments/src/lib/helper.ts→packages/payments/lib/helper.ts(new location) - Removed old
packages/payments/src/lib/helper.ts(duplicate removed) - Updated payment provider implementations (Stripe, LemonSqueezy, DodoPayments, Polar)
- Updated payment procedures to use new config structure
- Helper utilities now in
packages/payments/lib/(withoutsrc/prefix) - New
packages/payments/config.tsfor payment configuration - UI component imports across all modules (200+ files updated)
- Config imports throughout the codebase
- Shared component imports
- Mail template imports
- Payment provider imports
pnpm-workspace.yamlstill referencesconfigpackage (which was removed) - this should be updated manually- Workspace now includes new
apps/docsapplication - Workspace includes new
packages/uipackage - Updated all Biome configurations across packages to use consistent settings
- Standardized Biome config format: all package-level configs now extend root config with
"extends": "//" - Root
biome.jsoncontains shared configuration - Package-specific
biome.jsonfiles only override when needed - Database package excludes Prisma-generated zod files from linting
- Added
@repo/uias a workspace dependency where needed - Updated
pnpm-lock.yamlwith new workspace structure (2760+ lines changed) - Removed dependencies on deleted
configpackage - Updated all package
package.jsonfiles to reflect new structure - Added
@repo/docsworkspace package - Updated tooling packages (scripts, tailwind, typescript) with new dependencies
- Updated i18n translations (en.json, de.json) with new messages
- Improved package boundaries and separation of concerns
- Better isolation between apps and packages
- Clearer dependency relationships
- New
apps/docsapplication added to workspace - New
apps/mail-previewapplication added to workspace - New
packages/uipackage for shared UI components - Removed
config/package in favor of scoped configs - Flattened directory structures in mail and payments packages (removed
src/directories) - Better code organization and discoverability
- Clearer separation between application code and shared packages
- Easier to understand dependencies between packages
- Better support for independent package versioning
- Updated
agents.mdto reflect new architecture and import paths - Updated coding guidelines to reference new package structure
- Updated import examples to use new
@repo/uipackage - Updated
.env.local.examplewith new configuration structure - Updated environment variable documentation
- Updated sitemap generation to exclude docs routes
- Updated content collections configuration to exclude docs
- Updated image proxy route configuration
- Updated
turbo.jsonto use TUI interface ("ui": "tui") - Added
apps/docs- Standalone documentation application using fumadocs - Added
apps/mail-preview- Email preview application for development (port 3005) - Added dedicated
not-found.tsxpages for marketing routes (apps/web/app/(marketing)/[locale]/not-found.tsx) - Added dedicated
not-found.tsxpages for SaaS routes (apps/web/app/(saas)/app/not-found.tsx) - Removed
NotFoundcomponent from marketing shared components (now using Next.js not-found pages) - Updated TypeScript configurations across packages
- Updated path aliases in
tsconfig.jsonfiles - Added new type definitions for UI package exports
- Added TypeScript configs for new apps (docs, mail-preview)