Package Overview
@repo/shared
Core business logic, stores, hooks, and components
@repo/ui
shadcn/ui component library
@repo/logger
Logging utility for debugging
Configuration Packages
ESLint, TypeScript, Tailwind, Prettier, and Jest configs
@repo/shared
The main package containing all shared business logic, state management, and React components used across both applications.Package Configuration
Package Configuration
packages/shared/package.jsonExports
The package uses path-based exports for granular imports:Export Paths
API (./api/*)
API (./api/*)
Path:
./src/api/**/*.tsAPI clients and service integrations for backend communication.Components (./components/*)
Components (./components/*)
Path:
./src/components/**/*.{tsx,ts}Shared React components used across both apps. These are higher-level components built on top of @repo/ui.Context (./context/*)
Context (./context/*)
Path:
./src/context/**/*.{ts,tsx}React context providers for global state management.Data (./data/*)
Data (./data/*)
Path:
./src/data/**/*.{ts,json}Static data, constants, and configuration objects.Hooks (./hooks/*)
Hooks (./hooks/*)
Path:
./src/hooks/**/*.{ts,tsx}Custom React hooks for shared functionality:- State management hooks
- Data fetching hooks
- UI interaction hooks
- Browser API hooks (for extension)
i18n (./i18n/*)
i18n (./i18n/*)
Path:
./src/i18n/**/*.{ts,tsx}Internationalization configuration and translation utilities.Library (./lib/*)
Library (./lib/*)
Path:
./src/lib/**/*.tsCore utilities and helper functions:- Database clients (Dexie)
- Date utilities
- String manipulation
- Type guards
Providers (./providers/*)
Providers (./providers/*)
Path:
./src/providers/**/*.{ts,tsx}React providers wrapping context, queries, and global state.Stores (./stores/*)
Stores (./stores/*)
Path:
./src/stores/**/*.{ts,tsx}Zustand stores for state management:- User store
- Settings store
- UI state store
- App-specific stores
Types (./types/*)
Types (./types/*)
Path:
./src/types/**/*.{ts,tsx}TypeScript type definitions and interfaces shared across the monorepo.Utils (./utils/*)
Utils (./utils/*)
Path:
./src/utils/**/*.{ts,tsx}General utility functions and helpers.Dependencies
State & Data
State & Data
- Zustand (v5) - State management
- @tanstack/react-query (v5.67.3) - Server state management
- Dexie (v3.2.4) - IndexedDB wrapper
- Axios (v1.5.0) - HTTP client
Forms & Validation
Forms & Validation
- react-hook-form (v7.47.0) - Form handling
- @hookform/resolvers (v3.3.2) - Validation resolvers
- Zod (v3.24.0) - Schema validation
UI & Animation
UI & Animation
- Framer Motion (v11.13.4) - Animation library
- GSAP (v3.12.2) - Advanced animations
- Lucide React (v0.468.0) - Icons
- Recharts (v2.13.0) - Charts
- Sonner (v1.7.1) - Toast notifications
Utilities
Utilities
- date-fns (v4.1.0) - Date manipulation
- date-fns-tz (v3.2.0) - Timezone support
- i18next (v24.0.5) - Internationalization
- react-i18next (v15.1.4) - React i18n bindings
- ical.js (v2.2.1) - Calendar utilities
- uuid (v9.0.0) - UUID generation
Usage Example
@repo/ui
A comprehensive UI component library built with shadcn/ui and Radix UI, providing accessible and customizable components.Package Configuration
Package Configuration
packages/ui/package.jsonComponents
Built on Radix UI primitives with Tailwind CSS styling:Alert Dialog
Modal dialogs for important actions
Badge
Status indicators and labels
Button
Interactive button component
Card
Container for content sections
Checkbox
Form checkbox input
Dialog
Modal dialog overlay
Dropdown Menu
Contextual menu component
Form
Form field components
Input
Text input field
Label
Form labels
Popover
Floating content overlay
Progress
Progress indicator
Radio Group
Radio button groups
Select
Dropdown select input
Separator
Visual divider
Sheet
Side panel overlay
Sidebar
Navigation sidebar
Slider
Range slider input
Switch
Toggle switch
Tooltip
Hover tooltips
Exports
Dependencies
Radix UI Components
Radix UI Components
@radix-ui/react-alert-dialog(v1.0.4)@radix-ui/react-checkbox(v1.1.2)@radix-ui/react-dialog(v1.0.0)@radix-ui/react-dropdown-menu(v2.0.5)@radix-ui/react-label(v2.0.2)@radix-ui/react-popover(v1.1.2)@radix-ui/react-progress(v1.1.7)@radix-ui/react-radio-group(v1.1.3)@radix-ui/react-select(v1.2.2)@radix-ui/react-separator(v1.1.0)@radix-ui/react-slider(v1.1.2)@radix-ui/react-switch(v1.0.3)@radix-ui/react-tooltip(v1.1.3)- And more…
All components are built with class-variance-authority for variant management and Tailwind CSS for styling.
@repo/logger
A simple logging utility for consistent logging across the monorepo.Package Configuration
Package Configuration
packages/logger/package.jsonAPI
Implementation
src/index.ts
The logger prefixes all messages with
"logger: " for easy identification in console output.Development
Configuration Packages
Shared configuration packages ensure consistency across all apps and packages.@repo/eslint-config
ESLint configuration with TypeScript support.Configuration Files
Configuration Files
library.js- Library-specific linting rulesnext.js- Next.js configuration (future-ready)react-internal.js- React component rulesserver.js- Server-side code rules
packages/eslint-config/@vercel/style-guide(v5.2.0)eslint-config-turbo(v2.0.0)eslint-config-prettier(v9.1.0)@typescript-eslint/parser&@typescript-eslint/eslint-plugin(v7.1.0)
@repo/typescript-config
Shared TypeScript configurations for consistent type checking.Package Details
Package Details
packages/typescript-config/package.jsontsconfig.json files that apps and packages extend.
Usage:
tsconfig.json
@repo/tailwind-config
Shared Tailwind CSS configuration.Package Details
Package Details
packages/tailwind-config/package.jsonindex.ts- Base Tailwind configurationpostcss.config.js- PostCSS setup
tailwindcss(v3.3.3)tailwindcss-animate(v1.0.7)autoprefixer(v10.4.15)postcss(v8.4.29)
tailwind.config.ts
@repo/prettier-config
Prettier configuration for consistent code formatting.Package Details
Package Details
packages/prettier-config/package.json@ianvs/prettier-plugin-sort-imports(v4.1.0) - Auto-sort importsprettier-plugin-tailwindcss(v0.4.1) - Sort Tailwind classes
package.json
@repo/jest-presets
Jest testing presets for consistent test configuration.Package Details
Package Details
packages/jest-presets/package.jsonts-jest(v29.1.1) - TypeScript support for Jest
package.json
Package Dependencies
File Structure
Next Steps
Apps Overview
Learn about the web and extension applications
Contributing
Contribution guidelines and workflow