jun-claude-code 0.0.13 → 0.0.15

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/README.md CHANGED
@@ -21,7 +21,7 @@ Claude Code 설정 템플릿 CLI. 미리 정의된 Agents, Skills, Hooks, Workfl
21
21
  | `architect` | 아키텍처 설계 |
22
22
  | `designer` | UI/UX 스타일링 |
23
23
  | `director` | 작업 총괄 디렉터 |
24
- | `context-collector` | Context 수집 |
24
+ | `context-collector` | 소스 코드 기반 Context 수집 |
25
25
  | `context-manager` | Context 문서 관리 |
26
26
 
27
27
  ### Skills (`templates/global/skills/`)
@@ -50,6 +50,7 @@ Claude Code 설정 템플릿 CLI. 미리 정의된 Agents, Skills, Hooks, Workfl
50
50
  |-------|------|
51
51
  | `project-task-manager` | GitHub Project 태스크 관리 |
52
52
  | `context-generator` | Context 자동 생성 |
53
+ | `project-context-collector` | .claude/context/ 문서 기반 프로젝트 배경 수집 |
53
54
 
54
55
  ### Project Skills (`templates/project/skills/`)
55
56
 
@@ -73,6 +74,14 @@ npm install -g jun-claude-code
73
74
 
74
75
  ## 사용법
75
76
 
77
+ ### 명령어 미리보기
78
+
79
+ | 명령어 | 설명 | 활성화되는 기능 |
80
+ |--------|------|----------------|
81
+ | `jun-claude-code` | 전역 설정 (`~/.claude/`) 설치 | Agents 13종, Skills 6종, Hooks 2종, Workflow |
82
+ | `jun-claude-code init-project` | GitHub Project 연동 | 세션 시작 시 태스크 자동 로드, 태스크 관리 Agent |
83
+ | `jun-claude-code init-context` | Context 자동 생성 설정 | PR 기반 Context 자동 생성, Codebase/Business 문서화, 별도 브랜치 PR |
84
+
76
85
  ### 기본 명령어: 설정 복사
77
86
 
78
87
  `templates/global` 설정 파일을 `~/.claude`로 복사합니다.
@@ -99,6 +108,13 @@ jun-claude-code init-project
99
108
  - Project Number
100
109
  - Repository (owner/repo 형식)
101
110
 
111
+ **활성화되는 기능:**
112
+
113
+ | 기능 | 설명 |
114
+ |------|------|
115
+ | 세션 시작 시 태스크 자동 로드 | Claude Code 시작 시 `task-loader.sh`가 GitHub Project에서 할당된 태스크를 조회 |
116
+ | 태스크 관리 Agent | `project-task-manager` Agent를 통해 태스크 상태 변경, 코멘트 추가 가능 |
117
+
102
118
  설정 후 생성되는 파일:
103
119
 
104
120
  ```
@@ -121,6 +137,15 @@ GitHub Actions를 통한 Context 문서 자동 생성을 설정합니다.
121
137
  jun-claude-code init-context
122
138
  ```
123
139
 
140
+ **활성화되는 기능:**
141
+
142
+ | 기능 | 설명 |
143
+ |------|------|
144
+ | PR 기반 Context 자동 생성 | PR이 생성/업데이트되면 GitHub Actions가 코드 변경을 분석하여 Context 문서 생성 |
145
+ | Codebase Context | 모듈별 파일 경로, 함수명, 의존 관계를 `.claude/context/codebase/`에 정리 |
146
+ | Business Context | 기술 변경을 비즈니스 관점으로 변환하여 `.claude/context/business/`에 정리 |
147
+ | 별도 브랜치 PR 방식 | 생성된 Context를 `{브랜치명}-generated-context` 브랜치로 분리하여 선택적 머지 가능 |
148
+
124
149
  설정 후 생성되는 파일:
125
150
 
126
151
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jun-claude-code",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "Claude Code configuration template - copy .claude settings to your project",
5
5
  "main": "dist/index.js",
6
6
  "bin": "dist/cli.js",
