ai-quality-gate은(는) 무엇을 하나요?
MCP 서버를 사용하여 ESLint, Prettier, SonarQube 검사를 자동으로 실행하고, 발견된 문제를 AI에 보고하여 코드 품질 수정을 자동화합니다.
개요
이 프로젝트는 MCP(Model Context Protocol) 서버로, AI 코딩 어시스턴트(Claude Code, Cursor, Codex 등)가 코드 변경 후 자동으로 품질 검사를 수행하고 그 결과를 기반으로 수정할 수 있게 해줍니다. 주요 목표는 다음과 같습니다.
- 코드 변경 시 품질 저하 방지
- 린트, 포맷팅, 정적 분석 오류 자동 발견
- AI가 직접 문제를 이해하고 수정할 수 있도록 피드백 제공
- 개발자 워크플로우에 원활하게 통합
지원 도구
- ESLint: JavaScript/TypeScript 코드 린팅
- Prettier: 코드 포맷팅 검사
- SonarQube: 정적 코드 분석 (선택 사항)
설치 및 설정
필수 조건
- Node.js 18 이상
- ESLint, Prettier 설정 파일 (프로젝트 루트)
- (선택) SonarQube 서버 접근 권한
설치
npm install -g ai-quality-gate
또는 프로젝트에 직접 추가:
npm install --save-dev ai-quality-gate
MCP 서버 설정
claude_desktop_config.json에 다음을 추가합니다:
{
"mcpServers": {
"ai-quality-gate": {
"command": "npx",
"args": ["ai-quality-gate"],
"env": {
"SONAR_TOKEN": "your_sonar_token",
"SONAR_HOST_URL": "http://localhost:9000"
}
}
}
}
사용법
AI 어시스턴트에서 다음과 같이 요청할 수 있습니다:
"이 변경 사항에 대해 품질 게이트를 실행하고, 문제가 있으면 수정해줘."
AI가 다음 단계를 자동으로 수행합니다:
- 변경된 파일에 ESLint 실행
- Prettier 포맷팅 검사
- (선택) SonarQube 분석
- 결과를 종합하여 보고
- 발견된 문제를 자동으로 수정
예시
입력: "함수에 JSDoc을 추가했는데, 품질 검사를 해줘."
AI 응답:
- ESLint:
no-unused-vars경고 2개 발견 → 수정 완료 - Prettier: 들여쓰기 불일치 3개 발견 → 포맷팅 완료
- SonarQube: 코드 스멜 1건 발견 → 수정 제안함
API
도구
run_quality_gate
전체 품질 게이트를 실행합니다.
매개변수:
files(선택): 검사할 특정 파일 목록. 생략 시 모든 변경 파일.tools(선택): 실행할 도구 (기본값: ESLint + Prettier).
반환값:
{
"passed": true/false,
"results": {
"eslint": { "errors": [], "warnings": [] },
"prettier": { "issues": [] },
"sonarqube": { "issues": [] }
},
"summary": "검사 완료: 오류 0, 경고 2, 포맷팅 이슈 1"
}
fix_issues
자동으로 수정 가능한 문제를 해결합니다.
매개변수:
tool: 수정할 도구 (eslint,prettier,all)files(선택): 수정할 특정 파일 목록
개발
로컬 실행
git clone https://github.com/combjellycrumhorn70/ai-quality-gate
cd ai-quality-gate
npm install
npm run build
npm start
테스트
npm test
라이선스
MIT