소개
arf console는 Rust로 작성된 크로스 플랫폼 R 콘솔(대체 R 프론트엔드)로, eitsupi가 GitHub에서 MIT 라이선스로 공개 개발하고 있습니다. 단일 바이너리로 별도의 런타임 의존성 없이 빠르게 시작되며, R과의 대화형 작업을 위한 풍부한 편집·완성·기록 환경을 목표로 합니다. 현재 활발히 개발 중인 단계로, 설정 파일과 기록 파일 형식은 추후 버전에서 변경될 수 있다고 명시되어 있습니다.
상세정보
편집 환경과 입력 보조
- Vi와 Emacs 편집 모드를 모두 지원하며 사용자 정의 키맵(예:
Alt+-로<-,Alt+P로|>)을 설정할 수 있습니다. - 다중 행 편집에서 들여쓰기가 유지되며, 괄호와 따옴표는 스마트 스킵 동작과 함께 자동으로 닫힙니다.
- R 객체·함수·문자열 안의 파일 경로에 대해 탭 완성을 제공하고, fzf 스타일 기록 검색을
Ctrl+R로 열어 radian 또는.Rhistory에서 가져온 기록까지 함께 탐색할 수 있습니다. - 직전 명령의 성공/실패 상태를 프롬프트에 표시하여 오류를 빠르게 인지할 수 있습니다.
도움말·구문 강조·Reprex
:help또는:h메타 명령으로 설치된 모든 패키지의 도움말을 대상으로 하는 퍼지 검색 브라우저를 열 수 있습니다.- tree-sitter 기반 구문 강조가 적용되며 색상은 설정 파일로 변경할 수 있습니다.
- Reprex 모드는
off,on,format의 세 가지 상태를 가지며,format상태에서 Air 0.9.0 이상 또는 Arity 0.18.0 이상을 포맷터로 사용할 수 있습니다.
셸 모드와 메타 명령
:shell로 셸 모드에 진입하고:r로 R 모드로 돌아올 수 있으며,:system <cmd>로 셸 명령을 인라인 실행할 수도 있습니다.:switch <버전>은 rig가 설치된 환경에서 R 버전을 바꿔 재시작하고,:restart는 R 세션을 다시 시작합니다.- 디렉터리 이동 명령(
:cd,:pushd,:popd), 기록 브라우저/초기화/스키마 출력,:info/:session같은 세션 정보 명령,:commands로 명령 목록 확인이 가능합니다.
기록 관리와 IPC/헤드리스
- SQLite 기반 영구 기록을 지원하며 radian, R의
.Rhistory, 다른 arf 데이터베이스에서 가져오기/내보내기가 가능합니다. - IPC 서버와 헤드리스 모드를 통해 AI 에이전트, CI, 에디터 확장에서 R 세션과 상호작용할 수 있으며,
arf ipc eval은 허용목록에 등록된 함수만 무음 평가하도록 구성할 수 있습니다.
설치 방법
- Windows에서는 winget을 사용해 설치할 수 있습니다. 명령 프롬프트 또는 PowerShell에서
winget install --id eitsupi.arf --exact를 실행하면 됩니다. - Linux/macOS에서는 GitHub Releases에서 제공하는 셸 인스톨러(
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/eitsupi/arf/releases/latest/download/arf-console-installer.sh | sh)로 설치할 수 있습니다. - Windows에서는 Scoop(
scoop bucket add r-bucket https://github.com/cderv/r-bucket.git,scoop install r-bucket/arf), macOS/Linux에서는 Homebrew(brew install arf), Arch Linux/Manjaro에서는 AUR(yay -S arf-bin)도 지원됩니다. - 소스에서 직접 빌드하려면
cargo install --git https://github.com/eitsupi/arf.git를 사용할 수 있습니다. 단, Windows에서는 crates.io의cargo install arf-console가 권장되지 않으며, VT 입력 처리 관련 업스트림 수정 대기 중이라는 점이 README에 명시되어 있습니다.
기본 사용 흐름
- 설치가 끝나면 터미널에서
arf명령을 입력하여 콘솔을 시작합니다. - rig가 설치된 환경에서는
arf --with-r-version 4.4처럼 사용할 R 버전을 지정할 수 있고,arf --reprex=on으로 재현 가능한 예제 모드로 시작할 수도 있습니다. - R 프롬프트에서 일반적인 R 코드를 입력하고 실행할 수 있으며,
:h또는:help로 도움말 퍼지 검색을,Ctrl+R로 기록 검색을 열 수 있습니다.
설정 파일 위치
- Linux:
~/.config/arf/arf.toml - macOS:
~/Library/Application Support/arf/arf.toml - Windows:
%APPDATA%arfarf.toml - 기본 설정은
arf config init으로 생성할 수 있으며, 편집 모드, 키 단축키, 프롬프트 형식({status},{version},{cwd}플레이스홀더 사용), 구문 강조 색상, reprex 포맷터 등을 TOML로 정의합니다.
활용 예시
- 데이터 분석 중 R 객체와 파일 경로에 대한 탭 완성과
Ctrl+R기록 검색을 활용하여 이전 표현식을 빠르게 재실행할 수 있습니다. - 재현 가능한 스크립트를 작성할 때
--reprex=format으로 시작해 Air 또는 Arity 포맷터를 적용한 출력 형식의 예제를 만들 수 있습니다. - AI 에이전트나 CI 환경에서 헤드리스 R 세션을 띄우고
arf ipc eval로 코드 평가 결과를 받아 자동화 파이프라인에 연결할 수 있습니다. - 기존 radian 사용자는
arf history import --from radian로 명령 기록을 그대로 가져와 작업 환경을 이전할 수 있습니다.
제한·라이선스·확인사항
- 라이선스는 MIT이며, 자세한 전문은 저장소의 LICENSE.md에서 확인할 수 있습니다.
- 개발자는 arf가 활발히 개발 중이며 설정 파일과 기록 파일 형식이 안정화되지 않아 예고 없이 변경될 수 있다고 명시하고 있습니다.
- Windows에서는
cargo install arf-console(crates.io 경유)로 설치하는 방식이 권장되지 않으며, 괄호 붙여넣기 등 VT 입력 처리 관련 수정이 업스트림 의존성에 남아 있습니다. - 오류 감지는 R의
options(error = ...)에 의존하므로, 사용자가 별도의 오류 핸들러를 지정한 경우 arf의 핸들러가 우선적으로 동작합니다.
시스템 요구사항
Array


