From 821bca1758991dc8dcd53d472f6c1c0808716e0f Mon Sep 17 00:00:00 2001 From: coli Date: Tue, 14 Oct 2025 20:56:07 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20=EC=BD=94=EB=93=9C=20=EB=B8=94?= =?UTF-8?q?=EB=A1=9D=20=EB=B6=84=EB=A6=AC=20=ED=94=84=EB=A1=AC=ED=94=84?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/devoops/client/claude/ClaudePrAnalysisClient.java | 2 ++ .../src/main/resources/application-mcp-client.yml | 2 ++ gss-mcp-app/src/test/resources/application.yml | 7 +++++-- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java index 7e68420..3c060cd 100644 --- a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java +++ b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java @@ -14,8 +14,10 @@ import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.converter.BeanOutputConverter; +import org.springframework.stereotype.Component; @Slf4j +@Component public class ClaudePrAnalysisClient implements PrAnalysisClient { private static final McpClientType CLIENT_VENDOR = McpClientType.CLAUDE; diff --git a/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml b/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml index 6bccf5c..aa06578 100644 --- a/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml +++ b/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml @@ -11,6 +11,8 @@ dev-oops: - "question"은 가능한 255자가 넘지 않도록 짧고 명료하게 질문해. - 각 질문들은 반드시 PR 코드 변경 내용("diff")을 인용해서 생성해. - "diff"를 굉장히 자세하게 분석하고 몇몇 질문에는 코드를 반영해서 만들어줘 + - 코드를 반영할 때는 코드블록 인용구로 빼서 만들어줘 예를 들어 java 같은 경우에는 '''java ''', javascript는 '''javascript ''' 처럼 마크다운을 활용해서 인용구를 분리해줘 + - 인용구에서는 어떤 파일에서 참조했는지를 코드블럭에 같이 첨부해줘, 가령 Main.class라면 // Main.class 로 시작했으면 좋겠어 - 질문 수는 카테고리마다 3개 이상 만들어. - 질문은 꼭 존댓말로 "?"로 끝나는 의문문이어야 해. diff --git a/gss-mcp-app/src/test/resources/application.yml b/gss-mcp-app/src/test/resources/application.yml index 99993be..91d6f49 100644 --- a/gss-mcp-app/src/test/resources/application.yml +++ b/gss-mcp-app/src/test/resources/application.yml @@ -45,8 +45,11 @@ dev-oops: - "summaryDetail"은 변경 내용을 항목별로 요약한 제목(title) + 설명(description) 쌍으로 구성해. - "category"는 기술적인 관점에서 PR 코드 변경 내용을 반영하여 선택해 (예: 성능, 보안, 확장성, 유지보수성, 테스트 등) - "question"은 각 category에 대해 기술 면접에서 사용할 수 있는 질문이어야 해. + - "question"은 가능한 255자가 넘지 않도록 짧고 명료하게 질문해. - 각 질문들은 반드시 PR 코드 변경 내용("diff")을 인용해서 생성해. - - "diff"를 굉장히 자세하게 분석하고 몇몇 질문에는 코드를 반영해서 만들어줘 + - "diff"를 굉장히 자세하게 분석하고 질문에는 코드를 반영해서 만들어줘 + - 코드를 반영할 때 질문에 관련된 코드는 코드블록 인용구로 만들어줘. 예를 들어 java 같은 경우에는 '''java ''', javascript는 '''javascript ''' 처럼 마크다운을 활용해서 인용구를 분리해줘 + - 인용구에서는 어떤 파일에서 참조했는지를 코드블럭에 같이 첨부해줘, 가령 Main.class라면 // Main.class 로 시작해야해 - 질문 수는 카테고리마다 3개 이상 만들어. - 질문은 꼭 존댓말로 "?"로 끝나는 의문문이어야 해. @@ -64,7 +67,7 @@ dev-oops: diff를 Base64에서 디코딩한 후 분석하고 PR 요약과 질문을 만들어 주세요. format-message: | - 응답은 반드시 다음 JSON 스키마에 맞춰 정확한 JSON 형식으로 제공해주세요('''json도 제외): + 응답은 반드시 다음 JSON 스키마에 맞춰 정확한 JSON 형식으로 제공해주세요('''json도 제외):: %s From 17a1a565e6d614f3d4536619f5dbcde1c8089afd Mon Sep 17 00:00:00 2001 From: coli Date: Tue, 14 Oct 2025 21:04:20 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=EC=88=98=EB=8F=99=20=EB=B9=88?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=EC=9D=98=20=EA=B2=BD=EC=9A=B0=20componene?= =?UTF-8?q?t=20=EC=95=A0=EB=84=88=ED=85=8C=EC=9D=B4=EC=85=98=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/devoops/client/claude/ClaudePrAnalysisClient.java | 2 -- .../java/com/devoops/client/openai/OpenAiPrAnalysisClient.java | 2 -- 2 files changed, 4 deletions(-) diff --git a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java index 3c060cd..7e68420 100644 --- a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java +++ b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/claude/ClaudePrAnalysisClient.java @@ -14,10 +14,8 @@ import org.springframework.ai.chat.model.ChatResponse; import org.springframework.ai.chat.prompt.ChatOptions; import org.springframework.ai.converter.BeanOutputConverter; -import org.springframework.stereotype.Component; @Slf4j -@Component public class ClaudePrAnalysisClient implements PrAnalysisClient { private static final McpClientType CLIENT_VENDOR = McpClientType.CLAUDE; diff --git a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/openai/OpenAiPrAnalysisClient.java b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/openai/OpenAiPrAnalysisClient.java index 3c942bd..8194f1c 100644 --- a/gss-client/gss-mcp-client/src/main/java/com/devoops/client/openai/OpenAiPrAnalysisClient.java +++ b/gss-client/gss-mcp-client/src/main/java/com/devoops/client/openai/OpenAiPrAnalysisClient.java @@ -18,10 +18,8 @@ import org.springframework.ai.openai.api.ResponseFormat; import org.springframework.ai.openai.api.ResponseFormat.Type; import org.springframework.context.annotation.Primary; -import org.springframework.stereotype.Component; @Primary -@Component @Slf4j public class OpenAiPrAnalysisClient implements PrAnalysisClient { From d058ac6a2d7c0b4ace76f709bcd567573995962e Mon Sep 17 00:00:00 2001 From: coli Date: Tue, 14 Oct 2025 21:10:29 +0900 Subject: [PATCH 3/3] =?UTF-8?q?chore:=20=ED=94=84=EB=A1=AC=ED=94=84?= =?UTF-8?q?=ED=8A=B8=20=EB=B3=80=EA=B2=BD=20=EC=82=AC=ED=95=AD=20=EB=B0=98?= =?UTF-8?q?=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-mcp-client.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml b/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml index aa06578..9d4e233 100644 --- a/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml +++ b/gss-client/gss-mcp-client/src/main/resources/application-mcp-client.yml @@ -11,7 +11,7 @@ dev-oops: - "question"은 가능한 255자가 넘지 않도록 짧고 명료하게 질문해. - 각 질문들은 반드시 PR 코드 변경 내용("diff")을 인용해서 생성해. - "diff"를 굉장히 자세하게 분석하고 몇몇 질문에는 코드를 반영해서 만들어줘 - - 코드를 반영할 때는 코드블록 인용구로 빼서 만들어줘 예를 들어 java 같은 경우에는 '''java ''', javascript는 '''javascript ''' 처럼 마크다운을 활용해서 인용구를 분리해줘 + - 코드를 반영할 때는 코드블록 인용구로 빼서 만들어줘 예를 들어 java 같은 경우에는 ```java ```, javascript는 ```javascript ``` 처럼 마크다운을 활용해서 인용구를 분리해줘 - 인용구에서는 어떤 파일에서 참조했는지를 코드블럭에 같이 첨부해줘, 가령 Main.class라면 // Main.class 로 시작했으면 좋겠어 - 질문 수는 카테고리마다 3개 이상 만들어. - 질문은 꼭 존댓말로 "?"로 끝나는 의문문이어야 해.