
HTTP, GraphQL, gRPC, WebSocket 및 SSE를 위한 터미널 API 클라이언트입니다. diff와 버전 관리가 가능한 순수 .http 파일과 함께 스크립트 기반 테스트, 워크플로, 모의(mock), 레코더, CLI 러너를 제공합니다.
터미널을 위한 API-as-code 워크벤치.
resterm.app · 문서
Resterm은 일반 .http/.rest 파일을 중심으로 만들어진 코드 우선 API 클라이언트입니다. 요청은 읽고, diff하고, git에 보관할 수 있는 몇 줄의 텍스트이며, 워크플로와 로컬 목(mock)도 마찬가지입니다. 작업하는 동안 터미널 UI에서 요청을 보내고, resterm run으로 CI에서 동일한 파일을 실행합니다. API가 SSH 배스천 뒤에 있거나 Kubernetes 클러스터 내부에 있다면, Resterm이 터널이나 포트 포워드를 열어줍니다.
gh auth token)@capture와 @assert를 사용한 캡처 및 검사, 그리고 @poll과 @retry@if와 @for-each 지원@rts test 블록@compare@profile.http 파일로 만드는 로컬 목 서버, 실제 트래픽을 요청이나 목으로 변환하는 기록 프록시resterm run, 텍스트·JSON·JUnit 출력과 검사 실패와 TLS 또는 터널 오류를 구분하는 종료 코드$EDITOR에서 파일 열기, 기본 앱에서 응답 본문 열기계정도, 텔레메트리도 없습니다.
[!NOTE] Resterm에는 MCP 서버나 내장 AI 기능이 없습니다. LLM이 Resterm을 사용하도록 돕고 싶다면
resterm skill --agent claude또는resterm skill --agent codex로 스킬을 설치하세요. 다른 에이전트에 대해서는 스킬 문서를 참고하세요. 에이전트에게docs/나 resterm.app/docs를 가리키게 할 수도 있습니다.
추적 및 타임라인
워크플로
프로파일러
설명
RestermScript
macOS 및 Linux:
brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash
Windows:
iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex
Go 1.25 이상 사용 시:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
macOS, Linux 및 Windows용 사전 빌드된 바이너리는 릴리스 페이지에서 확인할 수 있습니다. macOS 바이너리는 macOS 13 Ventura 이상이 필요하며, Linux 바이너리는 glibc 2.32 이상이 필요합니다.
Homebrew 설치를 업데이트하려면 brew upgrade resterm을 실행하세요. 릴리스 바이너리나 스크립트로 설치한 경우 resterm --update를 실행하세요. Go로 설치한 경우 위의 go install 명령을 다시 실행하세요. 자세한 내용은 설치 가이드를 참조하세요.
mkdir my-api && cd my-api
resterm init
resterm
resterm init는 몇 가지 샘플 요청과 이를 응답할 로컬 mock이 포함된 requests.http 파일을 생성하므로, 실제 API 없이도 시험해 볼 수 있습니다. g Shift+M을 눌러 mock 서버를 시작하고, 커서를 요청으로 이동한 뒤 Ctrl+Enter를 눌러 전송하세요. 언제든지 ?를 눌러 도움말을 볼 수 있습니다.
init도 필요하지 않습니다. resterm을 실행하고 URL을 입력하거나 curl 명령을 붙여넣은 뒤 Ctrl+Enter를 누르세요.
같은 파일은 UI 없이도 실행됩니다. 한 터미널에서 mock을 시작하고 다른 터미널에서 요청을 실행하세요:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
Resterm은 표준 .http 형식을 읽고, 그 위에 설정 및 자동화를 위한 # @ 지시문을 추가합니다:
# @setting base-url https://api.example.com/v1/
### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.meta.name == "dev"
# @assert response.statusCode == 201
# @rts test "user has an id"
> if response.json().id == null {
> t.error("no id for", name)
> }
POST users
Content-Type: application/json
{"name":"{{= name }}"}
첫 번째 요청 앞의 @setting은 파일 전체에 적용됩니다. ###는 새 요청을 시작합니다. 요청 위의 지시문은 요청을 반복하거나, 건너뛰거나, @assert 또는 RestermScript 코드의 @rts test 블록으로 응답을 검사할 수 있습니다.
더 많은 예시는 _examples/에 있으며, 모든 지시문은 요청 파일 레퍼런스에 나열되어 있습니다.
전체 문서는 resterm.app/docs에 있습니다. 시작하기 좋은 곳은 워크플로, 모의 서버, 기록, CLI 및 RestermScript입니다.
TUI 내에서 :help <topic>은 내장 매뉴얼을 열고, :docs <topic>은 웹사이트에서 동일한 페이지를 엽니다.
자신의 Go 코드에서 요청 파일을 실행하려면 headless 패키지를 참조하세요.
기능을 제안하려면 Ideas 카테고리에서 토론을 시작하세요. 버그를 보고하려면 이슈를 열어주세요. 코드를 기여하려면 풀 리퀘스트를 열어주세요.
버그를 보고하고 기능을 제안하는 것도 코드만큼이나 큰 도움이 됩니다.
Resterm은 항상 무료이며 오픈 소스입니다. 제 작업이 마음에 드신다면 GitHub에서 후원하실 수 있습니다.