@@ -13,7 +13,8 @@ Main Agent의 Context Window는 제한적입니다.
13
13
  |------|-------|------|
14
14
  | 코드베이스 탐색/검색 | `explore` | 파일 내용이 Main Context에 쌓이지 않음 |
15
15
  | 여러 파일 읽기 | `explore`, `context-collector` | 탐색 결과만 요약해서 받음 |
16
- | 패턴/구조 파악 | `context-collector` | 분석 결과만 받음 |
16
+ | .claude/context/ 문서 수집 | `project-context-collector` | 프로젝트 배경 정보만 요약해서 받음 |
17
+ | 코드 패턴/구조 파악 | `context-collector` | 분석 결과만 받음 |
17
18
  | 복잡한 계획 수립 | `task-planner` | 계획 결과만 받음 |
18
19
  | 영향 분석 | `impact-analyzer` | 분석 결과만 받음 |
19
20
  | 코드 리뷰 | `code-reviewer` | 리뷰 결과만 받음 |
@@ -30,6 +31,8 @@ Main Agent의 Context Window는 제한적입니다.
30
31
  | 작업 | 전담 Agent |
31
32
  |------|-----------|
32
33
  | 파일 탐색 (Glob/Grep) | explore Agent가 전담 |
34
+ | .claude/context/ 문서 탐색 | project-context-collector가 전담 |
35
+ | 소스 코드 패턴/구조 파악 | context-collector가 전담 |
33
36
  | 2개 이상 파일 읽기 | explore/context-collector가 전담 |
34
37
  | 복잡한 분석/계획 | task-planner에 위임 |
35
38
  | 파일 수정 | code-writer가 전담 |
@@ -1,8 +1,8 @@
1
1
  ---
2
2
  name: context-collector
3
- description: 복잡한 작업 시작 배경 정보 수집 시 호출. .claude 문서 탐색, 관련 Skill 식별, 기존 코드 패턴/도메인 지식 요약 제공.
4
- keywords: [Context수집, 문서확인, 패턴파악, Skill식별, 도메인지식, 코드탐색, 아키텍처분석]
5
- model: sonnet
3
+ description: 실제 소스 코드에서 패턴/구현 방식/도메인 지식을 수집. Skill/Agent 식별, 코드 DEEP 탐색 전문.
4
+ keywords: [코드탐색, 패턴파악, Skill식별, 도메인지식, 아키텍처분석, DEEP탐색, 소스코드]
5
+ model: opus
6
6
  color: blue
7
7
  ---
8
8
 
@@ -10,10 +10,10 @@ color: blue
10
10
 
11
11
  <role>
12
12
 
13
- 작업 시작 필요한 모든 Context를 수집하는 전문 Agent입니다.
13
+ 소스 코드에서 패턴, 구현 방식, 도메인 지식을 수집하는 전문 Agent입니다.
14
14
 
15
- 1. **Context 문서 수집**: `.claude/context/` 에서 관련 문서 식별 및 읽기
16
- 2. **Skill 식별**: `.claude/skills/` 에서 필요한 Skill 확인
15
+ 1. **Skill 식별**: `.claude/skills/` 에서 필요한 Skill 확인
16
+ 2. **Agent 식별**: `.claude/agents/` 에서 관련 Agent 확인
17
17
  3. **코드 패턴 파악**: 기존 코드에서 유사한 구현 패턴 탐색
18
18
  4. **도메인 지식 수집**: 관련 Entity, Service, Flow 파악
19
19
 
@@ -23,55 +23,54 @@ color: blue
23
23
 
24
24
  ## 수집 프로세스
25
25
 
26
- ### Step 1: 요청 분석
26
+ ### Step 1: 요청 분석 및 탐색 전략 결정
27
+
28
+ 요청을 분석하여 코드 탐색 전략을 결정합니다.
29
+
30
+ - 요청의 핵심 키워드와 도메인 영역을 식별
31
+ - 탐색 대상: Skill/Agent 문서 → 소스 코드 순서로 진행
32
+ - 탐색 범위를 판단하여 효율적으로 수집
33
+
34
+ ### Step 2: Skill 및 Agent 탐색
27
35
 
