BrassCoders의 출력물을 모든 AI 코딩 어시스턴트에 전달하기
요약
BrassCoders의 스캔 결과를 표준 YAML 형식으로 저장하여 Claude Code, Cursor, Continue 등 다양한 AI 코딩 어시스턴트에서 공통 컨텍스트로 활용하는 방법을 소개합니다. 특정 에디터에 종속되지 않는 'YAML-First' 패턴을 통해 AI가 발견 단계가 아닌 확인 및 수정 단계부터 즉시 작업을 시작할 수 있게 합니다.
핵심 포인트
- 표준 YAML 형식을 사용하여 에디터 간 호환성 확보
- Claude Code는 프로젝트 컨텍스트로 자동 인식
- Cursor는 @file 참조를 통해 구조화된 결과물 활용 가능
- 심각도 순 정렬 및 줄 번호 포함으로 AI의 작업 효율 극대화
BrassCoders는 매 스캔 후에 .brass/ai_instructions.yaml 파일을 작성합니다. 이는 독점적인 인코딩이 없는 일반 YAML 형식이며, 별도의 플러그인이 필요하지 않습니다. Claude Code는 프로젝트 디렉토리에서 이를 자동으로 인식합니다. Cursor 및 Continue 사용자는 이를 컨텍스트 (context) 파일로 참조할 수 있습니다. 세 가지 경우 모두 형식은 동일합니다: 심각도(severity) 순으로 정렬된 결과물, 그리고 각 결과물은 파일 경로, 줄 번호(line number), 그리고 수정 사항(remediation note)을 포함합니다.
한 번의 스캔, 하나의 파일, 세 개의 에디터.
YAML-First 패턴이란 무엇인가
BrassCoders는 Python 코드베이스를 스캔하고, 12개의 정적 분석 스캐너(static-analysis scanners)를 실행한 뒤, 심각도 순으로 정렬된 결과 파일을 .brass/ai_instructions.yaml에 작성합니다. 이 파일은 인코딩이나 독점적인 구조가 없는 일반 텍스트이므로, 로컬 파일을 읽을 수 있는 모든 AI 어시스턴트가 이를 컨텍스트 (context)로 사용할 수 있습니다.
이 패턴은 다음과 같습니다: 에디터를 열기 전에 스캔하고, 에디터가 해당 파일을 가리키게 한 뒤, 스캐너가 찾아낸 내용을 분류(triage)하는 것입니다. AI 어시스턴트는 심각도 순서, 줄 번호, 그리고 수정 사항을 읽고 — 발견(discovery) 단계가 아닌 확인(confirmation) 단계부터 시작합니다. 이 방식은 형식이 특정 에디터의 기능에 의존하지 않기 때문에 모든 에디터에서 작동합니다. 그것은 파일이며, 에디터는 파일을 읽기 때문입니다.
Claude Code: 자동 프로젝트 컨텍스트
BrassCoders는 프로젝트 디렉토리에 .brass/ai_instructions.yaml을 작성하며, Claude Code는 프로젝트 디렉토리의 파일들을 컨텍스트 (context)로 자동 인식합니다. 추가적인 설정 없이도 결과물이 모델 앞에 놓이게 됩니다.
brasscoders --offline scan /path/to/project를 실행한 다음, 동일한 디렉토리에서 Claude Code를 엽니다. .brass/ai_instructions.yaml 파일은 해당 세션의 프로젝트 컨텍스트 (context)로 사용할 수 있습니다. Claude Code에게 결과물을 해결하거나 분류하도록 요청하면, Claude Code는 파일을 읽고, 심각도가 높은(critical-severity) 항목을 먼저 식별한 뒤, 심각도 순서에 따라 작업을 수행합니다.
결과 파일은 세션 간에도 유지됩니다. 동일한 디렉토리에서 Claude Code를 다시 열 때, 다시 스캔하여 표시된 문제를 수정하지 않았다면 파일은 여전히 그 자리에 있습니다. 채팅 프롬프트(chat prompt)와 달리, 에디터를 닫아도 결과물이 초기화되지 않습니다.
Cursor: @file 참조
Cursor는 채팅 세션 동안 로컬 파일의 내용을 AI 컨텍스트 (context)에 추가하는 @file 참조를 지원합니다. 이를 .brass/ai_instructions.yaml로 지정하면, Claude Code가 자동으로 읽는 것과 동일하게 심각도 순으로 정렬된 결과물 큐 (findings queue)를 Cursor AI에게 제공할 수 있습니다.
Cursor 채팅 세션에서 @file .brass/ai_instructions.yaml을 입력하여 결과물을 컨텍스트로 포함시키세요. Cursor AI는 이 파일을 구조화된 결과물 목록으로 읽어 들여, 가장 심각도가 높은 결과물을 우선적으로 처리할 수 있으며, 플래그가 지정된 위치로 이동하는 데 사용할 수 있는 줄 번호 (line numbers)를 함께 전달받습니다. 이는 Claude Code의 워크플로우와 동일한 패턴입니다. 차이점은 에디터가 자동으로 인식하는 대신 사용자가 수동으로 컨텍스트 참조를 추가한다는 점입니다.
실무적인 참고 사항: 결과물을 수정한 후 새로운 Cursor 세션을 열기 전에 brasscoders --offline scan을 다시 실행하세요. .brass 파일은 자동으로 업데이트되지 않습니다. 수정된 결과물은 스캔이 다시 실행되어 파일을 덮어쓰기 전까지 파일에 그대로 남아 있습니다.
Continue: 채팅에서의 컨텍스트
Continue는 채팅 패널에서 @file 참조를 지원하며, 이를 통해 질문을 위한 컨텍스트로 모든 로컬 파일을 포함할 수 있습니다. .brass/ai_instructions.yaml도 동일한 방식으로 작동합니다. Continue 채팅에서 @file을 입력하고 결과물 파일로 이동하면 됩니다.
Continue를 VS Code의 공유 AI 어시스턴트로 사용하는 팀의 경우, 이 방식을 통해 각 머신에서 스캔을 다시 실행할 필요 없이 BrassCoders의 결과물을 세션 전체에서 공유할 수 있습니다. 한 사람이 brasscoders --offline scan을 실행하고 .brass/ai_instructions.yaml 파일을 브랜치에 커밋하면, 팀원들은 각자의 Continue 세션에서 이를 참조할 수 있습니다. 이렇게 하면 동일한 브랜치에서 작업하는 모든 사람에게 일관된 결과물이 제공됩니다.
컨텍스트 제공자 (context-provider) 동작은 릴리스에 따라 진화해 왔으므로, 사용 중인 버전의 현재 @file 구문은 Continue 문서를 확인하세요.
세 가지 도구 모두에서 일관된 점
어떤 에디터가 이를 소비하든 구조는 동일합니다: 심각도 순서(severity ordering), 라인 앵커(line anchors), 수정 지침(remediation directions). BrassCoders는 파일을 작성하기 전에 심각한(critical) 결과물을 상위(high) 결과물 위에, 상위 결과물을 중간(medium) 결과물 위에 배치하여 정렬합니다. 해당 파일을 읽는 모든 에디터는 그 우선순위 순서를 상속받습니다.
행 번호(line number) 필드는 세 가지 도구 모두에서 동일하게 작동합니다: AI 어시스턴트가 표시된 행 번호를 읽고, 해당 위치에서 소스 컨텍스트(source context)를 가져온 다음, 실제 코드를 바탕으로 해당 결과물이 실제인지 여부를 결정합니다. 파일 경로(file path) 필드도 동일한 방식으로 작동합니다: 이는 프로젝트 루트(project root)로부터의 상대 경로이며, 프로젝트 디렉토리 내에서 작동하는 모든 도구가 읽을 수 있습니다.
수정(remediation) 필드는 세 가지 모두 동일합니다: 스캐너가 매칭한 패턴을 기반으로, 어떤 도구가 파일을 읽기 전에 작성된 수정 지침입니다. AI 어시스턴트는 이 수정 지침을 읽고 코드를 읽은 다음, 수정 사항을 생성하거나 해당 결과물을 오탐(false positive)으로 간료하여 기각합니다.
한 번의 스캔. 하나의 파일. 파일을 읽는 모든 에디터.
pip install brasscoders
brasscoders --offline scan /path/to/your/project
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기