Community코딩 & 개발github.com

combjellycrumhorn70/ai-quality-gate

MCP 서버를 사용하여 ESLint, Prettier, SonarQube 검사를 자동으로 실행하고, 발견된 문제를 AI에 보고하여 코드 품질 수정을 자동화합니다.

ai-quality-gate란 무엇인가요?

이 스킬은 MCP(Model Context Protocol) 서버를 통해 AI 에이전트가 코드 품질 도구(ESLint, Prettier, SonarQube)를 직접 호출하고 그 결과를 기반으로 자동 수정을 수행할 수 있게 해주는 통합 게이트웨이입니다. 개발자는 AI에게 코드 변경을 요청할 때 품질 게이트를 통과해야 한다는 조건을 부여할 수 있어, 코드 리뷰 전에 기본적인 린트, 포맷팅, 정적 분석 오류를 자동으로 잡아냅니다. 주로 Claude Code, Cursor, Codex와 같은 AI 코딩 어시스턴트와 함께 사용되며, MCP 프로토콜을 지원하는 모든 플랫폼에서 동작합니다. 이를 통해 개발자는 품질 저하 없이 AI의 생산성 향상을 누릴 수 있으며, 사람의 코드 리뷰에 소요되는 시간을 절약할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add combjellycrumhorn70/ai-quality-gate

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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가 다음 단계를 자동으로 수행합니다:

  1. 변경된 파일에 ESLint 실행
  2. Prettier 포맷팅 검사
  3. (선택) SonarQube 분석
  4. 결과를 종합하여 보고
  5. 발견된 문제를 자동으로 수정

예시

입력: "함수에 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

관련 스킬