Claude Code의 파일 편집 흐름에서 배운 것들

배경

최근 프로젝트에 Claude Code를 도입했다. Cursor나 Copilot과 달리 터미널 기반으로 동작하며, MCP(Model Context Protocol)를 통해 외부 도구와 통신한다는 점이 특징이다.

파일 편집 흐름의 차이

기존 도구들은 에디터 내에서 인라인으로 코드를 제안했다. 반면 Claude Code는 다음과 같은 방식으로 동작했다.

  1. 파일 전체 내용을 읽어 컨텍스트 파악
  2. 변경이 필요한 부분을 diff 형식으로 제안
  3. 승인 후 파일에 반영

이 방식의 장점은 변경 사항을 명확히 확인할 수 있다는 것이었다. 특히 여러 파일을 동시에 수정할 때 유용했다.

# Claude Code 실행 예시
$ claude-code "API 응답 타입에 userId 필드 추가"

# 분석 후 다음 파일들의 변경 제안
- types/api.ts
- services/user.service.ts
- components/UserProfile.tsx

MCP를 활용한 컨텍스트 관리

MCP 서버를 통해 프로젝트 특화 컨텍스트를 제공할 수 있었다. 예를 들어 우리 팀의 코딩 컨벤션, API 스펙 문서, DB 스키마를 MCP 서버로 구성했다.

// mcp-server.ts
import { Server } from '@modelcontextprotocol/sdk';

const server = new Server({
  name: 'project-context',
  version: '1.0.0',
});

server.setRequestHandler('resources/list', async () => {
  return {
    resources: [
      { uri: 'convention://coding-style', name: 'Coding Convention' },
      { uri: 'schema://database', name: 'DB Schema' },
    ],
  };
});

이를 통해 Claude Code가 프로젝트 맥락을 이해하고 더 정확한 제안을 할 수 있었다.

아쉬운 점

터미널 기반이라 에디터와의 통합이 부족했다. VSCode에서 바로 확인하고 수정하는 워크플로우에 익숙해서인지 왔다갔다 하는 게 번거로웠다. 에디터 플러그인이 나온다면 훨씬 나을 것 같다.

또한 실시간 코드 제안보다는 배치 형태의 작업에 적합했다. 리팩토링이나 반복 작업에는 좋지만, 빠르게 코드를 작성할 때는 Copilot이 더 효율적이었다.

정리

Claude Code는 기존 AI 코딩 도구와 다른 접근 방식을 제시한다. MCP를 통한 확장성과 명확한 변경 관리가 강점이다. 당분간은 리팩토링과 대규모 코드 변경 작업에 활용할 예정이다.