aiwf 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -36
- package/CLAUDE.md +8 -209
- package/README.md +25 -5
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_docs.md +225 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_manager.md +287 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_language_status.md +246 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_code_review.md +62 -62
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_commit.md +111 -111
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_general_task.md +106 -106
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_milestone_plan.md +127 -127
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprint_tasks.md +130 -130
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_create_sprints_from_milestone.md +87 -87
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_do_task.md +72 -72
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_docs.md +225 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_initialize.md +86 -86
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_issue_create.md +3 -3
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_manager.md +287 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_language_status.md +246 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_pr_create.md +14 -14
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime.md +5 -5
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_project_review.md +39 -39
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_switch_language.md +160 -0
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_test.md +76 -77
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_testing_review.md +120 -120
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_ultrathink_general.md +209 -266
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_yolo.md +226 -226
- package/docs/AI-WORKFLOW.ko.md +9 -2
- package/docs/AI-WORKFLOW.md +9 -2
- package/docs/COMMANDS_GUIDE.ko.md +93 -3
- package/docs/COMMANDS_GUIDE.md +94 -4
- package/docs/Enhanced_Installation_Flow_Design.md +498 -0
- package/docs/PRD.ko.md +110 -58
- package/docs/PRD.md +110 -58
- package/index.js +1240 -20
- package/jest.config.js +4 -0
- package/language-cli.js +279 -0
- package/language-utils.js +330 -0
- package/package.json +12 -4
- package/scripts/validate-commands.cjs +338 -0
- package/scripts/validate-commands.js +254 -0
- package/tests/basic.test.js +62 -0
- package/tests/commands.test.js +127 -0
- package/tests/installer.test.js +129 -0
- package/tests/language-utils.test.js +271 -0
- package/claude-code/aiwf/en/.claude/commands/aiwf/aiwf_prime_context.md +0 -5
- package/claude-code/aiwf/ko/.claude/commands/aiwf/aiwf_prime_context.md +0 -8
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
# 코드 리뷰 -
|
|
1
|
+
# 코드 리뷰 - 위에서 아래로 실행
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
코드 리뷰를 실행하기 위해 다음 지침을 위에서 아래로 사용하세요.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 정확히 다음 6개 항목으로 할 일 목록을 만드세요
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
12
|
-
6.
|
|
7
|
+
1. 주어진 범위 분석
|
|
8
|
+
2. 범위 내에서 코드 변경사항 찾기
|
|
9
|
+
3. 관련 사양 및 문서 찾기
|
|
10
|
+
4. 문서 및 요구사항과 코드 변경사항 비교
|
|
11
|
+
5. 가능한 차이점 분석
|
|
12
|
+
6. 세부사항과 함께 통과/실패 판정 제공
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
각 단계를 단계별로 따르고 다음 지침을 엄격히 준수하세요.
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## 모든 할 일 목록 항목에 대한 세부사항
|
|
17
17
|
|
|
18
|
-
### 1.
|
|
18
|
+
### 1. 주어진 범위 분석
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
확인: <$ARGUMENTS>
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
비어있으면 기본값을 사용하고, 그렇지 않으면 <$ARGUMENTS>를 해석하여 리뷰 범위를 식별합니다. 리뷰할 의미 있는 변경사항을 찾을 수 있는 경우에만 계속합니다.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
**맥락:** 코드 변경사항을 리뷰하기 전에:
|
|
25
25
|
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
- `.aiwf/00_PROJECT_MANIFEST.md`를 읽어 현재 스프린트와 마일스톤 맥락을 이해합니다
|
|
27
|
+
- 매니페스트를 사용하여 어떤 스프린트가 활성이고 어떤 작업이 범위에 있는지 식별합니다
|
|
28
|
+
- 현재 스프린트의 납품에 적절한 요구사항에만 평가합니다
|
|
29
29
|
|
|
30
|
-
### 2.
|
|
30
|
+
### 2. 범위 내에서 코드 변경사항 찾기
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
식별된 범위를 사용하여 `git diff` (기본값: `git diff HEAD~1`)로 코드 변경사항을 찾습니다.
|
|
33
33
|
|
|
34
|
-
### 3.
|
|
34
|
+
### 3. 관련 사양 및 문서 찾기
|
|
35
35
|
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
36
|
+
- 수행된 작업에 관련된 태스크, 스프린트, 마일스톤을 찾고 발견사항을 출력합니다
|
|
37
|
+
- `.aiwf/03_SPRINTS/`로 이동하여 현재 스프린트 디렉토리를 찾습니다
|
|
38
|
+
- 스프린트 매타 파일을 읽어 스프린트 목표와 납품을 이해합니다
|
|
39
|
+
- 특정 태스크가 범위에 있는 경우, 스프린트 디렉토리에서 태스크 파일을 찾아 읽습니다
|
|
40
|
+
- 현재 마일스톤에 대한 `.aiwf/02_REQUIREMENTS/`에서 관련 요구사항을 식별합니다
|
|
41
|
+
- 관련 문서, 특히 `.aiwf/01_PROJECT_DOCS/`와 `.aiwf/02_REQUIREMENTS/`에서 문서를 읽습니다
|
|
42
|
+
- **중요:** 미래 마일스톤 기능이 아닌 현재 스프린트 납품에만 집중합니다
|
|
43
43
|
|
|
44
|
-
### 4.
|
|
44
|
+
### 4. 문서 및 요구사항과 코드 변경사항 비교
|
|
45
45
|
|
|
46
|
-
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
- **
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
46
|
+
- 발견된 요구사항과 사양에 대해 변경사항을 비교하기 위해 심층 사고를 사용합니다
|
|
47
|
+
- 특히 다음 사항들을 비교합니다:
|
|
48
|
+
- **데이터 모델 / 스키마** — 필드, 타입, 제약사항, 관계
|
|
49
|
+
- **API / 인터페이스** — 엔드포인트, 매개변수, 반환 형태, 상태 코드, 오류
|
|
50
|
+
- **설정 / 환경** — 키, 기본값, 필수/선택사항
|
|
51
|
+
- **동작** — 비즈니스 규칙, 부작용, 오류 처리
|
|
52
|
+
- **품질** — 이름, 형식, 테스트, 린터 상태
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
**중요:**
|
|
55
55
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
56
|
+
- 사양에서 벗어나는 것은 허용되지 않습니다. 작은 것도 안 됩니다. 여기서는 매우 까다롭게 마세요!
|
|
57
|
+
- 의심스러우면 **실패**를 선언하고 사용자에게 문의하세요
|
|
58
|
+
- 사양과 문서를 따르지 않는 것에 대해 무관용입니다
|
|
59
59
|
|
|
60
|
-
### 5.
|
|
60
|
+
### 5. 차이점 분석
|
|
61
61
|
|
|
62
|
-
-
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
-
|
|
62
|
+
- 발견된 모든 차이점을 분석합니다
|
|
63
|
+
- 모든 문제에 심각도 점수를 부여합니다
|
|
64
|
+
- 심각도는 1(낮음)에서 10(높음)까지입니다
|
|
65
|
+
- 출력을 위해 문제 목록과 점수를 기억합니다
|
|
66
66
|
|
|
67
|
-
### 6.
|
|
67
|
+
### 6. 세부사항과 함께 통과/실패 판정 제공
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
69
|
+
- 발견된 모든 차이점에 대해 **실패**를 선언합니다
|
|
70
|
+
- 무관용 - 선의의 추가사항에도 적용됩니다
|
|
71
|
+
- 작은 변경사항이 허용되는지 여부는 사용자가 결정하도록 합니다
|
|
72
|
+
- 불일치가 나타나지 않은 경우에만 **통과**입니다
|
|
73
73
|
|
|
74
|
-
####
|
|
74
|
+
#### 중요: 출력 형식
|
|
75
75
|
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
76
|
+
- 리뷰 결과를 태스크 파일의 **## 출력 로그** 섹션에 출력합니다
|
|
77
|
+
- 범위에 따라 `.aiwf/03_SPRINTS/` 또는 `.aiwf/04_GENERAL_TASKS/`에서 태스크 파일을 찾습니다
|
|
78
|
+
- 타임스탬프와 함께 기존 출력 로그에 리뷰 결과를 추가합니다
|
|
79
|
+
- 출력 형식:
|
|
80
80
|
```
|
|
81
|
-
[YYYY-MM-DD HH:MM]:
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
[YYYY-MM-DD HH:MM]: 코드 리뷰 - 통과/실패
|
|
82
|
+
결과: **실패/통과** 통과인지 실패인지에 대한 최종 결정
|
|
83
|
+
**범위:** 리뷰 범위에 대해 사용자에게 알립니다
|
|
84
|
+
**발견사항:** 발견된 모든 문제와 심각도 점수의 상세 목록
|
|
85
|
+
**요약:** 문제점이나 문제가 없는 상태에 대한 간단한 요약
|
|
86
|
+
**권장사항:** 추가 단계에 대한 개인적인 권장사항
|
|
87
87
|
```
|
|
88
|
-
-
|
|
88
|
+
- 또한 즉시 피드백을 위해 콘솔에 간단한 결과 요약을 출력합니다
|
|
@@ -1,160 +1,160 @@
|
|
|
1
1
|
# 변경사항 분석 및 사용자 확인을 통한 논리적 git 커밋 생성
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
다음 지시사항을 위에서 아래로 순서대로 따르세요.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## 정확히 다음 6개 항목으로 TODO 생성
|
|
6
6
|
|
|
7
|
-
1.
|
|
8
|
-
2.
|
|
9
|
-
3.
|
|
10
|
-
4.
|
|
11
|
-
5.
|
|
12
|
-
6.
|
|
7
|
+
1. 인수 파싱 및 git 상태 분석
|
|
8
|
+
2. 변경사항 검토 및 논리적 커밋별 그룹화
|
|
9
|
+
3. 커밋 구조 및 메시지 제안
|
|
10
|
+
4. 사용자 승인 필요 여부 확인
|
|
11
|
+
5. 승인된 커밋 실행
|
|
12
|
+
6. 커밋 결과 보고
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
## 1 ·
|
|
16
|
+
## 1 · git 상태 분석 및 인수 파싱
|
|
17
17
|
|
|
18
|
-
-
|
|
19
|
-
-
|
|
18
|
+
- 최대 효율성을 위해 다음 명령어들을 병렬 실행: `git status`, `git diff --staged`, `git diff`
|
|
19
|
+
- 범위를 이해하기 위해 폴더 구조와 함께 모든 변경된 파일 나열
|
|
20
20
|
|
|
21
|
-
###
|
|
21
|
+
### 중요: 인수 해석 규칙
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
**컨텍스트 제공됨** (<$ARGUMENTS>에 텍스트가 포함된 경우):
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
25
|
+
- YOLO가 <$ARGUMENTS>의 일부라면 사용자 승인을 건너뛰는 것을 의미 (Todo의 4단계 참조)
|
|
26
|
+
- <$ARGUMENTS>의 다른 텍스트는 사용자가 제공한 **태스크 ID**, **스프린트 ID**, 또는 기타 **컨텍스트 식별자**를 나타냄
|
|
27
|
+
- 이것은 파일 경로가 아니라 변경사항을 필터링하기 위한 의미적 컨텍스트임
|
|
28
|
+
- **주요 초점**: 이 컨텍스트와 직접 관련된 파일만 커밋
|
|
29
|
+
- **부차적 고려사항**: 주요 컨텍스트 처리 후, 사용자가 관련 없는 다른 변경사항을 커밋하고 싶은지 묻기
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
**태스크 ID 패턴** (예: T01_S02, TX03_S01, T003):
|
|
32
32
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
- `.aiwf/03_SPRINTS/`
|
|
39
|
-
- `.aiwf/04_GENERAL_TASKS/`
|
|
40
|
-
-
|
|
41
|
-
- Git diff
|
|
42
|
-
-
|
|
43
|
-
-
|
|
33
|
+
- 스프린트 태스크: `T<NN>_S<NN>` 형식 (예: T01_S02, T03_S02)
|
|
34
|
+
- 완료된 스프린트 태스크: `TX<NN>_S<NN>` 형식 (예: TX01_S02, TX03_S01)
|
|
35
|
+
- 일반 태스크: `T<NNN>` 형식 (예: T001, T002)
|
|
36
|
+
- 완료된 일반 태스크: `TX<NNN>` 형식 (예: TX001, TX002)
|
|
37
|
+
- 다음 위치에서 이 태스크 ID를 검색:
|
|
38
|
+
- `.aiwf/03_SPRINTS/` 디렉토리 (스프린트 태스크용)
|
|
39
|
+
- `.aiwf/04_GENERAL_TASKS/` 디렉토리 (일반 태스크용)
|
|
40
|
+
- 파일의 태스크 메타데이터 (frontmatter에서 `task_id: T01_S02` 찾기)
|
|
41
|
+
- Git diff 내용 (코드 주석이나 커밋이 태스크를 참조하는지 확인)
|
|
42
|
+
- 이 태스크 구현의 일부로 수정된 모든 파일 식별
|
|
43
|
+
- 여기에는 다음이 포함: 소스 코드, 테스트, 구성, 그리고 태스크 문서 파일 자체
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
**스프린트 ID 패턴** (예: S01, S02):
|
|
46
46
|
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
-
|
|
47
|
+
- 스프린트 ID만 제공된 경우, 해당 스프린트 내의 모든 태스크와 관련된 변경사항을 커밋
|
|
48
|
+
- 검색 패턴: 스프린트 디렉토리의 `T*_S<NN>`
|
|
49
|
+
- 예시: "S02"는 T01_S02, T02_S02, T03_S02 등의 변경사항을 포함
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
**컨텍스트 제공되지 않음** (<$ARGUMENTS>가 비어있는 경우):
|
|
52
52
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
53
|
+
- 모든 변경사항을 분석하고 논리적으로 그룹화
|
|
54
|
+
- 서로 다른 논리적 작업 단위에 대해 별도 커밋 제안
|
|
55
55
|
|
|
56
|
-
###
|
|
56
|
+
### 구현 단계
|
|
57
57
|
|
|
58
|
-
1.
|
|
59
|
-
2.
|
|
60
|
-
3.
|
|
61
|
-
4.
|
|
62
|
-
5.
|
|
63
|
-
6.
|
|
58
|
+
1. 먼저 <$ARGUMENTS>에 텍스트가 포함되어 있는지 확인
|
|
59
|
+
2. 포함되어 있다면 명시적으로 기술: "컨텍스트 제공됨: '$ARGUMENTS' - 이 컨텍스트와 관련된 변경사항에 집중하겠습니다"
|
|
60
|
+
3. 태스크 ID 패턴인 경우, 태스크 파일을 찾아서 구현된 내용 이해
|
|
61
|
+
4. 식별된 컨텍스트와 관련된 파일들로만 변경된 파일들을 필터링
|
|
62
|
+
5. 컨텍스트와 일치하는 파일이 없으면 사용자에게 알림: "'$ARGUMENTS'와 관련된 변경사항을 찾을 수 없습니다"
|
|
63
|
+
6. 관련 없는 변경사항이 존재하면 언급하되 초기 커밋 제안에는 포함하지 않음
|
|
64
64
|
|
|
65
|
-
## 2 ·
|
|
65
|
+
## 2 · 변경사항 검토 및 논리적 커밋별 그룹화
|
|
66
66
|
|
|
67
|
-
###
|
|
67
|
+
### 우선순위: 컨텍스트 필터링
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
**인수에 컨텍스트가 제공된 경우**:
|
|
70
70
|
|
|
71
|
-
1.
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
2.
|
|
75
|
-
3.
|
|
71
|
+
1. **먼저 필터링**: 변경사항을 두 그룹으로 분리:
|
|
72
|
+
- **컨텍스트와 관련**: 태스크/컨텍스트 구현의 일부인 파일들
|
|
73
|
+
- **컨텍스트와 무관**: 그 외 모든 것
|
|
74
|
+
2. **집중**: 첫 번째 커밋에서는 "컨텍스트와 관련" 그룹만 분석
|
|
75
|
+
3. **연기**: 잠재적인 후속 커밋을 위해 "무관" 그룹 보관 (사용자가 요청하는 경우에만)
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
**표준 그룹화 로직** (컨텍스트 없음 또는 컨텍스트 내 그룹화용):
|
|
78
78
|
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
-
|
|
87
|
-
-
|
|
79
|
+
- **논리적으로 함께 속하는 변경사항 고민**:
|
|
80
|
+
- 태스크 완료 (해당되는 경우 태스크 ID별 그룹화)
|
|
81
|
+
- 기능 추가 (기능 범위별 그룹화)
|
|
82
|
+
- 구성 업데이트 (별도 그룹화)
|
|
83
|
+
- 문서 업데이트 (문서 유형별 그룹화)
|
|
84
|
+
- 버그 수정 (관련 기능별 그룹화)
|
|
85
|
+
- **신중하게 고려**하여 각 커밋이 독립적으로 이해되고 잠재적으로 되돌릴 수 있는 하나의 논리적 변경을 나타내도록 보장
|
|
86
|
+
- 관련 없는 변경사항을 같은 커밋에 혼합하지 않기
|
|
87
|
+
- 커밋 순서를 정할 때 변경사항 간의 의존성 고려
|
|
88
88
|
|
|
89
|
-
## 3 ·
|
|
89
|
+
## 3 · 커밋 제안
|
|
90
90
|
|
|
91
|
-
###
|
|
91
|
+
### 컨텍스트 인식 커밋 제안
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
**컨텍스트가 제공된 경우** (예: 태스크 ID):
|
|
94
94
|
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
95
|
+
- **첫 번째 커밋**: 제공된 컨텍스트와 관련된 파일만 포함해야 함
|
|
96
|
+
- 명확히 기술: "이 커밋은 $ARGUMENTS에 대한 변경사항을 포함합니다"
|
|
97
|
+
- 이 커밋이 완료된 후, 다음과 같이 묻기: "[파일 목록]에 관련 없는 변경사항도 있습니다. 이것들에 대해서도 추가 커밋을 생성하시겠습니까?"
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
**컨텍스트가 제공되지 않은 경우**:
|
|
100
100
|
|
|
101
|
-
-
|
|
101
|
+
- 모든 변경사항의 논리적 그룹화를 기반으로 커밋 제안
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
생성할 다음 커밋에 대해:
|
|
104
104
|
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
- **GitHub
|
|
111
|
-
-
|
|
105
|
+
- **컨텍스트**: 해당되는 경우, 이 커밋이 다루는 태스크/컨텍스트
|
|
106
|
+
- **파일**: 포함될 특정 파일 목록
|
|
107
|
+
- **커밋 메시지**: 관례적인 커밋 형식 사용, 명확하고 간결하게
|
|
108
|
+
- **중요:** Claude, Anthropic, 또는 AI 지원에 대한 어떤 언급도 포함하지 않아야 함
|
|
109
|
+
- 태스크 관련인 경우, 메시지에 태스크 ID 포함 (예: "feat(agents): implement T01_S02 coordinator agent" 또는 "fix(api): resolve T003 authentication issue")
|
|
110
|
+
- **GitHub 이슈 연결**: 태스크에 GitHub 이슈가 있는 경우, 커밋 메시지에 `fixes #123` 또는 `relates to #456` 포함
|
|
111
|
+
- **근거**: 이러한 변경사항들이 왜 함께 속하는지에 대한 간단한 설명
|
|
112
112
|
|
|
113
|
-
## 4 ·
|
|
113
|
+
## 4 · 사용자 승인 필요 여부 확인
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
YOLO가 <$ARGUMENTS>의 **일부라면** 이 단계를 건너뛰고 다음 단계로 이동.
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
그렇지 않으면 사용자 승인을 요청.
|
|
118
118
|
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
119
|
+
- 파일과 메시지를 포함한 완전한 커밋 계획 표시
|
|
120
|
+
- 진행하기 전에 명시적인 사용자 확인 대기
|
|
121
|
+
- 사용자가 거부하면 무엇을 변경해야 하는지 묻기
|
|
122
|
+
- 사용자가 커밋 메시지나 범위를 수정하고 싶어하면 조정
|
|
123
123
|
|
|
124
|
-
## 5 ·
|
|
124
|
+
## 5 · 승인된 커밋 실행 및 계속
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
승인된 커밋에 대해:
|
|
127
127
|
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
- **GitHub
|
|
133
|
-
-
|
|
134
|
-
-
|
|
128
|
+
- `git add`로 지정된 파일들 스테이징
|
|
129
|
+
- **중요:** pre-commit 훅을 사용하고 있어 부족한 점을 보고할 가능성이 높음. 이를 수정해야 함. 특히 이런 문제들을 다루는 열린 태스크가 없다면 검증을 건너뛰지 마세요.
|
|
130
|
+
- 승인된 메시지로 **커밋 생성**
|
|
131
|
+
- 커밋이 성공적으로 생성되었는지 확인
|
|
132
|
+
- **GitHub 이슈 업데이트 (해당하는 경우):**
|
|
133
|
+
- 태스크에 연결된 GitHub 이슈가 있는 경우
|
|
134
|
+
- 이슈에 커밋 링크 댓글 추가:
|
|
135
135
|
```bash
|
|
136
136
|
gh issue comment {issue_number} --body "🔗 Commit: {commit_sha} - {commit_message}"
|
|
137
137
|
```
|
|
138
|
-
-
|
|
139
|
-
-
|
|
138
|
+
- **중요:** 남은 커밋이 더 있다면 다음 커밋을 위해 3단계로 돌아가기
|
|
139
|
+
- 모든 커밋이 완료된 경우에만 6단계로 진행
|
|
140
140
|
|
|
141
|
-
## 6 ·
|
|
141
|
+
## 6 · 커밋 결과 보고
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
요약 제공:
|
|
144
144
|
|
|
145
|
-
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
145
|
+
- **생성된 커밋**: SHA와 메시지와 함께 각 커밋 나열
|
|
146
|
+
- **커밋된 파일**: 커밋된 파일의 총 개수
|
|
147
|
+
- **남은 변경사항**: 아직 커밋되지 않은 대기 중인 변경사항
|
|
148
|
+
- **저장소 상태**: 커밋 후 현재 git 상태
|
|
149
149
|
|
|
150
|
-
## 7 ·
|
|
150
|
+
## 7 · 변경 로그 생성 (선택사항)
|
|
151
151
|
|
|
152
|
-
|
|
152
|
+
성공적인 커밋 후:
|
|
153
153
|
|
|
154
|
-
-
|
|
155
|
-
-
|
|
156
|
-
-
|
|
157
|
-
-
|
|
158
|
-
-
|
|
159
|
-
-
|
|
160
|
-
-
|
|
154
|
+
- 사용자에게 묻기: "커밋이 완료되었습니다. Changelog를 업데이트하시겠습니까? (y/n)"
|
|
155
|
+
- yes인 경우 실행: `/project:aiwf:changelog`
|
|
156
|
+
- 이는 다음을 수행:
|
|
157
|
+
- 최근 커밋 히스토리 분석
|
|
158
|
+
- CHANGELOG.md 생성 또는 업데이트
|
|
159
|
+
- 유형별 변경사항 분류 (feat, fix, docs 등)
|
|
160
|
+
- 방금 생성된 커밋들 포함
|