작업 결과가 귀사에 도달하기 전에 에이전트의 부주의한 행위를 미리 포착하세요.

성공을 위해 건너뛴 테스트, 무시된 오류, 남겨진 스텁, 조용히 처리된 타입 확인 작업. 안티-슬롭은 에이전트가 만든 모든 변경 사항에서 이런 문제를 검사하고 각각의 결과와 함께 개발자 에이전트에게 다시 보냅니다.

작업결제 시 쿠폰 코드를 적용하세요.검토 중
품질 게이트
개발자 품질 게이트시도하기: 2통과
안티-슬롭
새로운 코드 부채 없음통과
0 개가 차단 중 · 0 개가 새로 도입됨 · 1 개가 수정됨 · 기존 14 개 유지
개발자 품질 게이트시도하기: 1차단됨 · 개발자로 전송됨
안티-슬롭
새로운 코드 부채 없음수정이 필요함
2 개가 차단 중 · 2 개가 새로 도입됨 · 1 개가 수정됨 · 기존 14 개 유지
  • 테스트가 생략됨src/checkout/coupon.test.ts:88it.skip('rejects an expired coupon', …)
  • 오류가 무시됨src/checkout/apply-coupon.ts:41} catch {}
발견된 문제
  • 수정됨테스트가 생략됨안티-슬롭
  • 수정됨오류가 무시됨안티-슬롭

작업 뷰는 Coroid 포털을 재현한 것입니다. 여기에 표시되는 작업, 파일 및 결과는 예시일 뿐입니다.

규칙
106
그룹
13
기본적으로 변경을 차단하는 규칙
44
변경을 차단하는 기존 문제점
0

검출 대상 항목

규칙은 그룹으로 구성됩니다. 각 규칙은 변경을 차단하거나 권고하거나 단순히 기록할 뿐이며, 소유자는 조직 또는 특정 프로젝트에 대해 이를 변경할 수 있습니다.

테스트
집중적으로 실행되거나 건너뛴 테스트, 삭제된 테스트, 제거되거나 약화된 어서션, 실패할 수 없는 테스트, 불안정한 테스트를 숨기는 재시도 등
  • .only
  • .skip
  • expect(true).toBe(true)
억제 항목
새로운 린트 비활성화, 무시된 타입 오류, any로의 형변환, 커버리지에서 제외된 코드 등
  • @ts-ignore
  • as any
  • eslint-disable
빌드 및 CI
제거되거나 실패 허용된 테스트 단계, 낮아진 커버리지 임계값, 테스트 없이 통과하는 테스트 실행, 건너뛴 커밋 훅, 빌드 출력이 커밋되는 경우 등
  • continue-on-error: true
  • --passWithNoTests
테스트 증거
아무것도 실행되지 않은 테스트 실행, 이전 성공 실행보다 적은 테스트 수, 완료로 보고된 부분적인 실행, 새로운 실행으로 위장된 캐시된 결과 등
  • Tests: 0 total
  • --onlyChanged
프로덕션 코드
플레이스홀더 구현체, 디버깅 코드, “실제 구현 시에는”과 같은 주석, 사람을 위한 지침, 모의 데이터, 테스트 코드를 가져오는 프로덕션 코드 등
  • throw new Error('Not implemented')
  • debugger;
오류 처리
기본값 뒤로 숨겨지거나 무시되는 오류, 실패 시에도 접근을 허용하는 권한 확인, 무제한 재시도 등
  • except: pass
  • .catch(() => {})
보안
하드코딩된 비밀번호, TLS 인증 기능 비활성화, 인증 보호 장치 제거, 자격 증명을 포함하는 와일드카드 CORS 설정, 그리고 문자열 기반으로 구성된 SQL 쿼리.
  • rejectUnauthorized: false
  • verify=False
아키텍처
새로운 임포트 순환, 선언된 경계를 넘나드는 임포트, 중복된 코드 블록, 변경으로 인해 사용되지 않게 된 코드, 폐기된 패턴의 새로운 복사본 등
종속성
잠금 파일 없이 발생한 매니페스트 변경, 이미 수행 중인 작업을 위한 두 번째 라이브러리, 고정되지 않은 버전, 사양에 명시되지 않은 업그레이드 등
  • "latest"
