# Claude vs OpenCode 답변 비교

## 질문

> 라이브러리와 cli 가 같이 공존합니다.
> 이 둘 사이에 인터페이스가 자연스럽게 연결되고 있는지 확인해주세요.
> 권장하는 인터페이스 방법이 있다면 알려주세요

## 비교 대상

- 1번: `docs/claude-lm-library_cli_interface.md` — lmstudio (openai/gpt-oss-20b) + Claude (12분)
- 2번: `docs/opencode-lm-interface_description.md` — lmstudio (openai/gpt-oss-20b) + OpenCode (28분)

## 공통점

두 문서 모두 동일한 결론에 도달합니다:

- **현재 구조는 잘 설계되어 있다** — 라이브러리(`dongnelibrary.ts`)와 CLI(`cli.ts`)의 책임 분리가 명확
- **타입 안전성이 확보되어 있다** — `types.ts`를 공유하여 컴파일 타임 오류 검출
- **API가 적절히 공개되어 있다** — `searchAsync`, `getAllLibraryNames` 등 CLI에 필요한 함수가 모두 export됨

## 차이점

| 항목 | 1번 (Claude, 12분) | 2번 (OpenCode, 28분) |
|------|---------------------|----------------------|
| **구조** | 표 + 제안 목록 + 코드 예시 | 표 4개 + 코드 예시, 더 세분화된 섹션 |
| **분석 깊이** | 큰 그림 위주, 실용적 제안 | 코드 레벨까지 구체적 문제 지적 (중복 export, namespace import 등) |
| **핵심 제안** | "CLI 전용 래퍼" 패턴 도입 | `index.ts` 루트 재내보내기 + named import 전환 |
| **문제 지적** | 개선 "가능한" 사항 나열 (에러 처리, 포맷터 등) | 실제 코드의 **구체적 버그/비효율** 지적 (중복 export, default/named 충돌 가능성) |
| **실용성** | 래퍼 패턴 코드 예시 제공 — 당장 적용 가능 | 패턴 권장 사항 5개 제시 — 구조적 리팩터링 가이드 |

## 평가

**1번 (Claude)** — 간결하고 실용적입니다. "CLI 전용 래퍼" 제안은 바로 적용할 수 있는 구체적 코드까지 포함하고 있어 행동 지향적입니다. 다만 현재 코드의 실제 문제점(중복 export 등)을 놓쳤습니다.

**2번 (OpenCode)** — 더 꼼꼼합니다. 실제 코드에서 중복 export, namespace import 비효율, default/named export 충돌 가능성 같은 **구체적 문제**를 짚어냈습니다. `index.ts` 도입, named import 전환 등의 제안은 NPM 패키지화를 고려한 장기적 관점입니다. 대신 시간이 2배 이상 걸렸고, 제안이 다소 분산되어 있습니다.

## 요약

1번은 "빠르고 실용적", 2번은 "느리지만 더 정확한 진단". 둘 다 현재 구조가 좋다는 결론은 같지만, 개선 방향의 초점이 다릅니다 — 1번은 사용 편의성(래퍼), 2번은 코드 위생(중복 제거, 구조 정리).
