Conversation
…ebsite - Export BadgeSize, BadgeVariant, SelectSize types for external consumption - Rename QuantityStatusProps → StockQuantityStatusProps for naming consistency - Make internal getColor helper private in StockQuantityStatus - Simplify Tab.tsx by removing unnecessary forwardRef wrappers - Standardize clsx import alias (clsx as cx) in Badge - Replace `as any` casts with `satisfies ButtonVariant[]` in Button stories - Fix operator precedence bug in Icons.stories.tsx icon filtering - Use color string as key instead of array index in Icons.stories.tsx - Remove biome exclusions for storybook/stories files from biome.json - Fix all biome formatting and import ordering in storybook/website files - Add justified biome-ignore for fixed-count OTP input array keys Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Standardize the clsx import alias from `cx` to `cn` in all 18 component files for naming consistency. Resolve naming collision in Button.tsx by renaming the local className variable to `buttonClassName`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Align Switch.tsx helper naming with codebase convention: getSwitchWidth → getWidth, getSwitchHeight → getHeight Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Extract shared createVarName to utils/css.ts eliminating duplication in css-vars.ts and tailwind.ts - Remove unused validateValue wrapper in validate.ts (direct parseValue) - Remove dead $number.1 spacing hack in tailwind builder - Add generate script with ds prefix for automated token.css output - Fix semantic color.yaml token refs (dot to hyphen notation) - Add primitive/font-weight.yaml and update package.json file globs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
|
Important Review skippedToo many files! This PR contains 157 files, which is 7 over the limit of 150. You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @ohprettyhak, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 Pull Request는 React 컴포넌트의 일관성을 개선하고, 디자인 시스템 CLI인 Baseframe의 코드 품질을 향상하며, Storybook 및 Website 문서화를 대폭 강화하는 것을 목표로 합니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Changelog
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
이 PR은 모노레포 전반에 걸쳐 코드 품질, 일관성, 문서를 크게 향상시키는 훌륭하고 광범위한 리팩터링입니다. 주요 개선 사항은 다음과 같습니다:
- 일관된 코드 스타일과 품질 검사를 위해
biome을 도입했습니다. - 더 나은 의존성 관리를 위해 pnpm
catalogs를 활용했습니다. - 중복과 데드 코드를 제거하여
baseframeCLI를 더 견고하고 유지보수하기 쉽게 리팩터링했습니다. - Tailwind CSS 4를 사용한 새로운 컴포넌트 페이지와 현대적인 디자인 시스템으로 문서 웹사이트를 대대적으로 개편했습니다.
clsx에cn을 사용하는 것을 표준화하고Tab컴포넌트를 리팩터링하는 등 React 컴포넌트의 일관성과 가독성을 개선했습니다.
변경 사항은 구조가 잘 잡혀 있으며 설명에 명시된 목표와 명확하게 일치합니다. 몇 가지 사소한 개선 제안이 있습니다. 훌륭한 작업입니다!
| <Typography className="mt-1" color={colors.textSecondary} weight="medium"> | ||
| {page.data.description} | ||
| </Typography> |
There was a problem hiding this comment.
부모 컴포넌트인 <Section>이 자식 요소들의 간격을 gap-4로 관리하도록 변경되었습니다. 따라서 이 Typography 컴포넌트의 mt-1 클래스는 더 이상 필요하지 않으며, 일관된 간격 유지를 위해 제거하는 것이 좋습니다.
| <Typography className="mt-1" color={colors.textSecondary} weight="medium"> | |
| {page.data.description} | |
| </Typography> | |
| <Typography color={colors.textSecondary} weight="medium"> | |
| {page.data.description} | |
| </Typography> |
| export const PageNavigation = () => { | ||
| const pathname = usePathname(); | ||
| const pages = Object.values(sidebar).flatMap((section): readonly Page[] => section.items); | ||
| const currentIndex = pages.findIndex(page => page.url === pathname); |
There was a problem hiding this comment.
pages 배열은 sidebar 상수를 기반으로 계산됩니다. 이 계산은 PageNavigation 컴포넌트가 렌더링될 때마다 수행됩니다. sidebar는 변경되지 않는 상수이므로, 이 계산을 컴포넌트 외부로 이동하여 렌더링 시마다 불필요한 재계산을 피하고 성능을 개선할 수 있습니다.
| export const PageNavigation = () => { | |
| const pathname = usePathname(); | |
| const pages = Object.values(sidebar).flatMap((section): readonly Page[] => section.items); | |
| const currentIndex = pages.findIndex(page => page.url === pathname); | |
| const pages = Object.values(sidebar).flatMap((section): readonly Page[] => section.items); | |
| export const PageNavigation = () => { | |
| const pathname = usePathname(); | |
| const currentIndex = pages.findIndex(page => page.url === pathname); |
|
@sisyphus-dev-ai review |
Summary
cx→cn, helper function prefix 제거)createVarName중복 제거 → 공유 유틸로 추출validateValue래퍼 함수 제거$number.1spacing 핵 제거generate스크립트 추가 (dsprefix)로 token.css 자동 생성 자동화Test plan
pnpm build(ecosystem/baseframe) 성공pnpm generate—--ds-prefix 포함 token.css 생성 확인pnpm typecheck통과🤖 Generated with Claude Code