본문으로 건너뛰기
ReviewRamble

주간 브리프

AI 리뷰를 받은편지함으로.

  • 도구, 모델, MCP 서버, 저장소의 새 리뷰(결론부터)
  • 변경이 있을 때 다시 확인한 가격과 평점
  • 새로 발행된 분석 글

모델, 에이전트, MCP 서버, 그리고 정말 시간을 들일 만한 도구.

일주일에 한 통입니다. 각 브리프의 링크로 구독을 해지할 수 있습니다. 이메일 사용 방식

ast-grep

구문 트리를 기준으로 코드를 검색, 린트, 재작성하는 Rust CLI입니다. 28개 언어를 지원하며 사람과 코딩 에이전트 모두 쓸 수 있습니다.

리뷰어: ReviewRamble editors · 업데이트

GitHub에서 보기 오픈 소스

평점

4.5/5

ast-grep은 코딩 에이전트가 sed에 손대기 전에 쥐여 줄 구조 검색 도구입니다. 단, 구문 일치를 의미 분석으로 착각하지 않는다는 전제에서입니다.

ast-grep의 개요

ast-grep은 텍스트가 아니라 구조로 코드를 찾습니다. `$A && $A()`처럼 평범한 코드처럼 보이는 패턴을, 바뀌는 부분은 자리표시자로 두고 쓰면 공백이나 변수 이름과 상관없이 그 모양을 가진 모든 곳을 코드베이스에서 찾아냅니다. 같은 패턴으로 YAML 린트 규칙(`ast-grep scan`), 규칙 테스트, 재작성을 실행하며, 재작성은 한꺼번에 또는 `--interactive`로 하나씩 적용할 수 있습니다. 파싱에는 tree-sitter를 쓰고 Bash와 C부터 TypeScript와 Zig까지 28개 언어를 기본 지원합니다.

Herrington Darkholme이 이끄는 이 프로젝트는 MIT 라이선스이고 Rust로 작성되었으며 GitHub 스타는 약 16,600개입니다. 릴리스 0.51.2는 2026년 11월 11일에 나왔습니다. Homebrew, npm, pip, cargo, MacPorts, Nix로 설치할 수 있고 JavaScript, Python, WebAssembly API, 편집기용 언어 서버, JSON 출력 모드도 제공합니다. 코딩 에이전트를 위해서는 `outline` 명령(0.44.0부터 알파 프리뷰), 공식 에이전트 스킬, 실험적 MCP 서버가 있습니다.

ast-grep, 쓸 만한 가치가 있습니까?

대부분의 리팩터링에서 텍스트 검색은 맞지 않는 도구이고, 에이전트는 사람보다 더 빨리 그 실수를 합니다. 함수 호출을 바꾸는 정규식은 주석, 문자열, 우연히 이름이 같은 변수 속 같은 단어까지 바꿉니다. ast-grep은 먼저 파일을 파싱하므로 패턴은 그 모양의 실제 코드에만 일치합니다. 그래서 에이전트 구성에서 흔한 의존성이 되었습니다. npm은 2026년 11월 12일까지 30일 동안 @ast-grep/cli 다운로드를 약 960만 건으로 집계했는데, 이 수치에는 CI와 전이적 설치가 포함되며 사람이 직접 명령을 친 횟수만은 아닙니다.

설계는 패턴을 읽기 쉽게 유지합니다. 질의 언어를 배우는 대신 메타변수가 들어간 코드를 쓰고, 패턴만으로 부족할 때 YAML 규칙(inside, has, not, any)을 더합니다. 규칙에는 수정안, 심각도, 테스트를 붙일 수 있어 일회성 검색이 프로젝트 린터가 됩니다. 릴리스 주기는 꾸준해 0.51.1이 11월 2일, 0.51.2가 그로부터 9일 뒤에 나왔고, 기록에는 100명이 넘는 기여자가 있습니다.

주의할 점: 구문만 봅니다. FAQ는 스코프, 타입, 제어 흐름, 데이터 흐름, taint 분석이 없다고 분명히 밝힙니다. 따라서 특정 타입의 변수를 찾거나 사용자 입력을 데이터베이스 호출까지 추적할 수 없습니다. 그런 보안 규칙에는 Semgrep이나 CodeQL이 더 멀리 갑니다. 패턴은 tree-sitter가 파싱할 수 있는 코드여야 해서 단독 JSON 키 같은 조각에서 막히기 쉽고, Linux에서는 짧은 별칭 `sg`가 시스템의 setgroups 명령과 충돌합니다. MCP 서버는 실험적이라고 표시되어 있고 Python과 uv로 실행되므로, 대부분의 에이전트에는 CLI와 스킬이 더 낫습니다.

결론: ast-grep은 함수 호출이 어디서 시작하고 끝나는지 아는 grep이라고 보면 됩니다. 모양이 있는 검색과 재작성은 모두 에이전트에게 맡기고, 의미에 관한 질문에는 타입을 이해하는 도구를 남겨 두는 편이 맞습니다.

