개발자들이 새로운 라이브러리를 사용할 때 가장 큰 난관 중 하나는 그 API를 올바르게 이해하는 것입니다. 웹에서 문서를 찾아보거나 GitHub에서 소스를 확인하는 작업은 번거롭고, 때로는 신뢰할 수 없는 정보에 의존하게 되기도 하죠. 그런 문제를 한 방에 해결해주는 도구가 바로 Cellar입니다. 이 CLI 툴은 Maven JVM 의존성을 손쉽게 조회할 수 있도록 해주어, 개발자와 코딩 에이전트 모두에게 큰 도움을 줍니다.
Cellar란 무엇인가?
Cellar는 터미널에서 Maven 의존성의 공개 API를 조회할 수 있게 해주는 커맨드 라인 도구입니다. 이 툴은 Coursier와 tasty-query에 의해 구동되며, 사용자가 필요한 정보—타입 시그니처, 멤버, 문서 등을 명령어 한 줄로 손쉽게 조회할 수 있게 해줍니다. 그 결과물은 마크다운 형식으로 출력되어, 다른 도구나 AI 모델에 쉽게 주입할 수 있는 형태로 제공됩니다.
주요 기능
- Scala 3, 2 지원: Scala 3에서 완벽하게 지원하며, Scala 2에 대해서는 최선의 노력을 다해 타입 정보를 제공합니다.
- Java 지원: Java의
.class파일에 대해서도 양호한 지원을 제공합니다. - 프로젝트 인식 모드: 현재 프로젝트의 클래스 경로를 자동으로 인식하여, 포함된 코드와 의존성에 대해 직접 쿼리할 수 있습니다.
- 외부 명령어: Maven 좌표를 통해 외부 라이브러리에 대한 정보를 조회할 수 있습니다.
설치 방법
Cellar를 설치하는 방법은 여러 가지가 있지만, 가장 추천하는 방법은 Coursier를 통해 설치하는 것입니다.
Coursier를 통한 설치
- Coursier가 설치되어 있는지 확인합니다.
- 아래의 명령어를 실행합니다:
- 최신 릴리스에서 네이티브 바이너리를 다운로드합니다.
- 압축을 해제하고 설치합니다:
cs install --contrib cellar
이 명령어로 플랫폼에 맞는 GraalVM 네이티브 바이너리를 다운로드합니다. 업데이트하려면 아래 명령어를 사용하세요:
cs update cellar
Nix를 통한 실행
Nix를 사용하면 설치 없이도 Cellar를 사용할 수 있습니다.
nix run github:VirtusLab/cellar -- get-external org.typelevel:cats-core_3:2.10.0 cats.Monad
설치하고 싶다면 다음 명령어를 사용하세요:
nix profile install github:VirtusLab/cellar
수동 설치
tar xz -f cellar-*.tar.gz
sudo mv cellar /usr/local/bin/
Cellar의 기본 사용법
Cellar를 설치한 후 사용하기 위해서는 터미널에서 다음 명령어를 입력하면 됩니다. 아래는 기본적인 명령어 사용 예입니다.
Trait 조회
cellar get-external org.typelevel:cats-core_3:2.10.0 cats.Monad
위 명령어는 cats.Monad에 대한 정보를 조회합니다.
현재 프로젝트에서 심볼 조회
cellar get --module core cats.Monad
패키지 내 최상위 심볼 목록
cellar list-external org.typelevel:cats-core_3:2.10.0 cats
메서드 이름으로 검색
cellar search-external org.typelevel:cats-core_3:2.10.0 flatMap
소스 코드 보기
cellar get-source org.typelevel:cats-core_3:2.10.0 cats.Monad
의존성 트리 보기
cellar deps org.typelevel:cats-effect_3:3.5.4
실무에서의 활용 시나리오
Cellar는 특히 코드 작성 중에 API를 이해해야 할 때 유용합니다. 예를 들어, 새로운 라이브러리인 cats를 사용하고 싶지만 문서가 부족할 때, Cellar를 통해 필요한 메서드의 정보와 사용 예제를 빠르게 조회할 수 있습니다. 이를 통해 개발 속도를 대폭 향상시킬 수 있으며, 코드의 질도 높일 수 있습니다.
비슷한 도구와의 비교
Cellar와 유사한 도구로는 Scaladoc나 Javadoc이 있습니다. 그러나 이 두 도구는 HTML 기반의 문서 형태로 제공되기 때문에, 필요한 정보를 찾기 위해 여러 번의 클릭이 필요합니다. Cellar는 터미널에서 직접 명령어를 입력하는 방식으로 간편하게 정보를 조회할 수 있어 더 효율적입니다.
추천 대상
Cellar는 Scala와 Java를 사용하는 개발자들에게 특히 추천합니다. Maven 의존성을 자주 사용하는 프로젝트에서 API를 신속하게 탐색하고 싶어하는 모든 개발자에게 유용할 것입니다.
GitHub에서 Cellar 프로젝트를 확인해보세요: VirtusLab/cellar