캐싱
테넌트 정보가 포함되지 않은 캐시 키, 만료되지 않는 인메모리 캐시, 코드 실행 시에 읽혀야 할 빌드 시점 값 등
주석
다음 줄을 반복하거나 편집 내용을 설명하며, 주변 코드와 모순되거나 애매한 댓글입니다.
  • // Updated to
  • // should work
변경 범위
명세서에서 다루지 않은 파일, 서식만 변경된 내용, 그리고 작업에서 요구하지 않은 이름 변경입니다.
에이전트 경로
에이전트가 수행한 작업으로, 실패한 테스트를 삭제하거나 실패 시 출력된 값으로 예상값을 변경하는 등의 행위가 포함됩니다.

변경으로 인해 새로 발생한 문제만 차단됩니다.

대부분의 저장소에는 이미 이러한 패턴들이 일부 존재합니다. 안티-슬롭은 발견된 항목을 유래별로 분류하므로 기존의 기술 부채가 무관한 작업을 방해하지 않습니다.

새로 도입된 항목
이번 변경에서 새로 발생한 항목입니다. 차단 규칙에 해당하는 발견 항목은 개발자 에이전트에게 다시 전달됩니다.
수정된 항목
이미 존재하며 변경 사항이 수정한 줄이나 함수 내에 있는 항목입니다. 이는 기록되며, 변경 관리 규율에 따라 수정됩니다.
기존 항목
저장소의 다른 곳에 있는 항목입니다. 이는 Factory에 기술 부채로 기록되며, 해당 규칙의 발견 항목을 수정하기 위한 작업을 생성할 수 있습니다.

코드를 이동하는 것은 도입으로 간주되지 않습니다. 복사하는 경우에만 도입으로 간주됩니다.

변경의 적용 범위는 귀사가 직접 결정합니다.

변경 관리 규율은 개발자 에이전트에게 작업 중에 정리할 수 있는 항목을 지시합니다.

  1. 정밀 처리명세서에서 요구하는 부분만 처리합니다. 다른 문제들은 보고될 뿐 수정되지 않습니다.
  2. 균형 조정기본값변경 사항이 수정하는 줄에 있는 사소한 문제들도 함께 수정합니다.
  3. 복원 처리변경 사항이 수정하는 함수 내에 있는 발견 항목들도 함께 정리합니다.

개발자 에이전트도 동일한 규칙을 따라 작업합니다.

안티-슬롭은 단순히 최종 판단을 내리는 도구가 아닙니다. 에이전트는 변경을 작성하는 동안 규칙을 적용받으며 이를 무시할 수 없습니다.

  1. 에이전트는 변경 관리 규율과 격리된 패턴들, 그리고 대체로 사용할 항목들을 바탕으로 작업을 시작합니다.
  2. 에이전트는 편집 후 즉시 빠른 규칙들을 확인하며, QA가 실행되기 전에 차단되는 발견 항목을 수정할 기회를 한 번 얻습니다.
  3. 에이전트는 자신이 발견한 항목을 수용할 수 없습니다. 에이전트가 테스트가 잘못되었다고 판단하여 변경한다면, 리뷰어의 승인이 필요합니다.
  4. 저장소 파일인 .coroid/anti-slop.yml를 통해 규칙을 추가하고 생성된 경로를 제외할 수 있습니다. 이 파일은 변경 사항의 기준선에서 읽히므로 변경 자체가 규칙을 완화할 수 없습니다.

귀사가 이미 운영 중인 에이전트들도 같은 규칙을 준수해야 합니다.

자신의 코딩 에이전트를 사용하는 엔지니어들도 조직의 규칙을 적용할 수 있습니다.

AGENTS.md 스니펫
프로젝트의 변경 관리 규율, 격리된 패턴 및 가장 중요한 규칙들을 포함한 에이전트 지침 섹션을 다운로드하세요.
Coroid MCP 서버
anti_slop_rules는 공개된 정책을 기술하며, anti_slop_scan은 동기화된 프로젝트의 브랜치를 스캔합니다. 둘 다 읽기 전용입니다.
Coroid Check가 풀 요청에 적용됨
pull request에서 해당 기능을 활성화하면 개발자가 생성한 GitHub 풀 요청에 동일한 검사가 적용되어 각 발견 항목이 해당 줄에 표시됩니다.

우리의 자체 코드에서 먼저 테스트를 거쳤습니다.

