diff --git a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java index 4aef13c..0fff529 100644 --- a/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java +++ b/axhub-tool-core/src/main/java/io/shinhanlife/axhub/biz/mcp/tool/util/ToolScaffolder.java @@ -41,7 +41,7 @@ public class ToolScaffolder { Scanner scanner = new Scanner(System.in); System.out.println("========================================="); - System.out.println(" π οΈ MCP Tool Scaffolder (Java CLI) π οΈ "); + System.out.println(" MCP Tool Scaffolder (Java CLI) "); System.out.println("=========================================\n"); String baseName = getOrAsk(args, 0, scanner, "1. μμ±ν Toolμ κΈ°λ³Έ μ΄λ¦ (μ: ExchangeRate) [μλ¬Έ PascalCase]: "); @@ -83,12 +83,26 @@ public class ToolScaffolder { import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; + /** + * @package %s.dto + * @className %sReq + * @description AX HUB μμ€ν μ²λ¦¬ ν΄λμ€ + * @author κΉνμ + * @create 2026.09.01 + *
+ * ---------- κ°μ μ΄λ ₯ ---------- + * μμ μΌ μμ μ μμ λ΄μ© + * ---------- -------- --------------------------- + * 2026.09.01 κΉνμ μ΅μ΄μμ± + * + *+ */ @Data @JsonInclude(JsonInclude.Include.NON_NULL) public class %sReq { // TODO: Add request fields here } - """.formatted(BASE_PACKAGE, baseName); + """.formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, baseName); Files.writeString(dtoDir.resolve(baseName + "Req.java"), reqContent); // Generate Res DTO @@ -98,6 +112,20 @@ public class ToolScaffolder { import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data; + /** + * @package %s.dto + * @className %sRes + * @description AX HUB μμ€ν μ²λ¦¬ ν΄λμ€ + * @author κΉνμ + * @create 2026.09.01 + *
+ * ---------- κ°μ μ΄λ ₯ ---------- + * μμ μΌ μμ μ μμ λ΄μ© + * ---------- -------- --------------------------- + * 2026.09.01 κΉνμ μ΅μ΄μμ± + * + *+ */ @Data @JsonInclude(JsonInclude.Include.NON_NULL) public class %sRes { @@ -105,7 +133,7 @@ public class ToolScaffolder { private String message; // TODO: Add response fields here } - """.formatted(BASE_PACKAGE, baseName); + """.formatted(BASE_PACKAGE, BASE_PACKAGE, baseName, baseName); Files.writeString(dtoDir.resolve(baseName + "Res.java"), resContent); String toolName = baseName.toLowerCase(); @@ -120,6 +148,20 @@ public class ToolScaffolder { import %s.dto.%sRes; import org.springframework.stereotype.Service; + /** + * @package %s.service + * @className %sService + * @description AX HUB μμ€ν μ²λ¦¬ ν΄λμ€ + * @author κΉνμ + * @create 2026.09.01 + *
+ * ---------- κ°μ μ΄λ ₯ ---------- + * μμ μΌ μμ μ μμ λ΄μ© + * ---------- -------- --------------------------- + * 2026.09.01 κΉνμ μ΅μ΄μμ± + * + *+ */ @Service @McpTool( routingType = "%s", @@ -143,6 +185,7 @@ public class ToolScaffolder { BASE_PACKAGE, BASE_PACKAGE, baseName, BASE_PACKAGE, baseName, + BASE_PACKAGE, baseName, routingType, group, baseName, @@ -176,11 +219,11 @@ public class ToolScaffolder { } System.out.println("\n========================================="); - System.out.println("β Scaffolding Complete!"); + System.out.println(" Scaffolding Complete!"); System.out.println("========================================="); System.out.println("[Service] " + serviceDir.resolve(baseName + "Service.java")); System.out.println("[Req DTO] " + dtoDir.resolve(baseName + "Req.java")); System.out.println("[Res DTO] " + dtoDir.resolve(baseName + "Res.java")); - System.out.println("\nπ‘ ν: " + interfaceId + " λͺ©μ λ°μ΄ν°λ₯Ό mock-responses.jsonμ μΆκ°νμΈμ."); + System.out.println("\n Tip: " + interfaceId + " λͺ©μ λ°μ΄ν°λ₯Ό mock-responses.jsonμ μΆκ°νμΈμ."); } } \ No newline at end of file