28
36
  ```
29
- - 백엔드 작업인가? backend 관련 context/skill 확인
30
- - 프론트엔드 작업인가? → frontend 관련 context/skill 확인
31
- - DB 변경이 필요한가? → database context 확인
32
- - 도메인 로직인가? → domain context 확인
37
+ - .claude/skills/ 에서 작업에 필요한 Skill 확인
38
+ - .claude/agents/ 에서 관련 Agent 확인
33
39
  ```
34
40
 
35
- ### Step 2: 관련 코드 탐색
41
+ ### Step 3: 소스 코드 DEEP 탐색
42
+
43
+ 실제 소스 코드를 직접 탐색하여 패턴과 구현 방식을 파악합니다.
36
44
 
37
45
  ```
38
46
  - 유사한 기존 구현 찾기 (Grep, Glob 활용)
39
47
  - Entity 구조 파악
40
48
  - Service 패턴 확인
41
49
  - Controller 구조 확인
50
+ - 함수명, 클래스명으로 사용처 검색
51
+ - import/export 관계 추적
42
52
  ```
43
53
 
44
- ### Step 3: Context 요약 출력
45
-
46
- ```markdown
47
- ## 수집된 Context
48
-
49
- ### 관련 문서
50
- - [ ] `.claude/context/xxx.md` - 관련 이유
51
-
52
- ### 활성화할 Skill
53
- - [ ] `skill-name` - 필요 이유
54
+ ### Step 4: Context 요약 출력
54
55
 
55
- ### 참고할 기존 코드
56
- - `path/to/file.ts` - 유사 패턴 설명
57
-
58
- ### 도메인 지식
59
- - 관련 Entity: ...
60
- - 비즈니스 로직: ...
61
- ```
56
+ 수집한 모든 정보를 output_format에 맞춰 정리합니다.
62
57
 
63
58
  </instructions>
64
59
 
65
60
  <output_format>
66
61
 
67
- 반드시 아래 형식으로 Context 수집 결과를 출력합니다:
62
+ 아래 형식으로 Context 수집 결과를 출력합니다:
68
63
 
69
64
  ```markdown
70
65
  # Context 수집 결과
71
66
 
72
- ## 1. 관련 Context 문서
73
- | 문서 | 관련성 | 핵심 내용 |
74
- |------|--------|----------|
67
+ ## 탐색 전략
68
+ - **탐색 범위**: (어떤 영역을 탐색했는지)
69
+ - **판단 근거**: (왜 이 범위를 탐색했는지)
70
+
71
+ ## 1. 소스 코드 탐색 결과
72
+ | 파일 | 확인 내용 | 핵심 발견 |
73
+ |------|----------|----------|
75
74
  | ... | ... | ... |
76
75
 
77
76
  ## 2. 필요한 Skill
@@ -79,7 +78,7 @@ color: blue
79
78
  |-------|------|
80
79
  | ... | ... |
81
80
 
82
- ## 3. 참고 코드
81
+ ## 3. 참고 코드 패턴
83
82
  | 파일 | 패턴 | 참고 이유 |
84
83
  |------|------|----------|
85
84
  | ... | ... | ... |
@@ -89,6 +88,16 @@ color: blue
89
88
 
90
89
  ## 5. 다음 단계 권장사항
91
90
  - task-planner Agent로 TaskList 생성 권장
91
+ - 프로젝트 배경 정보가 필요하면 project-context-collector Agent 사용을 권장합니다.
92
92
  ```
93
93
 
94
94
  </output_format>
95
+
96
+ <constraints>
97
+
98
+ ## 제약사항
99
+
100
+ - `.claude/context/` 문서는 탐색하지 않습니다. 프로젝트 배경 정보가 필요하면 project-context-collector Agent를 안내합니다.
101
+ - 실제 소스 코드와 `.claude/skills/`, `.claude/agents/` 문서만 탐색합니다.
102
+
103
+ </constraints>
@@ -39,13 +39,21 @@ color: gray
39
39
  - "~패턴의 파일들 목록"
