Skip to content

Comments

[Setting] WTH-138 : 깃허브 설정#4

Merged
JIN921 merged 3 commits intomainfrom
setting/WTH-138-깃허브-설정
Feb 20, 2026

Hidden character warning

The head ref may contain hidden characters: "setting/WTH-138-\uae43\ud5c8\ube0c-\uc124\uc815"
Merged

[Setting] WTH-138 : 깃허브 설정#4
JIN921 merged 3 commits intomainfrom
setting/WTH-138-깃허브-설정

Conversation

@JIN921
Copy link
Collaborator

@JIN921 JIN921 commented Feb 19, 2026

✅ PR 유형

어떤 변경 사항이 있었나요?

  • 새로운 기능 추가
  • 버그 수정
  • 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

📌 관련 이슈번호

  • Closed #138

✅ Key Changes

  • .clauderc 삭제 및 CLAUDE.md로 Claude 에이전트 설정 파일 마이그레이션
  • .github/labels.json 추가 — GitHub 라벨 정의 파일 신규 추가
  • components.json 추가 — shadcn/ui 컴포넌트 설정 파일 추가
  • package.jsonpnpm-lock.yaml 업데이트 — 신규 패키지 의존성 반영
  • main 브랜치 머지 관련 룰 추가
    • 2개 이상의 리뷰 받아야 머지 가능
    • CI 통과시 머지 가능

📸 스크린샷 or 실행영상


🎸 기타 사항 or 추가 코멘트

pr 생성 agent도 추가해 보았습니다!

PR 오픈
└─ GitHub Actions CI 실행 (lint + build)
├─ 실패 → 머지 불가 (브랜치 보호 룰)
└─ 통과 → main 머지 가능
└─ Amplify 자동 감지 → pnpm build → 배포

CI/CD는 이런 플로우로 진행 됩니다!

Summary by CodeRabbit

릴리스 노트

  • Chores

    • CI 워크플로우 추가: 자동 타입체크·린트·포맷·빌드 검증 및 PR 요약 코멘트 도입
    • 배포 설정 추가: Amplify 빌드 구성 추가
    • 개발용 스크립트 추가: 타입체크 및 포맷 검사 스크립트 도입
  • Documentation

    • Figma→컴포넌트 변환 가이드 문서화
    • PR 작성 에이전트 사양 및 프로젝트 문서 정리·명료화
  • Refactor

    • UI 컴포넌트 공개 인터페이스 일부 조정 (노출 항목 정리)

@JIN921 JIN921 self-assigned this Feb 19, 2026
@JIN921 JIN921 added the ⚙ Setting 개발 환경 세팅 label Feb 19, 2026
@coderabbitai
Copy link

coderabbitai bot commented Feb 19, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

