TRAMS AI 프로젝트 문의
AI 뽀개기

Cursor 같은 서비스 제작하기: 관련 코드 탐색·수정·테스트 연결 기능 제작법

Tree-sitter로 관련 코드를 찾고 Claude API로 변경안을 작성한 뒤 격리 테스트와 GitHub 검토 요청으로 연결하는 AI 코드 에디터의 구현 흐름을 설명합니다.

핵심 요약

1. 요청에 맞는 파일을 찾아 수정안과 테스트 근거를 함께 제시하는 AI 코드 에디터를 만듭니다. 2. Tree-sitter·코드 검색, Claude API, 격리 실행 환경·Playwright, GitHub REST API를 단계별로 연결합니다. 3. 문맥 선별, 변경 충돌 확인, 실행 권한, 테스트 판정과 사용자 승인 흐름은 자체 개발합니다.

요청에서 관련 함수와 파일을 찾는 기능 만들기

Cursor 같은 도구의 핵심 가치는 개발자가 저장소를 이해하고 여러 파일의 변경을 검토하는 시간을 줄이는 데 있습니다. 여기서는 같은 가치를 제공할 구현안을 살펴봅니다. 아래 구성요소는 유사 기능의 대안이며 Cursor의 실제 내부 구성을 뜻하지 않습니다.

입력은 사용자의 수정 요청과 접근 가능한 저장소입니다. Tree-sitter로 소스의 구문 구조를 읽고 함수·클래스와 파일 위치를 색인합니다. Tree-sitter 코드 검색 구현에서 중요한 점은 구문 분석과 관련성 판단의 역할을 구분하는 것입니다. 요청과 연결된 파일을 찾는 검색, 호출 관계의 보완, 문맥 선별은 별도 코드로 구성합니다.

예를 들어 결제 실패 메시지를 바꾸는 요청이라면 화면 문구뿐 아니라 오류를 전달하는 함수와 테스트를 후보로 묶습니다. 출력에는 관련 파일·선정 이유·코드 위치를 담아 개발자가 검색 범위를 확인하게 합니다.

F33 서비스 공개 이미지 1
출처: cursor.com

변경 계획을 검토 가능한 코드 수정안으로 만들기

선택한 코드, 요구사항, 프로젝트 규칙을 Claude API에 전달해 계획과 변경안을 생성합니다. Claude API 코딩 에이전트가 내놓은 변경은 파일별 차이로 보여주고, 원본 파일의 버전을 함께 기록합니다. 생성 도중 사용자가 수정한 파일과 충돌하면 새 원본으로 다시 검토하게 합니다.

AI 다중 파일 수정에서는 각 파일이 따로 그럴듯한 것만으로 충분하지 않습니다. 함수 인자나 데이터 형식을 바꿨다면 호출하는 쪽도 맞아야 합니다. 자체 로직이 변경 대상 경로를 제한하고, 패치 적용 가능 여부와 관련 파일의 누락을 검사한 뒤 변경 후보를 저장합니다.

F33 서비스 공개 이미지 3
출처: cursor.com

격리 테스트로 변경 결과 확인하기

변경 코드와 테스트 시나리오를 격리된 실행 환경에 전달합니다. 빌드·단위 테스트는 해당 프로젝트 도구로 실행하고 웹 화면 동작은 Playwright 테스트 자동화로 확인합니다. Playwright는 브라우저 동작을 검사하는 도구이며 모든 코드의 정확성을 대신 판정하지는 않습니다.

AI 생성 코드 테스트 결과에는 성공 여부뿐 아니라 실행 명령, 오류 위치와 로그를 연결합니다. 자체 로직은 허용 명령, 실행 시간, 네트워크 접근과 자원 한도를 관리합니다. 실패한 결과로 수정안을 다시 만들 때에도 재시도 횟수와 변경 범위를 정해 무한 수정에 빠지지 않도록 합니다.

Cursor 유사 기능 구현 기술 요약
자료: 트램스 AI · 유사 기능 구현 기술 요약

변경 근거를 검토 요청과 연결하기

사용자가 선택한 변경과 테스트 결과를 GitHub REST API로 저장소의 검토 흐름에 연결합니다. GitHub PR 자동 생성에는 변경 목적, 영향을 받는 파일, 실제 실행한 테스트 결과를 담습니다. 저장소 권한과 대상 브랜치는 서버에서 검사하고 중복 요청은 같은 검토 건으로 연결합니다.

완성 기준은 코드가 생성됐다는 사실이 아니라 요청한 동작을 검토할 자료가 준비됐는가입니다. 원래 요구, 변경 전후 차이, 실행 결과를 한 화면에 모으고 사용자가 적용 여부를 판단하게 설계합니다. 레거시 코드 분석부터 시작해 작은 변경과 검증을 반복하는 방식으로 기능 범위를 넓힐 수 있습니다.

개발팀의 저장소 구조와 반복되는 수정 업무를 기준으로 검색·코드 변경·검토 기능의 범위를 정하면 실제 업무에 맞는 코딩 도구를 제작할 수 있습니다. 트램스 AI 제작 문의: https://trams.co.kr/ai-si/contact/#inquiry

참고 자료

  1. https://cursor.com/
  2. https://cursor.com/docs
  3. https://cursor.com/docs/agent/overview
  4. https://cursor.com/learn/reviewing-testing
  5. https://cursor.com/docs/agent/agent-review
  6. https://cursor.com/docs/integrations/github
  7. https://tree-sitter.github.io/tree-sitter/
  8. https://platform.claude.com/docs/en/agents-and-tools/tool-use/how-tool-use-works
  9. https://playwright.dev/docs/browser-contexts
  10. https://docs.github.com/en/rest/pulls/pulls#create-a-pull-request
  11. https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event
TRAMS AI

비슷한 AI 서비스를
사업에 적용하고 싶으신가요?

아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.

프로젝트 문의