40
40
  ```
41
41
 
42
- ### context-collector가 적합한 경우
42
+ ### 다른 Agent가 적합한 경우
43
43
 
44
+ **project-context-collector** (프로젝트 배경 정보):
45
+ ```
46
+ - .claude/context/ 문서에서 배경 정보 수집
47
+ - 비즈니스 규칙/도메인 용어 확인
48
+ - 모듈 구조/아키텍처 개요 파악
49
+ ```
50
+
51
+ **context-collector** (소스 코드 DEEP 탐색):
44
52
  ```
45
53
  - 깊은 코드 분석 필요
46
- - 비즈니스 로직 이해 필요
47
54
  - 여러 파일 간 관계 파악
48
- - Context 문서 기반 작업
55
+ - Skill/Agent 식별
56
+ - 코드 패턴/구현 방식 분석
49
57
  ```
50
58
 
51
59
  ---
@@ -124,12 +132,13 @@ Glob: "src/module/*/index.ts"
124
132
 
125
133
  ---
126
134
 
127
- ## context-collector와의 차이
135
+ ## 관련 Agent 비교
128
136
 
129
- | 항목 | explore | context-collector |
130
- |------|---------|-------------------|
131
- | 모델 | Haiku | Sonnet |
132
- | 속도 | 빠름 | 보통 |
133
- | 깊이 | 얕음 (위치만) | 깊음 (분석 포함) |
134
- | 비용 | 낮음 | 보통 |
135
- | 용도 | "어디 있지?" | "어떻게 동작하지?" |
137
+ | 항목 | explore | project-context-collector | context-collector |
138
+ |------|---------|--------------------------|-------------------|
139
+ | 모델 | Haiku | Sonnet | Opus |
140
+ | 속도 | 빠름 | 보통 | 느림 |
141
+ | 깊이 | 얕음 (위치만) | 중간 (문서 분석) | 깊음 (코드 분석) |
142
+ | 비용 | 낮음 | 보통 | 높음 |
143
+ | 대상 | 소스 코드 | .claude/context/ 문서 | 소스 코드 + Skill/Agent |
144
+ | 용도 | "어디 있지?" | "프로젝트 배경이 뭐지?" | "어떻게 동작하지?" |
@@ -33,6 +33,8 @@ Main Agent의 Context Window는 제한적입니다.
33
33
  | 작업 | 전담 Agent |
34
34
  |------|-----------|
35
35
  | 파일 탐색 (Glob/Grep) | explore Agent가 전담 |
36
+ | .claude/context/ 문서 탐색 | project-context-collector가 전담 |
37
+ | 소스 코드 패턴/구조 파악 | context-collector가 전담 |
36
38
  | 2개 이상 파일 읽기 | explore/context-collector가 전담 |
37
39
  | 복잡한 분석/계획 | task-planner에 위임 |
38
40
  | 파일 수정 (3개 이상) | code-writer가 전담 |
@@ -126,14 +128,73 @@ cat << 'EOF'
126
128
 
127
129
  <phase name="Context 확인">
128
130
 
129
- ## PART 1.5: CONTEXT 확인 (Subagent 위임 권장)
131
+ ## PART 1.5: PROJECT CONTEXT (프로젝트 배경 정보)
130
132
 
131
- **권장:** Context 확인은 `context-collector` Agent에 위임하세요.
132
- 여러 파일을 직접 읽는 대신, Subagent가 요약하여 전달합니다.
133
+ 아래는 프로젝트의 배경 정보입니다. 작업 판단 시 참고하세요.
134
+ 상세 분석이 필요하면 아래 Agent에 위임하세요.
133
135
 
134
- ```
135
- Task(subagent_type="context-collector", prompt="[작업 설명]에 필요한 Context를 수집하고 요약해줘")
136
- ```
136
+ | 필요한 정보 | Agent | 호출 예시 |
137
+ |------------|-------|----------|
138
+ | 프로젝트 배경/도메인 지식 | project-context-collector | \`Task(subagent_type="project-context-collector", prompt="[작업]에 필요한 프로젝트 배경 정보를 수집해줘")\` |
139
+ | 소스 코드 패턴/구현 방식 | context-collector | \`Task(subagent_type="context-collector", prompt="[작업]에 필요한 코드 패턴을 수집해줘")\` |
140
+
141
+ 두 Agent를 순차적으로 사용하면 가장 포괄적인 Context를 수집할 수 있습니다:
142
+ \`\`\`
143
+ 1. project-context-collector → 프로젝트 배경 수집
144
+ 2. context-collector → 소스 코드 패턴 수집
145
+ \`\`\`
146
+
147
+ EOF
148
+
149
+ # context 디렉토리에서 business/codebase context 동적 탐색
150
+ # 프로젝트 .claude/context/ 만 탐색 (글로벌 ~/.claude/context/는 탐색하지 않음)
151
+ CONTEXT_BASE_DIR="$PROJECT_CLAUDE_DIR/context"
152
+ HAS_CONTEXT=false
153
+
154
+ for context_type in "business" "codebase"; do
155
+ context_dir="$CONTEXT_BASE_DIR/$context_type"
156
+ if [ -d "$context_dir" ]; then
157
+ HAS_CONTEXT=true
158
+
159
+ # 헤더 출력
160
+ if [ "$context_type" = "business" ]; then
161
+ echo "---"
162
+ echo ""
163
+ echo "### Business Context"
164
+ echo ""
165
+ else
166
+ echo "---"
167
+ echo ""
168
+ echo "### Codebase Context"
169
+ echo ""
170
+ fi
171
+
172
+ # INDEX.md가 있으면 내용 출력
173
+ if [ -f "$context_dir/INDEX.md" ]; then
174
+ cat "$context_dir/INDEX.md"
175
+ echo ""
176
+ fi
177
+
178
+ # INDEX.md 외의 .md 파일 목록을 상세 문서로 표시
179
+ has_detail_docs=false
180
+ for md_file in "$context_dir"/*.md; do
181
+ if [ -f "$md_file" ] && [ "$(basename "$md_file")" != "INDEX.md" ]; then
182
+ if [ "$has_detail_docs" = false ]; then
183
+ has_detail_docs=true
184
+ fi
185
+ echo "상세 문서: \`$(basename "$md_file")\`"
186
+ fi
187
+ done
188
+ echo ""
189
+ fi
190
+ done
191
+
192
+ if [ "$HAS_CONTEXT" = false ]; then
193
+ echo "프로젝트 context가 없습니다. (.claude/context/business/ 또는 .claude/context/codebase/ 디렉토리가 없음)"
194
+ echo ""
195
+ fi
196
+
197
+ cat << 'EOF'
137
198
 
138
199
  </phase>
139
200
 
@@ -127,11 +127,11 @@ grep -r "import.*변경된함수명" --include="*.ts" --include="*.tsx"
127
127
  ### Step 4: PR 본문 작성
128
128
 
129
129
  ```markdown
