Repository Layout
Packages
packages/core
The main@tailor-platform/app-shell library published to npm.
Key Details:
- Package Name:
@tailor-platform/app-shell - Current Version: 0.27.1
- Build Tool: Vite (with vite-plugin-dts for type generation)
- Test Framework: Vitest with happy-dom
- Exports:
@tailor-platform/app-shell- Main library exports@tailor-platform/app-shell/styles- Component styles@tailor-platform/app-shell/theme.css- Tailwind theme@tailor-platform/app-shell/vite-plugin- Vite plugin
packages/vite-plugin
Vite plugin for AppShell integration. Package Name:@tailor-platform/app-shell-vite-plugin
Examples
Theexamples/ directory contains reference implementations showing how to use AppShell in different environments.
examples/nextjs-app
Next.js App Router implementation demonstrating:- Server-side rendering with AppShell
- Next.js routing integration
- Production deployment setup
examples/vite-app
Vite + React implementation showing:- Client-side rendering
- Fast development with HMR
- Lightweight build setup
examples/app-module
Demonstrates creating reusable modules with:- Module and resource definitions
- Custom page components
- Module federation patterns
Build System
Turborepo Configuration
Theturbo.json file orchestrates builds across the monorepo:
- Dependency-aware builds:
^buildensures dependencies build first - Caching: Build outputs are cached (except
devmode) - Parallel execution: Independent tasks run in parallel
Workspace Dependencies
Packages can reference each other using workspace protocol:Technology Stack
Core Library
- React 19: UI framework
- React Router v7: Client-side routing
- Tailwind CSS v4: Styling with container queries
- shadcn/ui: Component primitives via @base-ui/react
- TypeScript 5: Type safety
Build Tools
- Vite: Fast development and production builds
- Vitest: Unit testing framework
- pnpm: Fast, efficient package manager
- Turborepo: Monorepo task orchestration
Testing
- Vitest: Test runner with happy-dom environment
- @testing-library/react: Component testing utilities
Dependency Management
The rootpackage.json manages shared devDependencies:
package.json files.