Skip to content

Commit fb36d7c

Browse files
authored
Merge pull request #342 from SOLPLY/feat/#339-recommend-place-by-embedding
[feat] 임베딩 기반 장소 추천 기능 구현 및 Claude Code 커맨드(깃허브 워크플로우 자동화) 추가
2 parents aea0954 + 87b6d0e commit fb36d7c

38 files changed

Lines changed: 1041 additions & 7 deletions

.claude/commands/create-branch.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Create Branch
2+
3+
## Format
4+
`<type>/#<issue-number>-<short-description>`
5+
6+
Example: `feat/#339-recommend-place-by-embedding`
7+
8+
## Types
9+
- `feat` – new feature
10+
- `fix` – bug fix
11+
- `refactor` – refactoring without behavior change
12+
- `docs` – documentation
13+
- `test` – tests
14+
- `chore` – maintenance
15+
- `perf` – performance
16+
17+
## Rules
18+
- Always include the issue number with `#` prefix
19+
- Use lowercase kebab-case for description
20+
- Keep it concise and readable
21+
22+
## Examples
23+
```text
24+
fix/#412-handle-null-review-summary
25+
refactor/#287-extract-retrieval-text-builder
26+
docs/#315-update-recommendation-architecture
27+
test/#421-add-similarity-service-tests
28+
chore/#398-update-openai-sdk
29+
```

.claude/commands/create-commit.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Create Commit
2+
3+
## Format
4+
`#<issue-number> <type>: <korean description>`
5+
6+
Example: `#339 feat: 태그별 설명 문구 추가 및 retrieval_text 생성기 구현`
7+
8+
If the commit is **not related to any specific issue** (e.g. docs, chore, config):
9+
`<type>: <korean description>`
10+
11+
Example: `docs: 슬래시 커맨드 파일 추가`
12+
13+
## Rules
14+
1. Write commit messages in Korean.
15+
2. Include the issue number when the commit is related to a specific issue. Omit it otherwise.
16+
3. Never use `git add .` — stage only files related to the current logical change.
17+
4. Split commits by logical intent; don't mix feature, refactor, and cleanup.
18+
5. Exclude logs, temp files, generated artifacts, and unrelated changes.
19+
6. Verify the build succeeds before committing.
20+
7. Summarize staged changes in 1–2 sentences before committing.

.claude/commands/create-issue.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Create GitHub Issue
2+
3+
Issues must be written in **Korean**. Use templates from `.github/ISSUE_TEMPLATE`.
4+
5+
## Defaults
6+
- **Assignee**: `uykm` (always set automatically)
7+
- **Type & Label**: infer automatically from context — do not ask the user
8+
9+
## Issue Types
10+
11+
| Type | Prefix | Label | When to use |
12+
|------|--------|-------|-------------|
13+
| Feature | `[Feat]` | `💭 FEAT` | new features, new APIs, new behavior |
14+
| Bug | `[Fix]` | `🐞 BUG` | bugs, errors, incorrect behavior |
15+
| Refactor | `[Refactor]` | `🪄 REFACTOR` | code cleanup, structural improvement |
16+
| Chore | `[Chore]` | `⚙️ CHORE` | dependency updates, build config, CI/CD, maintenance |
17+
| Docs | `[Docs]` | `📖 DOCS` | documentation updates |
18+
19+
## Templates
20+
21+
**Feature:**
22+
```
23+
💬 이슈 설명
24+
<description>
25+
26+
✅ 작업할 내용
27+
- [ ] task 1
28+
```
29+
30+
**Bug:**
31+
```
32+
💬 이슈 설명
33+
<description>
34+
35+
🔨작업 내용
36+
- [ ] task 1
37+
```
38+
39+
**Refactor:**
40+
```
41+
🎨 리팩토링 이슈 설명
42+
<description>
43+
44+
✅ 작업할 내용
45+
- [ ] task 1
46+
```
47+
48+
**Chore:**
49+
```
50+
💬 이슈 설명
51+
<description>
52+
53+
✅ 작업할 내용
54+
- [ ] task 1
55+
```
56+
57+
**Docs:**
58+
```
59+
💬 이슈 설명
60+
<description>
61+
62+
✅ 작업할 내용
63+
- [ ] task 1
64+
```
65+
66+
## Steps
67+
1. Determine type (bug / feature / refactor).
68+
2. Draft the issue in Korean using the matching template.
69+
3. Show draft and confirm before creating.
70+
4. Create with `gh issue create --title "..." --label "..." --assignee "uykm" --body "..."`.
71+
72+
## Safety Checks
73+
- Verify repository owner/name before running `gh issue create`.
74+
- Confirm title prefix, label, and body match the selected template.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Create Pull Request
2+
3+
PR contents must be written in **Korean**.
4+
5+
## Defaults
6+
- **Assignee**: `uykm` (always set automatically)
7+
- **Label**: match the issue type (e.g. `💭 FEAT`, `🐞 BUG`, `🛠️ FIX`, `🪄 REFACTOR`, `📖 DOCS`, `⚙️ CHORE`)
8+
- **Reviewer**: `uykm`, `ImHyungsuk`, `88guri` (GitHub auto-excludes the PR author)
9+
10+
## Title Format
11+
`[<type>] <feature-name>`
12+
13+
Examples: `[feat] recommend-place-by-embedding`, `[fix] fix-null-review-summary`
14+
15+
## PR Body Template
16+
```md
17+
## 🌳이슈 번호
18+
resolves #<issue-number>
19+
20+
---
21+
22+
## ☀️어떻게 이슈를 해결했나요?
23+
<description of changes and implemented logic>
24+
25+
---
26+
27+
## 🗯️ PR 포인트
28+
<key review points, design decisions, or feedback requests>
29+
```
30+
31+
## Steps
32+
1. Identify related issue number.
33+
2. Draft PR title and body.
34+
3. Show draft and confirm before creating.
35+
4. Ensure build succeeds before creating PR.
36+
5. Create with: `gh pr create --title "..." --label "..." --assignee "uykm" --reviewer "uykm,ImHyungsuk,88guri" --body "..."`
37+
38+
## Rules
39+
- Always link issue with `resolves #<issue-number>`.
40+
- Title type must match the issue type.
41+
- Do not open PR without user confirmation.

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Bug Template
22
description: 버그 제보
33
title: "[Fix] Bug Title"
4-
labels: ["fix"]
4+
labels: ["🐞 BUG"]
55