130
- ## Summary
130
+ ## 📋 Summary
131
131
 
132
132
  > 이 PR이 해결하는 문제와 접근 방식을 1-2문장으로 설명
133
133
 
134
- ## 주요 변경사항
134
+ ## 🔄 주요 변경사항
135
135
 
136
136
  ### [변경 제목 1]
137
137
  **파일:** `path/to/file.ts`
@@ -141,7 +141,7 @@ grep -r "import.*변경된함수명" --include="*.ts" --include="*.tsx"
141
141
  **파일:** `path/to/file.ts`
142
142
  - 변경 내용 설명
143
143
 
144
- ## 사이드 이펙트
144
+ ## ⚠️ 사이드 이펙트
145
145
 
146
146
  > 이 변경으로 인해 다른 부분에 발생할 수 있는 영향
147
147
 
@@ -149,7 +149,7 @@ grep -r "import.*변경된함수명" --include="*.ts" --include="*.tsx"
149
149
  |---------------|----------|--------|
150
150
  | 없음 | - | - |
151
151
 
152
- ## 변경 흐름
152
+ ## 🔀 변경 흐름
153
153
 
154
154
  ```mermaid
155
155
  graph LR
@@ -323,17 +323,17 @@ gh pr comment <PR번호> --body "리뷰 피드백 반영 완료. 재확인 부
323
323
 
324
324
  ```mermaid
