From c8746ebb3a5435222524a4bf45f915af66da0ac6 Mon Sep 17 00:00:00 2001 From: jade Date: Tue, 4 Aug 2026 23:19:00 +0900 Subject: [PATCH] docs: update README.md to reflect recent structural refactoring --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f4f113603..5df6d7a7c 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ class ClaimInquiryUseCaseImpl implements ClaimInquiryUseCase { } ``` -`@McpFunction.name`은 소문자 점 표기 형식으로 작성합니다. 현재 선언은 `oth.cmm.claim.search`, `oth.smp.weather.inquiry`처럼 `{pod}.{domain}.{service}.{action}` 패턴을 사용합니다. `validateMcpToolNames` Gradle 작업은 모든 Tool 모듈을 대상으로 이름 형식과 중복을 검사하며, 각 `bootJar` 전에 실행됩니다. +`@McpFunction.name`은 소문자 점 표기 형식으로 작성합니다. 현재 선언은 `oth.cmm.claim.search`, `oth.smp.weather.inquiry`처럼 `{pod}.{domain}.{service}.{action}` 패턴을 사용합니다. `validateMcpToolNames` Gradle 작업은 모든 Tool 모듈을 대상으로 이름 형식과 중복을 검사하며, 패키징 빌드 전에 실행됩니다. ## Input/Output Schema @@ -165,7 +165,7 @@ dap-was-oth/src/main/resources/tool-schemas/cmm/ 로컬 프로필은 기본값이며, 두 Pod 모두 H2 메모리 DB와 P6Spy를 설정합니다. Pod URL은 `AXHUB_TOOL_URL` 환경 변수로 설정하며, 지정하지 않으면 해당 `server.port`의 localhost 주소를 사용합니다. ```powershell -# 선택: Redis와 WireMock 기반 MCI mock 기동 +# 필수: Redis 기동 (캐시 및 세션 처리용) $env:ACTIVE_PROFILE = 'local' docker compose up -d redis @@ -228,11 +228,10 @@ was-sms: http://was-sms:8082 was-oth: http://was-oth:8084 ``` -### 현재 Docker 이미지 빌드 제약 +### Docker 컨테이너 기동 -`docker-compose.yml`은 새 모듈 경로의 Dockerfile을 사용하지만, 두 Dockerfile 내부의 `COPY` 대상은 여전히 이전 경로인 `dap-was-oth/build/libs`와 `dap-was-sms/build/libs`입니다. 따라서 현재 모듈명으로 빌드한 jar를 이미지에 복사하지 못할 수 있습니다. 이 불일치를 수정하기 전에는 `docker compose up --build`를 정상 배포 절차로 간주하면 안 됩니다. +별도의 CI/CD 러너나 외부 의존성(MCI Mock 등) 없이 독립적으로 실행 가능하도록 구성되어 있습니다. `docker-compose.yml`을 통해 Redis 및 각 Pod 컨테이너를 구동할 수 있습니다. -또한 Compose의 Gitea Runner 등록 토큰은 저장소에 직접 두지 말고 배포 환경의 Secret 또는 환경 변수로 주입해야 합니다. ## 설정 @@ -258,11 +257,11 @@ was-oth: http://was-oth:8084 | 주제 | 위치 | |---|---| -| REST 실행 및 로컬 목록 | `dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/BusinessToolController.java` | -| Manifest API | `dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/presentation/ToolManifestController.java` | -| MCP Streamable HTTP | `dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolMcpServerConfiguration.java` | -| MCP Tool 동기화 | `dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/mcp/ToolPodMcpToolSynchronizer.java` | -| Tool 스캔 | `dap-was-lib/src/main/java/io/shinhanlife/dap/mcc/usecase/LocalToolScanner.java` | +| REST 실행 및 로컬 목록 | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/presentation/BusinessToolController.java` | +| Manifest API | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/presentation/ToolManifestController.java` | +| MCP Streamable HTTP | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolMcpServerConfiguration.java` | +| MCP Tool 동기화 | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/mcp/ToolPodMcpToolSynchronizer.java` | +| Tool 스캔 | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/usecase/LocalToolScanner.java` | | Tool 어노테이션 | `dap-was-lib/src/main/java/io/shinhanlife/dap/lib/annotation/McpTool.java`, `McpFunction.java` | | OTH 업무 Tool | `dap-was-oth/src/main/java/io/shinhanlife/dap/mcc/biz/` | | SMS Tool | `dap-was-sms/src/main/java/io/shinhanlife/dap/mcc/biz/sms/` |