Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
f93c631
refactor: CacheKey๋ฅผ Application ๋ ˆ์ด์–ด๋กœ ์ด๋™ ๋ฐ ์ค‘๋ณต ๋ฉ”์„œ๋“œ ์ œ๊ฑฐ
Sean-mn Mar 8, 2026
fcf6fa5
refactor: SteamId ํƒ€์ž…์„ long์—์„œ ulong์œผ๋กœ ํ†ต์ผ
Sean-mn Mar 8, 2026
a418af2
refactor: User ์—”ํ‹ฐํ‹ฐ ์บก์Аํ™” ๊ฐ•ํ™” ๋ฐ ๋„๋ฉ”์ธ ๋ฉ”์„œ๋“œ ํ†ตํ•ด ์ƒํƒœ ๋ณ€๊ฒฝ
Sean-mn Mar 8, 2026
50c5baf
Merge pull request #14 refactor/auth -> develop
Sean-mn Mar 8, 2026
51840ca
fix: .gitignore์— JetBrains IDE ํŒŒ์ผ ์ถ”๊ฐ€ ๋ฐ ์ถ”์  ํ•ด์ œ
Sean-mn Mar 9, 2026
022408c
feat: xUnit + Moq ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ๋ฐ GetAllRoomUseCase ๋ฒ„๊ทธ ์ˆ˜์ •
Sean-mn Mar 9, 2026
aa00be0
modify: ์ฃผ์„ ์‚ญ์ œ
Sean-mn Mar 9, 2026
92db211
Add CI workflow for build and test
Sean-mn Mar 9, 2026
3f43b59
Merge pull request #16 feat/unit-test -> develop
Sean-mn Mar 9, 2026
4cb8db3
feat: Steam WebApiKey Azure Key Vault ์—ฐ๋™ ๋ฐ ํŒจ๋ฐ€๋ฆฌ ์‰์–ด๋ง ์ฐจ๋‹จ
Sean-mn Mar 11, 2026
331d31d
feat: Claude Code ์ปค์Šคํ…€ ์ปค๋งจ๋“œ ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
228f23e
modify: PR ์ปค๋งจ๋“œ์— PR ์ƒ์„ฑ ์ž๋™ํ™” ๋‹จ๊ณ„ ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
49b97ea
modify: PR_BODY.md gitignore์— ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
ab7ec3d
fix: ์˜ˆ์™ธ ๋ฉ”์‹œ์ง€ ๊ตฌ๋ถ„ ๋ฐ ๊ธ€๋กœ๋ฒŒ ์˜ˆ์™ธ ํ•ธ๋“ค๋Ÿฌ ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
dbb1b47
fix: DotSettings.user ํŒŒ์ผ gitignore ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
ddf1713
fix: ๊ธ€๋กœ๋ฒŒ ์˜ˆ์™ธ ํ•ธ๋“ค๋Ÿฌ Task ๋ฐ˜ํ™˜ ๋ˆ„๋ฝ ์ˆ˜์ •
Sean-mn Mar 11, 2026
2e10fa5
Merge pull request #18 from Team-Gamism/refactor/steam-login
Sean-mn Mar 11, 2026
e30bce6
modify: PR ์ปค๋งจ๋“œ์— PR_BODY.md ์ž๋™ ์‚ญ์ œ ๋‹จ๊ณ„ ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
7427914
modify: IDE ์‚ฌ์šฉ์ž ์„ค์ • ํŒŒ์ผ gitignore ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
c4020e0
Merge branch 'develop' into feat/claude
Sean-mn Mar 11, 2026
ef3510f
Merge pull request #19 from Team-Gamism/feat/claude
Sean-mn Mar 11, 2026
c84f1be
modify: PR ์ปค๋งจ๋“œ์— ๋ธŒ๋žœ์น˜๋ณ„ ๋™์ž‘ ๋ถ„๊ธฐ ์ถ”๊ฐ€
Sean-mn Mar 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: CI - Build & Test (PushAndPull)
on:
pull_request:
branches: ["*"]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup .NET 9 SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: 9.0.x
- name: Restore dependencies
run: dotnet restore PushAndPull/PushAndPull.sln
- name: Build solution
run: dotnet build PushAndPull/PushAndPull.sln --configuration Release
- name: Run all tests
run: dotnet test PushAndPull/PushAndPull.sln --no-build --configuration Release --logger "trx;LogFileName=test_results.trx"
16 changes: 16 additions & 0 deletions PushAndPull/.claude/commands/build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
description: Build the server project and report errors
allowed-tools: Bash
---

Build the server project and report any errors.

## Steps

1. Run the build command:
```bash
dotnet build Server/Server.csproj
```
2. Check the build output:
- If the build **succeeds**: confirm success and show the summary (warnings, if any)
- If the build **fails**: list each error with its file path and line number, then explain the likely cause and how to fix it
49 changes: 49 additions & 0 deletions PushAndPull/.claude/commands/commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
description: Create Git commits by splitting changes into logical units
allowed-tools: Bash
---

Create Git commits following the project's commit conventions.

## Commit Message Format

```
{type}: {Korean description}
```

**Types**:
- `feat` โ€” new feature added
- `fix` โ€” bug fix, missing config, or missing DI registration
- `modify` โ€” modification to existing code

**Description rules**:
- Written in **Korean**
- Short and imperative (๋‹จ๋ฌธ)
- No trailing punctuation (`.`, `!` etc.)
- Avoid noun-ending style โ€” prefer verb style

**Examples**:
```
feat: ๋ฐฉ ์ƒ์„ฑ API ์ถ”๊ฐ€
fix: ์„ธ์…˜ DI ๋ˆ„๋ฝ ์ˆ˜์ •
modify: Room ์—”ํ„ฐํ‹ฐ ์ˆ˜์ •
```

**Do NOT**:
- Add Claude as co-author
- Write descriptions in English
- Add a commit body โ€” subject line only

## Steps

1. Check all changes with `git status` and `git diff`
2. Categorize changes into logical units:
- New feature addition โ†’ `feat`
- Bug / missing registration fix โ†’ `fix`
- Modification to existing code โ†’ `modify`
3. Group files by each logical unit
4. For each group:
- Stage only the relevant files with `git add <files>`
- Write a concise commit message following the format above
- Execute `git commit -m "message"`
5. Verify results with `git log --oneline -n {number of commits made}`
24 changes: 24 additions & 0 deletions PushAndPull/.claude/commands/migrate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
description: Add an EF Core migration and optionally update the database
allowed-tools: Bash, Read
---

Add an EF Core migration using the name provided as the argument.

Usage: `/migrate <MigrationName>`

## Steps

1. Run the migration command using the argument as the migration name:
```bash
dotnet ef migrations add $ARGUMENTS --project Server
```
2. After the migration is created:
- Read the generated migration file under `Server/Migrations/`
- Briefly summarize what the migration does (tables created/altered, columns added/removed, indexes, etc.)
3. Ask the user whether to apply the migration to the database:
- If yes, run:
```bash
dotnet ef database update --project Server
```
- Confirm the update result when done
191 changes: 191 additions & 0 deletions PushAndPull/.claude/commands/pr.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
---
description: Generate PR title suggestions and body based on changes from develop
allowed-tools: Bash(git log:*), Bash(git diff:*), Bash(git branch:*), Bash(git tag:*), Bash(git checkout:*), Bash(gh pr create:*), Bash(rm:*), Write, AskUserQuestion
---

Generate a PR based on the current branch. Behavior differs depending on the branch.

## Context

- Current branch: !`git branch --show-current`

---

## Branch-Based Behavior

### Case 1: Current branch is `develop`

**Step 1. Check the current version**

- Check git tags: `git tag --sort=-v:refname | head -10`
- Check existing release branches: `git branch -a | grep release`
- Determine the latest version (e.g., `1.0.0`)

**Step 2. Analyze changes and recommend version bump**

- Commits: `git log main..HEAD --oneline`
- Diff stats: `git diff main...HEAD --stat`
- Recommend one of:
- **Major** (x.0.0): Breaking changes, incompatible API changes
- **Minor** (0.x.0): New backward-compatible features
- **Patch** (0.0.x): Bug fixes only
- Briefly explain why you chose that level

**Step 3. Ask user for version number**

Use AskUserQuestion:
> "ํ˜„์žฌ ๋ฒ„์ „: {current_version}
> ์ถ”์ฒœ ๋ฒ„์ „ ์—…: {Major/Minor/Patch} โ†’ {recommended_version}
> ์ด์œ : {brief reason}
>
> ์‚ฌ์šฉํ•  ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”. (์˜ˆ: 1.0.1)"

**Step 4. Create release branch**

```bash
git checkout -b release/{version}
```

**Step 5. Write PR body** following the PR Body Template below
- Analyze changes from `main` branch
- Save to `PR_BODY.md`

**Step 6. Create PR to `main`**

```bash
gh pr create --title "release/{version}" --body-file PR_BODY.md --base main
```

**Step 7. Delete PR_BODY.md**

```bash
rm PR_BODY.md
```

---

### Case 2: Current branch is `release/x.x.x`