새로운 Claude 에이전트 스펙(.claude/agents/*), GitHub Actions CI 워크플로우(.github/workflows/ci.yml), Amplify 빌드 설정(amplify.yml), 문서 업데이트(CLAUDE.md) 및 UI 컴포넌트 재내보내기(src/components/ui/index.ts)가 추가/수정되었습니다.

Changes

Cohort / File(s) Summary
Claude AI 에이전트 스펙
.claude/agents/figma-to-component.md, .claude/agents/pr-writer.md
Figma → React 컴포넌트 변환 워크플로우와 PR 본문 자동 생성 에이전트 가이드 문서를 신규 추가.
CI 워크플로우
.github/workflows/ci.yml
Pull Request 대상 타입체크/ESLint/Prettier/빌드 파이프라인 추가 및 결과를 PR 코멘트로 요약/업데이트하는 스크립트 포함.
Amplify 설정
amplify.yml
AWS Amplify 빌드/캐시/아티팩트 설정을 추가하여 프론트엔드 빌드 파이프라인 정의.
문서 변경
CLAUDE.md
프로젝트 구조·토큰·컴포넌트 가이드 정리 및 코드 예제 식별자 변경(예: componentVariantsvariants, ComponentPropsProps).
UI 내보내기 변경
src/components/ui/index.ts
Button과 함께 buttonVariants를 새로 내보내도록 변경; 일부 이전 Button 관련 타입(ButtonVariant, ButtonSize)은 공개 export에서 제거.
패키지 스크립트
package.json
typecheckformat:check npm 스크립트 추가.

Sequence Diagram(s)

(생성 조건 미충족 — 생략)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested labels

✨ Feature

Suggested reviewers

  • dalzzy
  • woneeeee
  • nabbang6

Poem

🐰 새 문서에 껑충 뛰어들어,
Figma 선을 토큰으로 엮고,
CI는 빌드를 부르고,
export는 한결 깔끔해졌네,
작은 당근으로 축하하자!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed PR 제목이 깃허브 설정(GitHub 설정) 관련 주요 변경사항을 명확하게 요약하고 있으며, 이슈 번호(WTH-138)를 포함하고 있습니다.
Description check ✅ Passed PR 설명이 템플릿의 모든 필수 섹션을 포함하고 있으며, PR 유형 선택, 관련 이슈, 주요 변경사항, 그리고 추가 코멘트가 구체적으로 작성되어 있습니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch setting/WTH-138-깃허브-설정

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
amplify.yml (1)

4-8: pnpm@latest 대신 특정 버전을 명시해 빌드 재현성을 확보하세요

Line 7의 pnpm@latest는 빌드 시점마다 다른 버전을 다운로드할 수 있어 CI/로컬 환경 간 일관성이 깨질 수 있습니다. package.jsonpackageManager 필드를 추가하거나, pnpm 잠금 파일에서 사용 중인 버전(9.0)을 직접 명시하는 것이 안전합니다.

♻️ 제안 변경
-        - corepack prepare pnpm@latest --activate
+        - corepack prepare pnpm@9 --activate

또는 package.json에 다음을 추가 후:

{
  "packageManager": "pnpm@9.0.0"
}

그 후:

-        - corepack prepare pnpm@latest --activate
+        - corepack prepare "$(jq -r .packageManager package.json)" --activate
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@amplify.yml` around lines 4 - 8, Replace the non-deterministic "pnpm@latest"
in the preBuild commands with a specific pnpm version (the version locked in
your repo, e.g., "pnpm@9.0.0") to ensure reproducible builds; alternatively add
or update the packageManager field in package.json to "pnpm@9.0.0" and then use
corepack prepare to activate that pinned version—update the preBuild block where
corepack prepare pnpm@latest --activate is invoked and ensure the chosen version
matches your pnpm lock file.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/agents/figma-to-component.md:
- Around line 35-57: 현재 예제에서 사용된 심볼명을 CLAUDE.md 최신 예시와 일치시키세요: 변수와 타입 이름을
componentVariants -> variants, ComponentProps -> Props로 바꾸고 관련 모든 참조를 업데이트하세요
(VariantProps<typeof componentVariants> → VariantProps<typeof variants>,
componentVariants({ ... }) → variants({ ... }), export { Component,
componentVariants, type ComponentProps } → export { Component, variants, type
Props } 등). 함수 시그니처와 인터페이스 확장(extends React.HTMLAttributes<...>)에 사용된 이름들도 동일하게
교체하여 문서들 간 용어가 일관되도록 만드세요.

In @.github/workflows/ci.yml:
- Around line 16-25: The CI uses pnpm/action-setup@v4 with "version: latest",
which can cause non-reproducible installs; add a packageManager field to
package.json (e.g., "packageManager": "pnpm@9.6.0") and update the workflow to
pin the pnpm action to that exact version instead of "latest" (replace the
"version: latest" value used with pnpm/action-setup@v4 with the same explicit
version from packageManager) so CI and local environments use the same pnpm
version.

---

Nitpick comments:
In `@amplify.yml`:
- Around line 4-8: Replace the non-deterministic "pnpm@latest" in the preBuild
commands with a specific pnpm version (the version locked in your repo, e.g.,
"pnpm@9.0.0") to ensure reproducible builds; alternatively add or update the
packageManager field in package.json to "pnpm@9.0.0" and then use corepack
prepare to activate that pinned version—update the preBuild block where corepack
prepare pnpm@latest --activate is invoked and ensure the chosen version matches
your pnpm lock file.

Comment on lines +16 to +25
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: pnpm
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# Check package.json for packageManager field
rg -n '"packageManager"' --type json -A 2

Repository: Team-Weeth/weeth-client

Length of output: 49


🏁 Script executed:

# Check the full CI workflow file
cat .github/workflows/ci.yml

Repository: Team-Weeth/weeth-client

Length of output: 646


🏁 Script executed:

# Check for any Amplify configuration
fd -e 'amplify' -e 'amplify.yml' -e 'amplify.json' -o rg 'amplify' --type yaml --type json

Repository: Team-Weeth/weeth-client

Length of output: 190


🏁 Script executed:

# Check pnpm lock file to understand pnpm version being used
head -20 pnpm-lock.yaml 2>/dev/null || echo "No pnpm-lock.yaml found"

Repository: Team-Weeth/weeth-client

Length of output: 455


🏁 Script executed:

# Read the package.json file to see its complete content
cat package.json

Repository: Team-Weeth/weeth-client

Length of output: 999


🏁 Script executed:

# Check if there's an .npmrc or .pnpmrc file that might specify version
cat .npmrc 2>/dev/null || echo "No .npmrc"

Repository: Team-Weeth/weeth-client

Length of output: 76


🏁 Script executed:

# Check pnpm-lock.yaml for pnpm version info
rg "pnpm@" pnpm-lock.yaml | head -5

Repository: Team-Weeth/weeth-client

Length of output: 49


CI 안정성을 위해 pnpm 버전을 명시적으로 지정하세요

Line 17의 version: latest는 CI 실행마다 다른 pnpm 버전이 설치될 수 있어 재현성 문제와 빌드 불안정을 초래합니다.

package.json에 packageManager 필드를 추가하여 pnpm 버전을 명시적으로 선언하세요:

{
  "packageManager": "pnpm@9.6.0"
}

그 후 CI 워크플로우에서 해당 버전을 읽도록 구성하세요. 이를 통해 로컬 개발 환경과 CI 환경의 pnpm 버전을 일치시킬 수 있습니다.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ci.yml around lines 16 - 25, The CI uses
pnpm/action-setup@v4 with "version: latest", which can cause non-reproducible
installs; add a packageManager field to package.json (e.g., "packageManager":
"pnpm@9.6.0") and update the workflow to pin the pnpm action to that exact
version instead of "latest" (replace the "version: latest" value used with
pnpm/action-setup@v4 with the same explicit version from packageManager) so CI
and local environments use the same pnpm version.

Copy link
Member

@woneeeee woneeeee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 좋아요 확인했습니다!! 지금 빌드 오류는 대소문자 때문인것 같은데... 한 번 확인 부탁드립니당!! 일단 지금은 컴포넌트 만드는 agents랑 pr 작성해주는 agent 말고 또 필요한게 생각이 안나네용... 추후에 개발하다가 api 연결이랑 react-query 사용하는 agent를 만들어도 좋을 것 같아요!!

Copy link
Collaborator

@dalzzy dalzzy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오옷 수고하셨습니다!!! 사실 클로드 agent 생성 어떻게 해야될지 감이 잘 안왔었는데 이런 식으로 만들면 되는군용 좋습니다 👍🏻

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pr 작성도 클로드한테 시킬 수 있군요,, 좋은 세상이다

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저희 develop 브랜치 따로 있어야 하지 않나욤?? develop 브랜치 생성하고 여기에도 develop 추가하면 좋을 것 같습니다!!

Copy link
Collaborator

@nabbang6 nabbang6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다~!! 넘 고생하셨어요 ㅜ.ㅜbb
pr 생성까지 해준다니 넘 신기하고 최고,,, 좋네용
추후에 더 필요한 agent 생기면 단계적으로 추가해 나가도 좋을 것 같아요 b!!

@github-actions
Copy link

github-actions bot commented Feb 20, 2026

PR 검증 결과

TypeScript: 실패
ESLint: 통과
Prettier: 실패
Build: 통과

⚠️ 일부 검증에 실패했습니다. 확인 후 수정해주세요.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/agents/figma-to-component.md:
- Around line 14-22: The markdown code fences containing the Figma Property
table and the checklist blocks are missing a language specifier which triggers
markdownlint MD040; update each opening triple-backtick for the table block (the
block starting with "Figma Property  | Value      | Mapped Token/Class") and the
checklist block (the block containing lines like "✅ 파일 생성:
src/components/ui/ComponentName.tsx") to include a language token (for example
`text`) so the fences read ```text and close with ```, ensuring all code blocks
referenced (including the ones around lines 66-70) are updated consistently.

---

Duplicate comments:
In @.github/workflows/ci.yml:
- Around line 18-21: The CI uses pnpm/action-setup with version: latest which
breaks reproducibility; update .github/workflows/ci.yml so the Setup pnpm step
(uses: pnpm/action-setup@v4 / name: Setup pnpm) pins the pnpm version to the
exact value declared in package.json's "packageManager" (e.g., set the version
input to that specific semver like 8.6.0 instead of latest), ensuring the
workflow and package.json stay in sync.

Comment on lines +14 to +22
```
Figma Property | Value | Mapped Token/Class
--------------- | ---------- | -------------------------
Background | #1E2125 | bg-container-neutral
Border Radius | 8px | rounded-lg
Font | Sub1 Bold | typo-sub1 text-text-strong
Padding | 20px | p-500
Gap | 12px | gap-300
```
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

코드 펜스에 언어를 지정하세요.

markdownlint 경고(MD040)로, 코드 블록에 언어 지정이 필요합니다.

✏️ 예시 수정
-```
+```text
 Figma Property  | Value      | Mapped Token/Class
 --------------- | ---------- | -------------------------
 Background      | `#1E2125`    | bg-container-neutral
 Border Radius   | 8px        | rounded-lg
 Font            | Sub1 Bold  | typo-sub1 text-text-strong
 Padding         | 20px       | p-500
 Gap             | 12px       | gap-300
-```
+```
-```
+```text
 ✅ 파일 생성: src/components/ui/ComponentName.tsx
 ✅ 디자인 토큰: N개 사용
 ⚠️  신규 토큰 필요: --token-name (제안값)
-```
+```

Also applies to: 66-70

🧰 Tools
🪛 markdownlint-cli2 (0.21.0)

[warning] 14-14: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.claude/agents/figma-to-component.md around lines 14 - 22, The markdown code
fences containing the Figma Property table and the checklist blocks are missing
a language specifier which triggers markdownlint MD040; update each opening
triple-backtick for the table block (the block starting with "Figma Property  |
Value      | Mapped Token/Class") and the checklist block (the block containing
lines like "✅ 파일 생성: src/components/ui/ComponentName.tsx") to include a language
token (for example `text`) so the fences read ```text and close with ```,
ensuring all code blocks referenced (including the ones around lines 66-70) are
updated consistently.

@JIN921 JIN921 merged commit d9bc371 into main Feb 20, 2026
2 checks passed
@JIN921 JIN921 deleted the setting/WTH-138-깃허브-설정 branch February 20, 2026 05:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙ Setting 개발 환경 세팅

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants