NuGet용 lazygit 스타일 TUI

발행: (2026년 2월 22일 오전 02:22 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

lazygit‑style TUI for NuGet의 커버 이미지

lazygit을 사용해 본 적이 있다면 그 느낌을 알 것입니다. Git이 번거로운 작업이 아니라 거의 즐거운 경험이 됩니다. 한눈에 모든 것을 볼 수 있고, 키보드로 탐색하며, 몇 초 만에 여러 명령어를 사용해야 했던 작업을 수행할 수 있습니다.

저는 그 경험을 NuGet에도 적용하고 싶었습니다.

dotnet list package --outdated는 텍스트 벽을 보여줍니다. 업데이트는 각 패키지마다 별도의 명령을 실행해야 합니다. 취약점 확인도 또 다른 명령이고, NuGet.org 검색도 또 다른 명령입니다. 그리고 10개 이상의 프로젝트가 있는 솔루션에서 작업한다면 컨텍스트 전환을 계속하게 됩니다.

그래서 LazyNuGet을 만들었습니다.

LazyNuGet 대시보드

기능 소개

LazyNuGet에 폴더를 지정하면 해당 폴더의 모든 .csproj 파일을 스캔합니다. 모든 프로젝트, 모든 패키지, 모든 버전을 한 곳에서 확인할 수 있습니다. 백그라운드에서는 조용히 NuGet.org에서 업데이트와 취약점 정보를 확인합니다. 작업이 끝나면 오래된 패키지는 노란색으로, 취약한 패키지는 빨간 배지로 표시됩니다.

그 다음 할 수 있는 일:

  • 단일 패키지 또는 전체 업데이트 (Ctrl+U)
  • 터미널을 떠나지 않고 NuGet.org 검색 (Ctrl+S) — 결과를 탐색하고, 설명을 읽고, 버전을 선택하여 하나 또는 여러 프로젝트에 설치
  • 프로젝트 또는 패키지의 의존성 트리 보기 (Ctrl+D)
  • 폐기된 패키지를 권장 교체 패키지로 한 번에 마이그레이션
  • 버전 히스토리, 릴리즈 노트, 보안 권고, 다운로드 통계 등을 탭 패널(F1–F5)에서 탐색
  • 작업 히스토리를 추적하고 최근 변경을 되돌리거나 재시도 (Ctrl+H)
  • 프라이빗 피드와 연동 — 인증된 NuGet 소스를 저장된 자격 증명과 함께 사용

키보드와 마우스 모두 완벽히 지원됩니다.

패키지 상세 정보

패키지를 선택하면 탭 뷰가 나타납니다 — 개요, 의존성, 버전 히스토리, 릴리즈 노트, 보안 권고. 모든 정보는 NuGet.org에서 실시간으로 가져옵니다.

NuGet.org 검색

검색 모달을 통해 NuGet.org를 탐색하고, 패키지 설명을 읽으며, 터미널을 떠나지 않고 하나 또는 여러 프로젝트에 설치할 수 있습니다.

의존성 트리

시작하기

.NET 10이 설치된 경우

dotnet tool install --global LazyNuGet
lazynuget

또는 .NET 없이 실행 가능한 바이너리 다운로드

curl -fsSL https://raw.githubusercontent.com/nickprotop/lazynuget/main/install.sh | bash

그 다음 실행합니다:

lazynuget /path/to/your/solution
# 또는 해당 디렉터리로 이동한 뒤 lazynuget 실행

사용 기술 스택

.NET 10, Spectre.Console, 그리고 제가 직접 만든 TUI 레이아웃 라이브러리인 SharpConsoleUI로 구축되었습니다. 이 라이브러리는 반응형 패널, 창 관리, 터미널 마우스 지원 등을 처리합니다.

아직 초기 단계

시도해 보시고, 어떤 부분이 깨졌는지 혹은 부족한 점이 무엇인지 알려주시면 정말 감사하겠습니다. 이슈와 스타 모두 환영합니다.

GitHub:

0 조회
Back to Blog

관련 글

더 보기 »