**Step 1. Extract version** from branch name (e.g., `release/1.2.0` โ†’ `1.2.0`)

**Step 2. Analyze changes from `main`**

- Commits: `git log main..HEAD --oneline`
- Diff stats: `git diff main...HEAD --stat`

**Step 3. Write PR body** following the PR Body Template below
- Save to `PR_BODY.md`

**Step 4. Create PR to `main`**

```bash
gh pr create --title "release/{version}" --body-file PR_BODY.md --base main
```

**Step 5. Delete PR_BODY.md**

```bash
rm PR_BODY.md
```

---

### Case 3: Any other branch

**Step 1. Analyze changes from `develop`**

- Commits: `git log develop..HEAD --oneline`
- Diff stats: `git diff develop...HEAD --stat`
- Detailed diff: `git diff develop...HEAD`

**Step 2. Suggest 3 PR titles** following the PR Title Convention below

**Step 3. Write PR body** following the PR Body Template below
- Save to `PR_BODY.md`

**Step 4. Output** in this format:
```
## ์ถ”์ฒœ PR ์ œ๋ชฉ

1. [title1]
2. [title2]
3. [title3]

## PR ๋ณธ๋ฌธ (PR_BODY.md์— ์ €์žฅ๋จ)

[full body preview]
```

**Step 5. Ask the user** using AskUserQuestion:
> "์–ด๋–ค ์ œ๋ชฉ์„ ์‚ฌ์šฉํ• ๊นŒ์š”? (1 / 2 / 3 ๋˜๋Š” ์ง์ ‘ ์ž…๋ ฅ)"

**Step 6. Create PR to `develop`**

- If the user answered 1, 2, or 3, use the corresponding suggested title
- If the user typed a custom title, use it as-is

```bash
gh pr create --title "{chosen title}" --body-file PR_BODY.md --base develop
```

**Step 7. Delete PR_BODY.md**

```bash
rm PR_BODY.md
```

---

## PR Title Convention

Format: `{type}: {Korean description}`

**Types:**
- `feature` โ€” new feature added
- `fix` โ€” bug fix or missing configuration/DI registration
- `modify` โ€” modification to existing code
- `refactor` โ€” refactoring without behavior change

**Rules:**
- Description in Korean
- Short and imperative (๋‹จ๋ฌธ)
- No trailing punctuation

**Examples:**
- `feature: ๋ฐฉ ์ƒ์„ฑ API ์ถ”๊ฐ€`
- `fix: Key Vault ์—ฐ๋™ ๋ฐฉ์‹์„ AddAzureKeyVault์œผ๋กœ ๋ณ€๊ฒฝ`
- `refactor: ๋กœ๊ทธ์ธ ๋กœ์ง ๋ฆฌํŒฉํ† ๋ง`

---

## PR Body Template

Follow this exact structure (keep the emoji headers as-is):

```
## ๐Ÿ“š์ž‘์—… ๋‚ด์šฉ

- {change item 1}
- {change item 2}

## โ—€๏ธ์ฐธ๊ณ  ์‚ฌํ•ญ

{additional notes, context, before/after comparisons if relevant. Write "." if nothing to add.}

## โœ…์ฒดํฌ๋ฆฌ์ŠคํŠธ

> `[ ]`์•ˆ์— x๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- [x] ํ˜„์žฌ ์˜๋„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋‚˜์š”?
- [x] ๋ณ€๊ฒฝํ•œ ๊ธฐ๋Šฅ์ด ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š๋‚˜์š”?


> *์ถ”ํ›„ ํ•„์š”ํ•œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋Š” ์—…๋ฐ์ดํŠธ ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.*
```

**Rules:**
- Analyze commits and diffs to fill in `์ž‘์—… ๋‚ด์šฉ` with a concise bullet list
- Fill in `์ฐธ๊ณ  ์‚ฌํ•ญ` with any important context (architecture decisions, before/after, caveats). Write `.` if nothing relevant.
- Keep total body under 2500 characters
- Write in Korean
- No emojis in text content (keep the section header emojis)
16 changes: 16 additions & 0 deletions PushAndPull/.claude/commands/test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
description: Run all tests and analyze failures
allowed-tools: Bash
---

Run the full test suite and report results.

## Steps

1. Run all tests:
```bash
dotnet test PushAndPull.sln --logger "console;verbosity=normal"
```
2. Check the test output:
- If all tests **pass**: confirm success and show the summary (total tests, duration)
- If any tests **fail**: list each failing test by name, show the failure message and stack trace, then explain the likely cause and how to fix it
3 changes: 3 additions & 0 deletions PushAndPull/.claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"hooks": {}
}
Loading
Loading