getsentry/warden
Your code is under new management. Agents that review your code.
Warden 는 무엇인가요?
Warden 은 Sentry 에서 제공하는 오픈소스 도구로, 리포지토리 내에서 직접 AI 기반 코드 리뷰를 실행할 수 있게 해줍니다. 리뷰 로직을 "스킬" 이라고 간주하며, 일반적인 디렉터리(예: .agents/skills/ 또는 .claude/skills/)에 저장된 재사용 가능한 분석 모듈로 다룹니다. 한 번 스킬을 정의하면 명령줄에서 로컬로 실행하거나 GitHub Action 을 통해 모든 풀 리퀘스트에 자동으로 적용할 수 있습니다.
핵심 개념
| 개념 | 의미 |
|---|---|
| 프롬프트가 아닌 스킬 | 각 실행마다 임시 프롬프트를 작성하는 대신, 한 번만 스킬(작은 스크립트 또는 설정)을 작성하고 어디서든 재사용할 수 있습니다. |
| 두 가지 실행 모드 | • CLI – npx @sentry/warden 를 실행하여 푸시 전 현재 브랜치를 스캔합니다.• GitHub Action – Warden 을 리포지토리에 연결하면 모든 PR 에 대해 자동 리뷰가 실행됩니다. |
| GitHub 네이티브 피드백 | 발견 내용은 수정 제안과 함께 인라인 PR 커멘트로 표시되며, GitHub Checks UI 에도 집계되어 개발자에게 원활한 리뷰 경험을 제공합니다. |
빠른 시작 (README 에서)
# 1. 리포지토리에 Warden CLI 설치
npx @sentry/warden init
# 2. 내장된 리뷰 "스킬" 추가
# – 보안 중심 리뷰
npx @sentry/warden add security-review
# – 일반적인 코드 품질 리뷰
npx @sentry/warden add code-review
# 3. 현재 브랜치에서 리뷰 실행
# (LLM API 키 필요 – OpenAI 또는 Anthropic)
export WARDEN_OPENAI_API_KEY=… # 또는 WARDEN_ANTHROPIC_API_KEY
npx @sentry/warden
# 4. Warden 이 간단한 문제를 자동으로 수정하도록 설정
npx @sentry/warden --fix
자세한 문서는 https://warden.sentry.dev/ 에 있습니다.
내부 동작 방식
- 스킬 은 일반적인 디렉터리(예:
.agents/skills/또는.claude/skills/)에 저장됩니다. 각 스킬은 LLM 이 코드를 분석할 때 사용할 프롬프트 또는 로직을 정의합니다. - CLI 는 변경된 파일을 패키징하여 선택한 LLM (OpenAI 또는 Anthropic) 에 전송하고, 모델의 응답을 실행 가능한 발견으로 파싱합니다.
- CI 환경에서는 GitHub Action 이 모든 PR 에 대해 동일한 프로세스를 실행한 후, 발견 내용을 인라인 커멘트 로 게시하고 Checks 탭에 집계합니다.
- 선택적인
--fix플래그는 제안된 수정을 자동으로 적용하려고 시도합니다 (예: 포맷팅, 간단한 리팩터링).
개발 및 기여
# 리포지토리 클론 및 설정
git clone git@github.com:getsentry/warden.git
cd warden
pnpm install && pnpm build
# 단위 테스트 실행
pnpm test
pnpm test:coverage # 커버리지 리포트 포함
# 종단 테스트 세트 실행 (LLM API 키 필요)
pnpm evals
packages/evals 폴더에는 스킬 성능을 평가하기 위한 작은 프레임워크가 포함되어 있습니다.
라이선스
Warden 는 FSL-1.1-ALv2 라이선스 하에 배포됩니다.
결론: Warden 은 AI 기반 코드 리뷰 로직을 한 번만 정의(재사용 가능한 "스킬" 형태로)하고, 푸시 전 로컬에서, 모든 PR 에 자동으로 적용할 수 있도록 해줍니다. 결과는 GitHub UI 내부에 직접 표시되어 팀 전체에서 일관된 품질 기준을 유지할 수 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트