Coroid는 한 사람과 백 개의 에이전트가 함께 만들었으므로, 안티-슬롭은 다른 누군가의 저장소에 적용되기 전에 먼저 Coroid의 저장소에서 테스트되었습니다.

모든 소스 파일에 대한 스캔

저희는 마치 에이전트가 작성한 것처럼 Coroid 저장소 내의 모든 11,536 소스 파일을 스캔했습니다. 그 결과 규칙에서 잘못 판단한 패턴이 6개 발견되었으며, 이를 수정하자 오류 차단 건수가 5,366개에서 2,253개로 줄어들었습니다.

여전히 차단되는 항목은 규칙이 찾아내도록 설계된 대상입니다. 예를 들어 알림 코드에 남겨진 메모: “실제 구현에서는 사용자의 FCM 토큰을 가져와야 합니다.”

모델이 판단하는 규칙

두 가지 규칙을 통해 모델에 한 줄씩 질의합니다. 하나는 코드에서 이미 배제된 사항에 대한 방어적 검증이고, 다른 하나는 인접한 코드와 상충하는 주석입니다. 이 규칙들은 단지 권고 사항일 뿐입니다. 600실제로 병합된 변경사항에서 추출한 후보 라인 중에서 해당 규칙들이 식별한 경우는 없음잘못 판단한 경우가 있으며, 그로 인한 비용은 최대 US$0.0015 스캔당입니다.

품질 관리 설정에서 이 기능을 활성화하세요.

소유자와 관리자는 조직의 기본 설정 또는 특정 프로젝트에 대해 안티-슬롭을 활성화할 수 있습니다. 다음번 프로젝트 실행 시 해당 설정이 적용됩니다.

  1. 품질 관리 페이지를 열고 조직의 기본 설정 또는 특정 프로젝트를 선택하세요.
  2. 안티-슬롭을 활성화하세요. 이렇게 하면 정책에 다섯 가지 요건이 추가됩니다.
  3. 변경 관리 규율과 차단 그룹을 선택하세요. 비활성화해도 다음에 사용할 때 이 설정은 유지됩니다.

추가되는 다섯 가지 요건

  • 테스트가 여전히 변경 사항을 증명해야 함
  • 미완성된 코드나 테스트용 코드가 배포되어서는 안 됨
  • 새로운 구조적 기술 부채가 발생해서는 안 됨
  • 변경 사항이 범위 내에 머물러야 하며 해당 코드베이스를 따르도록 작성되어야 함
  • 새로운 종속 요소는 실제이며 신뢰할 수 있습니다.
안티-슬롭 가이드 읽기
품질 관리
각 프로젝트에서 검증할 항목을 직접 선택할 수 있습니다. 설정 변경 사항은 즉시 새로운 작업에 적용됩니다.
스토어프론트사용자 정의 설정
작업 QA, 풀 리퀘스트 및 릴리스 검증 단계에서 실행됩니다.
모든 변경 사항에 대한 검사
검사를 통과하지 못한 변경 사항은 다른 사람이 검토하기 전에 개발자에게 다시 전달됩니다.
  • 안티-슬롭테스트가 약화되거나 오류가 숨겨지고, 임시 코드가 배포되거나 구조적 부채가 추가되는 경우 해당 변경 사항을 다시 반려합니다.
  • 단위 테스트모든 변경 사항에 대해 저장소 내의 단위 테스트를 자동으로 찾아서 실행합니다.
  • 브라우저 테스트2개 중 3개기본 설정과 다름변경된 내용을 기반으로 브라우저 상에서 사용자 흐름을 실행하여 검증합니다.
  • 번역기본 설정과 다름변경된 문자열이 올바르게 번역되었는지, 그리고 플레이스홀더와 복수형 표현이 일치하는지를 확인합니다.
  • 저장소 검사서식 지정, 파일 크기 검사, 마이그레이션, 통합 테스트 및 보안 스캔 등 사용자가 지정한 커맨드를 직접 실행합니다.
QA
  • 철저한 QA철저함QA 단계에서는 명세서에 따라 실제 증거와 스크린샷을 수집합니다. 이 기능이 비활성화되면 표준 QA 절차가 적용됩니다.

이미 검증된 작업을 검토하세요.

특정 프로젝트에 안티-슬롭 기능을 활성화하면, 작업을 진행하기 전에 어떤 결과가 반환되는지 확인할 수 있습니다.