제 역할을 하는 곳

  • 대규모 TypeScript 모노레포를 맡은 플랫폼 엔지니어

    주석이나 문자열은 건드리지 않고 폐기 예정 로깅 호출을 모두 교체

    수정안이 붙은 패턴 하나를 쓰고 `ast-grep run --interactive`로 확인한 뒤 트리 전체에 적용합니다. 대부분의 저장소에서 로컬로 몇 초 만에 끝나고 비용이 없습니다. 타입에 의존하는 부분은 여전히 컴파일러가 필요합니다.

  • CI에서 사내 규칙을 강제하는 테크 리드

    내부 API를 잘못 호출하는 새 코드를 막기

    sgconfig.yml 프로젝트에 YAML 규칙을 추가하고 각각 테스트 케이스를 붙인 뒤 파이프라인에서 `ast-grep scan`을 실행합니다. 규칙은 저장소에 있고 코드처럼 리뷰되며 라이선스 비용이 없습니다.

  • 낯선 코드베이스에서 Claude Code를 쓰는 개발자

    에이전트가 정규식 대신 구조로 코드를 찾고 편집하게 하기

    CLI와 공식 스킬을 설치해 에이전트가 ast-grep 규칙을 쓰게 하고, 파일 전체를 읽기 전에 `ast-grep outline`으로 심볼 목록을 보게 합니다. 엉뚱한 편집이 줄어듭니다. outline은 아직 알파 프리뷰입니다.

도입 전 확인할 점

설정
`brew install ast-grep`, `npm i @ast-grep/cli -g`, `pip install ast-grep-cli`, `cargo install ast-grep --locked` 중 하나로 설치하며 첫 검색까지 1분 정도 걸립니다. `ast-grep new`로 규칙 프로젝트 골격을 만듭니다.
연동
28개 내장 언어와 tree-sitter를 통한 사용자 언어, VS Code 등 편집기용 언어 서버, JSON 출력, JavaScript(napi), Python, WebAssembly API, 온라인 playground, ast-grep/agent-skill 플러그인, 실험적 ast-grep-mcp 서버.
데이터와 개인정보
모두 사용자 컴퓨터에서 로컬 파일을 대상으로 실행되며 계정이나 네트워크 서비스가 관여하지 않습니다. MIT 라이선스입니다.
대규모 사용 시 비용
무료이며 유료 등급이 없습니다. 메인테이너는 GitHub Sponsors를 받습니다. 대규모에서의 실제 비용은 규칙을 쓰고 테스트하는 일입니다.
제한
구문만 다루며 타입, 스코프, 제어 흐름, 데이터 흐름, taint 분석은 없습니다. 패턴은 파싱 가능한 코드여야 합니다. `outline`은 알파 프리뷰라 지원 언어가 바뀔 수 있습니다. 마지막 확인 시점에 열린 issue와 pull request는 약 46개입니다.

좋은 점

  • 자리표시자가 있는 평범한 코드로 패턴을 작성
  • tree-sitter 기반 28개 내장 언어
  • 검색, 테스트가 딸린 린트 규칙, 재작성을 하나의 바이너리로
  • JavaScript, Python, WebAssembly API와 언어 서버

아쉬운 점

  • 타입, 스코프, 데이터 흐름 분석 없음
  • 패턴이 유효한 코드여야 해서 처음 쓰는 사람이 헷갈림
  • 별칭 `sg`가 Linux 시스템 명령과 충돌
  • MCP 서버는 아직 실험적

추천 대상

컴파일러 플러그인을 작성하지 않고 큰 코드베이스에서 정확하고 반복 가능한 검색과 codemod가 필요한 개발자와 코딩 에이전트.

ast-grep 대안

ast-grep: 자주 묻는 질문

ast-grep, 쓸 만한 가치가 있습니까?
ast-grep은 코딩 에이전트가 sed에 손대기 전에 쥐여 줄 구조 검색 도구입니다. 단, 구문 일치를 의미 분석으로 착각하지 않는다는 전제에서입니다. 평점은 5점 만점에 4.5점입니다.
ast-grep의 가격은 얼마입니까?
무료 오픈 소스(MIT)입니다.
ast-grep의 단점은 무엇입니까?
타입, 스코프, 데이터 흐름 분석 없음; 패턴이 유효한 코드여야 해서 처음 쓰는 사람이 헷갈림; 별칭 `sg`가 Linux 시스템 명령과 충돌; MCP 서버는 아직 실험적.
ast-grep에 적합한 사람은 누구입니까?
컴파일러 플러그인을 작성하지 않고 큰 코드베이스에서 정확하고 반복 가능한 검색과 codemod가 필요한 개발자와 코딩 에이전트.
팀이나 프로덕션 환경에서 ast-grep의 비용은 얼마입니까?
무료이며 유료 등급이 없습니다. 메인테이너는 GitHub Sponsors를 받습니다. 대규모에서의 실제 비용은 규칙을 쓰고 테스트하는 일입니다.
ast-grep에 회사 데이터를 맡겨도 안전합니까?
모두 사용자 컴퓨터에서 로컬 파일을 대상으로 실행되며 계정이나 네트워크 서비스가 관여하지 않습니다. MIT 라이선스입니다.
ast-grep의 가장 좋은 대안은 무엇입니까?
저희가 리뷰한 것 중 가장 가까운 대안은 grepai, Repowise 및 jevgrep입니다.

답변 확인일: 2026년 11월 13일.

ast-grep 개발사입니까? 이 평점을 사이트에 표시하십시오ReviewRamble 평점: ast-grep, 5점 만점에 4.5점