Repository navigation
[DOCS] PR 생성 및 리뷰 스킬 추가 #515
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
47bf330
docs: 스킬 워크플로 추가
i-meant-to-be 1b099da
docs: Claude용 스킬 추가
i-meant-to-be d0ab551
docs: Codex용 스킬 추가
i-meant-to-be 77c0084
docs: Claude용 진입점 추가
i-meant-to-be d29d0cb
docs: 추가 변경 사항 적용
i-meant-to-be 268ee66
fix: Claude 진입점 수정
i-meant-to-be File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| --- | ||
| name: dt-fe-code-review | ||
| description: Debate Timer FE의 PR·브랜치·diff를 검토하고 분류별 근거와 검증 결과를 로컬 보고서에 기록할 때 사용함. | ||
| --- | ||
|
|
||
| # 코드 리뷰 | ||
|
|
||
| [코드 리뷰 워크플로](../../../docs/workflows/dt-fe-code-review.md)를 읽고 적용함. | ||
| 요청된 범위를 먼저 확인하고, 발견 사항과 실제 검증 결과를 보고함. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| --- | ||
| name: dt-fe-pull-request | ||
| description: Debate Timer FE의 일반 작업 브랜치에서 develop으로 보내는 PR을 검토·검증·준비·생성할 때 사용함. | ||
| --- | ||
|
|
||
| # 일반 PR 생성 | ||
|
|
||
| [PR 생성 워크플로](../../../docs/workflows/dt-fe-pull-request.md)를 읽고 적용함. | ||
| PR 준비 전에 **`dt-fe-code-review` 스킬을 먼저 호출**하고 보고서를 확인함. | ||
| 승인 경계를 지키며 일반 작업 PR을 생성함. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| --- | ||
| name: dt-fe-code-review | ||
| description: Debate Timer FE의 PR·브랜치·diff를 검토하고 분류별 근거와 검증 결과를 로컬 보고서에 기록할 때 사용함. | ||
| --- | ||
|
|
||
| # 코드 리뷰 | ||
|
|
||
| [코드 리뷰 워크플로](../../../docs/workflows/dt-fe-code-review.md)를 읽고 적용함. | ||
| 요청된 범위를 먼저 확인하고, 발견 사항과 실제 검증 결과를 보고함. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| --- | ||
| name: dt-fe-pull-request | ||
| description: Debate Timer FE의 일반 작업 브랜치에서 develop으로 보내는 PR을 검토·검증·준비·생성할 때 사용함. | ||
| --- | ||
|
|
||
| # 일반 PR 생성 | ||
|
|
||
| [PR 생성 워크플로](../../docs/workflows/dt-fe-pull-request.md)를 읽고 적용함. | ||
| PR 준비 전에 **`dt-fe-code-review` 스킬을 먼저 호출**하고 보고서를 확인함. | ||
| 승인 경계를 지키며 일반 작업 PR을 생성함. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -25,3 +25,7 @@ yarn-error.log* | |
|
|
||
| *storybook.log | ||
|
|
||
| # 로컬 리뷰 보고서와 PR 초안 | ||
| /review-report-????-??-??.md | ||
| /PR.md | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| @AGENTS.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| # 코드 리뷰 워크플로 | ||
|
|
||
| ## 호출과 범위 | ||
|
|
||
| `dt-fe-code-review` 스킬을 호출하면 이 절차를 적용함. 리뷰 대상 PR, 브랜치 또는 | ||
| diff가 명시되면 해당 대상을 기준으로 검토함. 대상이 없으면 현재 브랜치의 | ||
| `develop` 대비 커밋 변경과 현재 작업 트리의 staged·unstaged·새 파일을 함께 | ||
| 검토함. 기준 브랜치와 실제 변경 범위를 먼저 기록하고 중복된 변경은 한 번만 검토함. | ||
|
|
||
| 스킬 호출은 아래 로컬 보고서 작성까지 포함함. 사용자가 명시적으로 읽기 전용 | ||
| 검토를 요청하면 파일을 변경하지 않고 결과를 답변에 제공함. 대상이 불명확하거나 | ||
| 기준 브랜치를 확인할 수 없으면 범위를 | ||
| 추측하지 않고 사용자에게 확인함. `develop → main` 배포 PR은 이 일반 작업 | ||
| 워크플로의 대상이 아님. | ||
|
|
||
| ## 검토 | ||
|
|
||
| 1. [헌법](../CONSTITUTION.md), [문서 지도](../README.md), 변경 영역의 상세 계약과 | ||
| 실제 코드를 대조함. 리뷰 중 코드·Git index·외부 상태를 변경하지 않음. | ||
| 2. PR이면 base·head와 실제 diff를 확인함. 브랜치이면 `develop`과의 분기점 및 | ||
| 커밋 diff를 확인함. 작업 트리의 staged·unstaged diff와 새 파일도 별도로 확인함. | ||
| 3. 기능·회귀·데이터 경계·접근성·테스트 누락 및 확정 컨벤션 위반을 검토함. | ||
| 기존 코드의 불일치를 새 규칙의 예외로 해석하지 않음. | ||
| 4. 필요한 검증은 실행 가능 범위에서 수행하고 명령, 결과, 실행하지 못한 이유를 | ||
| 구분함. 재현되지 않은 문제는 확정된 발견 사항으로 단정하지 않음. | ||
| 5. 발견 사항은 영향과 우선순위에 따라 `상`·`중`·`하`·`컨벤션 위반`으로 | ||
| 분류함. 각 항목에 파일·위치, 관찰 근거, 재현 조건 또는 확인 방법, 영향과 | ||
| 권장 조치를 적음. 계약 위반은 영향도와 별개로 `컨벤션 위반`에 둠. | ||
|
|
||
| `상`은 기능·데이터·보안·핵심 사용자 흐름을 깨뜨리는 문제, `중`은 제한된 경로의 | ||
| 동작 오류나 유의미한 회귀 위험, `하`는 영향이 작은 결함이나 개선 사항으로 | ||
| 분류함. 확실하지 않은 사항은 근거와 미확인 조건을 표시함. | ||
|
|
||
| ## 보고서 | ||
|
|
||
| 한국 시간 날짜로 루트 `review-report-yyyy-mm-dd.md`에 대상, 기준 커밋 또는 | ||
| diff, 요약, 분류별 발견 사항, 실행한 검증과 미실행 검증, 잔여 위험을 기록함. | ||
| 발견 사항이 없으면 그 사실과 검토 범위·한계를 명시함. 사용자에게도 주요 결과와 | ||
| 보고서 경로를 전달함. | ||
|
|
||
| 같은 날 파일이 있으면 먼저 내용을 읽음. 이전 자동 보고서임을 확인할 수 있는 | ||
| 구간만 갱신함. 사용자 작성 내용이 있으면 보존하고 새 자동 보고서 구간을 | ||
| 추가하거나 갱신함. 자동 구간은 `<!-- dt-fe-code-review:start -->`와 | ||
| `<!-- dt-fe-code-review:end -->`로 표시함. 구분이 불가능하면 덮어쓰지 않고 | ||
| 사용자에게 충돌을 알림. | ||
|
|
||
| 보고서는 로컬 산출물임. 커밋·push 대상에서 제외하고, 리뷰 범위에도 포함하지 | ||
| 않음. PR을 준비할 때는 [PR 생성 워크플로](dt-fe-pull-request.md)의 중단 조건에 | ||
| 따라 결과를 처리함. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,77 @@ | ||
| # 일반 PR 생성 워크플로 | ||
|
|
||
| ## 범위와 시작 | ||
|
|
||
| `dt-fe-pull-request` 스킬을 호출하면 이 절차를 적용함. 일반 작업 브랜치에서 | ||
| `develop`으로 보내는 PR만 다룸. `develop → main` 배포 PR은 개발자가 GitHub에서 | ||
| 직접 진행함. Git 변경·commit·push·PR 생성 권한은 [AGENTS.md](../../AGENTS.md)의 | ||
| 경계를 따름. | ||
|
|
||
| 1. 현재 브랜치, HEAD, upstream, `develop` 및 원격 상태, staged·unstaged·새 파일, | ||
| 기존 PR, 명시적 제외 파일을 확인함. 실제 브랜치나 이슈가 사용자 설명과 다르면 | ||
| 차이를 알리고 대상을 확인함. 이슈 번호가 없으면 추측하지 않고 질문함. | ||
| 2. `develop`에서 시작한다면 `git fetch origin develop`로 원격 최신 커밋을 | ||
| 가져온 뒤 현재 HEAD가 `origin/develop`의 조상인지 확인함. fast-forward가 | ||
| 가능할 때만 `git merge --ff-only origin/develop`로 `develop`을 갱신하고 | ||
| [AGENTS.md](../../AGENTS.md)의 이슈 브랜치 규칙으로 분기함. 미커밋 변경은 | ||
| 보존함. 갱신이 변경과 충돌하거나 fast-forward가 | ||
| 불가능하면 중단하고 상태를 사용자에게 알림. 변경을 폐기하거나 강제 갱신하지 | ||
| 않음. | ||
| 3. 이미 작업 브랜치라면 실제 이슈와 대상 브랜치를 확인하고 현재 변경을 유지함. | ||
| 상태 변경 명령이 중단되면 프로세스, 파일·Git 상태, HEAD와 lock을 확인한 뒤 | ||
| 재시도 여부를 결정함. | ||
|
|
||
| ## 선행 리뷰와 중단 조건 | ||
|
|
||
| PR 작성 전에 **`dt-fe-code-review` 스킬을 먼저 호출**하고 | ||
| [코드 리뷰 워크플로](dt-fe-code-review.md)에 따라 현재 PR 범위의 리뷰 보고서를 | ||
| 확인함. 보고서의 `상` 또는 `컨벤션 위반`이 하나라도 있으면 PR 진행을 중단함. | ||
| 보완 계획과 변경 파일·검증 범위를 제시하고 수정 승인을 요청함. 승인 후 수정, | ||
| 영향 범위 검증, 같은 범위의 재리뷰를 수행함. 차단 항목이 사라진 보고서를 | ||
| 확인한 뒤 진행함. `중`·`하`만 있으면 미해결 항목의 근거·영향을 PR 본문에 | ||
| 공개하고 진행함. | ||
|
|
||
| ## 검증과 커밋 | ||
|
|
||
| `npx vitest run`, `npm run lint`, `npm run build`를 실행하고 각 종료 상태와 | ||
| 핵심 결과를 기록함. 실패한 검증이 있으면 PR을 중단하고 원인과 보완 방법을 | ||
| 제시함. 실행 불가 항목은 이유, 수동 실행 명령과 확인할 동작을 제시하고 | ||
| 사용자 결정을 기다림. CI에서 빠진 중요한 검증도 PR 리뷰 요구사항에 수동 | ||
| 실행 명령과 확인 동작을 적음. | ||
|
|
||
| 미커밋 변경을 커밋해야 하면 포함·제외 파일과 커밋 단위를 사용자에게 보여주고 | ||
| 승인을 받은 뒤 커밋함. `review-report-yyyy-mm-dd.md`와 `PR.md`는 로컬 산출물로 | ||
| 유지하고 커밋·push에서 제외함. 커밋 전 실제 브랜치와 staging을 다시 확인함. | ||
| 커밋 후에는 PR에 들어갈 `develop...HEAD` 변경 범위를 다시 확인함. | ||
|
|
||
| ## PR 본문과 생성 | ||
|
|
||
| PR 제목은 `[{label}] {title}` 형식으로 작성함. `{label}`은 현재 브랜치 이름의 | ||
| 첫 `/` 앞 접두어에서 우선 파싱함. 접두어가 아래 GitHub 레이블 목록에 없거나 | ||
| 접두어가 없으면, 해당 목록에서 PR 변경의 | ||
| 주된 목적에 맞는 레이블을 선택함. 레이블 이름의 대소문자는 목록과 일치시킴. | ||
| `{title}`은 PR에 포함된 전체 변경을 종합해 에이전트가 결정함. 예를 들어 문서 변경을 포함한 | ||
| `docs/#514-add-new-skills` 브랜치는 `[docs] PR 생성 및 리뷰 스킬 추가`로 작성함. | ||
|
|
||
| 2026-10-01에 [저장소 레이블](https://github.com/debate-timer/debate-timer-fe/labels)을 | ||
| 조회한 목록임. | ||
|
|
||
| - `feat`: 기능 개발, `fix`: 버그 수정, `hotfix`: 긴급 수정임. | ||
| - `design`: UI 변경, `docs`: 문서 작업, `test`: 테스트 코드 작업임. | ||
| - `refactor`: 기능 변경 없는 코드 변경, `style`: 코드 컨벤션 변경임. | ||
| - `config`: 외부 라이브러리 추가·설정, `chore`: 파일 이동·이름 변경·삭제임. | ||
| - `deploy`: `develop → main` 배포이며 이 일반 PR 스킬의 대상에서 제외함. | ||
|
|
||
| 루트 [PR 템플릿](../../.github/PULL_REQUEST_TEMPLATE.md)의 `연관 이슈`, | ||
| `작업 내용`, 선택적 `스크린샷`, `리뷰 요구사항` 형식으로 루트 `PR.md`를 작성함. | ||
| 변경 배경, 사용 예시·정책·처리 흐름, 실제 검증 결과, 미실행 검증, 리뷰 관점과 | ||
| 미해결 `중`·`하` 발견 사항을 관련 항목에 적음. 이슈 연결 문구는 확인된 번호만 | ||
| 사용함. | ||
|
|
||
| push 직전에 실제 브랜치, upstream, 커밋과 diff, push 대상·범위, staging 및 | ||
| 제외 파일을 사용자에게 보여주고 **별도 승인**을 받음. 승인 전에는 push와 PR | ||
| 생성을 진행하지 않음. 승인 후 확인한 범위만 push하고 | ||
| `gh pr create --base develop --head <branch> --title "[{label}] {title}" --body-file PR.md`로 | ||
| PR을 생성함. | ||
| 명령이 중단되거나 실패하면 원격 브랜치·기존 PR 상태를 확인하고 중복 생성하지 | ||
| 않음. 생성된 PR 링크와 검증·리뷰 결과를 보고함. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.