This document contains Claude-specific configuration and guidelines for working with the SUI Components project.
- Name: @s-ui/react-components
- Type: Monorepo with React components
- Structure: Multi-package workspace with components and utils
- Framework: React with TypeScript
- Build Tool: SUI Studio
# Development
npm run dev # Start development server
npm run build # Build the project
npm run test # Run tests
npm run test:watch # Run tests in watch mode
# Code Quality
npm run lint # Run all linters
npm run lint:js # Lint JavaScript/TypeScript
npm run lint:sass # Lint SASS/CSS
npm run types:check # TypeScript type checking
# Component Generation
npm run generate # Generate new component scaffold
# Monorepo Management
npm run release # Release components
npm run co # Commit with conventional formatsui-components-2/
├── components/ # Individual component packages
├── utils/ # Utility packages
├── package.json # Root package configuration
└── public/ # Built assets
- Components are organized in individual packages under
components/ - Each component should follow SUI design system patterns
- Use TypeScript for type safety
- Follow conventional commit messages
- ESLint and Stylelint are configured via @s-ui/lint
- Prettier is configured for code formatting
- Pre-commit hooks run linting on staged files
- Pre-push hooks run tests
- Tests are run with SUI Studio test runner
- Coverage reporting is enabled
- Use headless mode for CI/CD
When working with this project:
- Component Creation: Use
npm run generateto scaffold new components - Code Style: Follow existing patterns in the components directory
- Testing: Always run tests after making changes
- TypeScript: Ensure type safety with
npm run types:check - Commits: Use conventional commit format (feat, fix, test, etc.)
- Monorepo: Remember this is a workspace - changes may affect multiple packages
- Run
npm run generateto create component scaffold - Implement component logic and styles
- Add tests and documentation
- Run
npm run lintandnpm run test - Commit with conventional format
- Update package.json files as needed
- Run
npm run phoenixto clean and reinstall - Test affected components
- Update any breaking changes
- Run
npm run check:releaseto verify readiness - Use
npm run releasefor publishing - Follow semantic versioning principles