66
body:
77
- type: textarea

.github/ISSUE_TEMPLATE/chore.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Chore Template
2+
description: 유지보수 작업 (의존성 업데이트, 빌드 설정, CI/CD 등)
3+
title: "[Chore] Chore Title"
4+
labels: ["⚙️ CHORE"]
5+
6+
body:
7+
- type: textarea
8+
id: chore-contents
9+
attributes:
10+
label: 💬 이슈 설명
11+
description: 작업할 유지보수 내용에 대해 설명해 주세요.
12+
placeholder: "ex. Spring Boot 버전을 3.3.5에서 3.4.0으로 업그레이드한다."
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: solve-steps
17+
attributes:
18+
label: ✅ 작업할 내용
19+
description: 작업할 내용을 체크박스 형태로 작성해 주세요.
20+
value: |
21+
- [ ] 작업
22+
- [ ]
23+
- [ ]
24+
validations:
25+
required: true

.github/ISSUE_TEMPLATE/docs.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Docs Template
2+
description: 문서 작업 (README, API 명세, 가이드 등)
3+
title: "[Docs] Docs Title"
4+
labels: ["📖 DOCS"]
5+
6+
body:
7+
- type: textarea
8+
id: docs-contents
9+
attributes:
10+
label: 💬 이슈 설명
11+
description: 작업할 문서에 대해 설명해 주세요.
12+
placeholder: "ex. API 명세서에 추천 엔드포인트 항목을 추가한다."
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: solve-steps
17+
attributes:
18+
label: ✅ 작업할 내용
19+
description: 작업할 내용을 체크박스 형태로 작성해 주세요.
20+
value: |
21+
- [ ] 작업
22+
- [ ]
23+
- [ ]
24+
validations:
25+
required: true

.github/ISSUE_TEMPLATE/feature.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Feature Template
22
description: 기능 개발
33
title: "[Feat] Feature Title"
4-
labels: ["feature"]
4+
labels: ["💭 FEAT"]
55

66
body:
77
- type: textarea

.github/ISSUE_TEMPLATE/refactor.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Refactor Template
22
description: 리팩토링
33
title: "[Refactor] Refactor Title"
4-
labels: ["refactor"]
4+
labels: ["🪄 REFACTOR"]
55

66
body:
77
- type: textarea

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ application-prod.yml
4141
!application-test.yml
4242
!prometheus.dev.yml
4343
!prometheus.prod.yml
44+
!.github/ISSUE_TEMPLATE/*.yml
4445

4546
.docker/init/init_role.sql
4647

0 commit comments

Comments
 (0)