325
325
  graph TD
326
- A[변경사항 분석] --> B[영향 범위 분석]
327
- B --> C[영향 판단]
328
- C --> D[PR 본문 작성]
329
- D --> E[PR 생성]
330
- E --> F[Self PR Review]
331
- F -->|이슈 발견| G[수정 & Push]
326
+ A[📊 변경사항 분석] --> B[🔍 영향 범위 분석]
327
+ B --> C[⚖️ 영향 판단]
328
+ C --> D[✍️ PR 본문 작성]
329
+ D --> E[🚀 PR 생성]
330
+ E --> F[🔎 Self PR Review]
331
+ F -->|이슈 발견| G[🔧 수정 & Push]
332
332
  G --> F
333
- F -->|OK| H[팀원 리뷰 대기]
334
- H -->|피드백| I[PR Apply Mode]
333
+ F -->|OK| H[👥 팀원 리뷰 대기]
334
+ H -->|피드백| I[📝 PR Apply Mode]
335
335
  I --> H
336
- H -->|Approve| J[Merge]
336
+ H -->|Approve| J[Merge]
337
337
  ```
338
338
 
339
339
  <reference>
@@ -2,7 +2,7 @@
2
2
  name: context-generator
3
3
  description: GitHub Action에서 PR diff 기반으로 .claude/context/ 문서를 자동 생성/업데이트 (CI 전용)
4
4
  keywords: [context, PR, diff, codebase, business, 문서생성]
5
- model: sonnet
5
+ model: opus
6
6
  color: green
7
7
  ---
8
8
 
@@ -52,12 +52,11 @@ git diff HEAD~1 --name-only
52
52
  - 도메인별 `.md` 파일 생성/업데이트
53
53
  - `business/INDEX.md` 업데이트
54
54
 
55
- ### 6. 커밋
55
+ ### 6. 반영
56
56
 
57
- ```bash
58
- git add .claude/context/
59
- git commit -m "docs: update context for PR changes"
60
- ```
57
+ - 생성된 context 문서는 `{브랜치명}-generated-context` 브랜치에 push됩니다.
58
+ - 원본 PR 브랜치로 별도 PR이 생성되어 선택적으로 머지할 수 있습니다.
59
+ - PR이 re-sync되면 context 브랜치가 force push로 업데이트됩니다.
61
60
 
62
61
  ## 제약사항
63
62
 
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: project-context-collector
3
+ description: 프로젝트 배경 정보 수집 시 호출. .claude/context/의 business/codebase 문서에서 도메인 지식, 아키텍처 정보를 수집하여 요약 제공.
4
+ keywords: [프로젝트배경, 문서탐색, business-context, codebase-context, 도메인지식, INDEX]
5
+ model: sonnet
6
+ color: blue
7
+ ---
8
+
9
+ # Project Context Collector Agent
10
+
11
+ <role>
12
+
13
+ 프로젝트의 `.claude/context/` 문서에서 배경 정보를 수집하는 전문 Agent입니다.
14
+
15
+ 1. **Business Context 탐색**: `.claude/context/business/` 에서 도메인 규칙, 비즈니스 로직 파악
16
+ 2. **Codebase Context 탐색**: `.claude/context/codebase/` 에서 모듈 구조, 아키텍처 파악
17
+ 3. **INDEX 기반 탐색**: INDEX.md를 기점으로 관련 상세 문서를 단계적으로 확인
18
+ 4. **요약 제공**: 수집한 배경 정보를 구조화하여 반환
19
+
20
+ </role>
21
+
22
+ ## 특징
23
+
24
+ - **Sonnet 모델**: 문서 이해와 요약에 적합
25
+ - **문서 전용**: `.claude/context/` 디렉토리만 탐색, 소스 코드 탐색은 수행하지 않음
26
+ - **빠른 배경 파악**: INDEX.md 기반으로 필요한 문서만 선택적으로 확인
27
+
28
+ ---
29
+
30
+ ## 사용 시점
31
+
32
+ ### 적합한 경우
33
+
34
+ ```
35
+ - 프로젝트 배경 이해가 필요한 경우
36
+ - 도메인 규칙/비즈니스 로직 확인
37
+ - 모듈 구조/아키텍처 개요 파악
38
+ - 작업 시작 전 프로젝트 컨텍스트 수집
39
+ ```
40
+
41
+ ### context-collector가 적합한 경우
42
+
43
+ ```
44
+ - 실제 소스 코드 확인이 필요한 경우
45
+ - 코드 패턴/구현 방식 분석
46
+ - Skill/Agent 문서 식별
47
+ - 파일 간 의존성/호출 관계 추적
48
+ ```
49
+
50
+ ---
51
+
52
+ <instructions>
53
+
54
+ ## 수집 프로세스
55
+
56
+ ### Step 1: 요청 분석 및 탐색 카테고리 결정
57
+
58
+ 요청을 분석하여 **탐색 카테고리**와 **탐색 깊이**를 결정합니다.
59
+
60
+ **탐색 카테고리 판단:**
61
+
62
+ | 요청 유형 | 우선 탐색 대상 | 예시 |
63
+ |----------|--------------|------|
64
+ | 도메인/비즈니스 규칙 관련 | `business/` | 결제 로직, 사용자 권한, 정책 |
65
+ | 코드 구조/기술 관련 | `codebase/` | 모듈 구조, API 설계, DB 스키마 |
66
+ | 기능 구현 (양쪽 모두 필요) | `business/` → `codebase/` | 새 기능 개발, 리팩토링 |
67
+
68
+ **탐색 깊이 판단:**
69
+
70
+ | 깊이 | 조건 | 설명 |
71
+ |------|------|------|
72
+ | Quick | 전체 개요만 필요 | INDEX.md만 확인 (빠른 오버뷰) |
73
+ | Standard | 특정 도메인/모듈 이해 필요 | INDEX.md → 관련 상세 문서 확인 |
74
+
75
+ ### Step 2: INDEX.md 확인
76
+
77
+ `.claude/context/` 디렉토리가 존재하면 INDEX.md부터 확인합니다.
78
+ 디렉토리가 존재하지 않으면 "프로젝트 Context 문서가 없습니다"를 반환합니다.
79
+
80
+ ```
81
+ .claude/context/business/INDEX.md → 프로젝트 개요, 도메인 목록, 비즈니스 규칙 요약
82
+ .claude/context/codebase/INDEX.md → 모듈 구조, 기술 스택, 아키텍처 요약
83
+ ```
84
+
85
+ - INDEX.md에서 요청과 관련된 섹션/키워드를 식별
86
+ - 관련 상세 문서 경로를 추출
87
+ - Quick 깊이면 여기서 종료
88
+
89
+ ### Step 3: 상세 문서 확인 (Standard 깊이)
90
+
91
+ INDEX.md에서 식별한 관련 문서를 읽습니다.
92
+
93
+ ```
94
+ .claude/context/business/*.md → 비즈니스 규칙, 사용자 흐름, 도메인 용어
95
+ .claude/context/codebase/*.md → 모듈 관계, 핵심 워크플로우, API 명세
96
+ ```
97
+
98
+ - 상세 문서에서 핵심 정보 추출
99
+ - 요청과 관련도가 높은 내용 우선 수집
100
+
101
+ ### Step 4: Context 요약 출력
102
+
103
+ 수집한 모든 정보를 output_format에 맞춰 정리합니다.
104
+
105
+ </instructions>
106
+
107
+ <output_format>
108
+
109
+ 아래 형식으로 Context 수집 결과를 출력합니다:
110
+
111
+ ```markdown
112
+ # Project Context 수집 결과
113
+
114
+ ## 탐색 전략
115
+ - **카테고리**: business / codebase / 양쪽 모두
116
+ - **탐색 깊이**: Quick / Standard
117
+ - **판단 근거**: (왜 이 깊이까지 탐색했는지)
118
+
119
+ ## 1. Business Context (해당시)
120
+ | 문서 | 관련성 | 핵심 내용 |
121
+ |------|--------|----------|
122
+ | ... | ... | ... |
123
+
124
+ ## 2. Codebase Context (해당시)
125
+ | 문서 | 관련성 | 핵심 내용 |
126
+ |------|--------|----------|
127
+ | ... | ... | ... |
128
+
129
+ ## 3. 핵심 요약
130
+ - ...
131
+
132
+ ## 4. 다음 단계 권장사항
133
+ - 실제 코드 확인이 필요하면 context-collector Agent 사용을 권장합니다.
134
+ ```
135
+
136
+ </output_format>
137
+
138
+ <constraints>
139
+
140
+ ## 제약사항
141
+
142
+ - `.claude/context/` 디렉토리의 문서만 탐색합니다.
143
+ - 실제 소스 코드(`src/`, `lib/` 등)는 탐색하지 않습니다. 소스 코드 확인이 필요하면 context-collector Agent를 안내합니다.
144
+ - `.claude/skills/`나 `.claude/agents/` 문서는 탐색하지 않습니다. Skill/Agent 식별이 필요하면 context-collector Agent를 안내합니다.
145
+
146
+ </constraints>
@@ -40,7 +40,7 @@ jobs:
40
40
  with:
41
41
  claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
42
42
  show_full_output: true
43
- claude_args: '--allowedTools "Bash(git:*),Bash(ls:*),Bash(mkdir:*),Read,Write,Edit,Glob,Grep"'
43
+ claude_args: '--model opus --allowedTools "Bash(git:*),Bash(ls:*),Bash(mkdir:*),Read,Write,Edit,Glob,Grep"'
44
44
  prompt: |
45
45
  # 에이전트 정의
46
46
  ${{ steps.read-skills.outputs.agent_def }}
@@ -63,13 +63,40 @@ jobs:
63
63
  - 위 스킬 가이드에 명시된 정확한 형식 따르기
64
64
  - 커밋하지 마세요. 파일 생성/수정만 하세요.
65
65
 
66
- - name: Push context changes
66
+ - name: Push context to separate branch and create PR
67
67
  run: |
68
68
  git config user.name "github-actions[bot]"
69
69
  git config user.email "github-actions[bot]@users.noreply.github.com"
70
70
  git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git"
71
+
71
72
  git add .claude/context/
72
- git diff --staged --quiet || git commit -m "docs: context 문서 자동 업데이트"
73
- git push origin HEAD:refs/heads/${{ github.head_ref }}
73
+ if git diff --staged --quiet; then
74
+ echo "No context changes detected"
75
+ exit 0
76
+ fi
77
+
78
+ CONTEXT_BRANCH="${{ github.head_ref }}-generated-context"
79
+ git commit -m "docs: context 문서 자동 업데이트"
80
+ git push --force origin HEAD:refs/heads/${CONTEXT_BRANCH}
81
+
82
+ # 기존 PR이 있으면 스킵, 없으면 생성
83
+ EXISTING_PR=$(gh pr list --head "${CONTEXT_BRANCH}" --base "${{ github.head_ref }}" --json number --jq '.[0].number')
84
+ if [ -z "$EXISTING_PR" ]; then
85
+ gh pr create \
86
+ --head "${CONTEXT_BRANCH}" \
87
+ --base "${{ github.head_ref }}" \
88
+ --title "docs: context 문서 자동 업데이트" \
89
+ --body "$(cat <<'PREOF'
90
+ ## Auto-generated Context
91
+
92
+ PR의 코드 변경을 분석하여 자동 생성된 context 문서입니다.
93
+ 선택적으로 머지하여 반영할 수 있습니다.
94
+
95
+ > 이 PR은 re-sync 시 force push로 업데이트됩니다.
96
+ PREOF
97
+ )"
98
+ else
99
+ echo "PR #${EXISTING_PR} already exists, force-pushed updates"
100
+ fi
74
101
  env:
75
102
  GITHUB_TOKEN: ${{ github.token }}