Claude Code 및 기타 하네스를 위한 멀티 하네스 플러그인 마켓플레이스입니다.
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
pure
Pure는 git 브랜치, 변경 상태, 푸시되지 않은 커밋, 종료 상태, 명령 실행 시간을 비동기 검사와 함께 보여주는 최소하고 빠른 ZSH 프롬프트 테마입니다.
- Kind
- terminal
- Platform
- zsh
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-31.
Pure
예쁘고, 미니멀하고, 빠른 ZSH 프롬프트
개요
대부분의 프롬프트는 어수선하고 못생겼으며 느립니다. 우리는 시각적으로 보기 좋으면서도 방해되지 않는 무언가를 원했습니다.
왜?
완벽한 프롬프트 문자를 제공합니다.
제작자는 그것을 찾기 위해 전체 유니코드 범위를 살펴봤습니다.
git 브랜치와 그것이 변경되었는지 여부를 표시합니다(* 표시).
푸시/풀되지 않은 git 커밋이 있을 때 위/아래 화살표로 표시합니다. (확인은 비동기적으로 수행됩니다!)
마지막 명령이 0으로 종료되지 않으면 프롬프트 문자가 빨간색으로 바뀝니다.
명령 실행 시간이 설정된 임계값을 초과하면 표시됩니다.
사용자 이름과 호스트는 SSH 세션이나 컨테이너에 있을 때만 표시됩니다.
제목에 현재 경로를 표시하고, 프로세스가 실행 중일 때는 현재 폴더와 명령을 표시합니다.
역방향 프롬프트 기호로 VI 모드 표시를 지원합니다(Zsh 5.3+).
자신만의 커스텀 프롬프트를 만들기 위한 훌륭한 출발점이 됩니다.
설치
npm(yarn 아님) 또는 수동으로 설치할 수 있습니다. Git 2.15.2+ 및 ZSH 5.2+가 필요합니다. 이전 버전의 ZSH도 작동하는 것으로 알려져 있지만 권장하지 않습니다.
npm
npm install --global pure-prompt
그게 전부입니다. 시작하기로 건너뛰세요.
prompt -l이 pure를 나열하지 않으면 promptinit 전에 .zshrc에 다음을 추가하세요:
fpath+=( " $( npm root -g ) /pure-prompt " )
Homebrew
brew install pure
Homebrew의 ZSH(brew install zsh 및 $(brew --prefix)/bin/zsh)를 사용하지 않는 경우, $HOME/.zshrc의 fpath에 site-functions도 추가해야 합니다:
fpath+=( " $( brew --prefix ) /share/zsh/site-functions " )
수동 설치
이 저장소를 어딘가에 클론하세요. 여기서는 $HOME/.zsh/pure를 사용하겠습니다.
mkdir -p " $HOME /.zsh "
git clone https://github.com/sindresorhus/pure.git " $HOME /.zsh/pure "
클론한 저장소의 경로를 $HOME/.zshrc의 $fpath에 추가하세요.
# .zshrc
fpath+=( $HOME /.zsh/pure)
시작하기
프롬프트 시스템을 초기화하고(아직 하지 않았다면) pure를 선택하세요:
# .zshrc
autoload -U promptinit ; promptinit
prompt pure
옵션
옵션
설명
기본값
PURE_CMD_MAX_EXEC_TIME
프로세스가 종료될 때 실행 시간이 표시되기 전까지의 최대 실행 시간입니다.
5초
PURE_GIT_PULL
Pure가 현재 Git 원격이 업데이트되었는지 확인하는 것을 방지합니다.
1
PURE_GIT_UNTRACKED_DIRTY
변경 여부 확인 시 추적되지 않은 파일을 포함하지 않습니다. 주로 큰 저장소(예: WebKit)에서 유용합니다.
1
PURE_GIT_DELAY_DIRTY_CHECK
git status가 5초 이상 걸릴 때 git 변경 확인을 지연하는 시간(초)입니다.
1800초
PURE_PROMPT_SYMBOL
프롬프트 기호를 정의합니다.
❯
PURE_PROMPT_VICMD_SYMBOL
vicmd 키맵(VI 모드)이 활성화되어 있을 때 사용되는 프롬프트 기호를 정의합니다.
❮
PURE_SUSPENDED_JOBS_SYMBOL
백그라운드에서 실행 중인 작업이 있음을 나타내는 기호를 정의합니다. 비활성화하려면 비워 두세요.
✦
PURE_GIT_DOWN_ARROW
git 아래쪽 화살표 기호를 정의합니다.
⇣
PURE_GIT_UP_ARROW
git 위쪽 화살표 기호를 정의합니다.
⇡
PURE_GIT_STASH_SYMBOL
git stash 기호를 정의합니다. 비활성화하려면 비워 두세요.
≡
Zstyle 옵션
프롬프트의 일부로 git stash 상태를 표시하는 것은 기본적으로 활성화되지 않습니다. 활성화하려면 zstyle을 통해 옵트인해야 합니다:
zstyle :prompt:pure:git:stash show yes
Pure가 현재 로컬 브랜치의 업스트림 브랜치만 git fetch하도록 설정할 수 있습니다. 경우에 따라 Git 화살표가 더 빠르게 업데이트될 수 있지만, 대부분의 사용자에게는 이 설정을 비활성화된 상태로 두는 것이 좋습니다. 다음과 같이 활성화할 수 있습니다:
zstyle :prompt:pure:git:fetch only_upstream yes
Node.js 버전 표시는 package.json이 포함된 디렉터리 트리 안에 있을 때 현재 주요 node 버전을 표시합니다. 기본적으로 활성화되지 않습니다. 다음과 같이 활성화할 수 있습니다:
zstyle :prompt:pure:environment:node_version show yes
Node.js 버전 앞에 표시되는 기호(기본값 ⬢)를 다음과 같이 변경할 수 있습니다:
zstyle :prompt:pure:environment:node_version symbol ⬡
nix-shell 통합은 nix 셸 내에서 사용될 때 프롬프트에 셸 이름을 추가합니다. 기본적으로 활성화되어 있으며, 다음과 같이 비활성화할 수 있습니다:
zstyle :prompt:pure:environment:nix-shell show no
Virtualenv 통합은 현재 Python virtualenv 또는 Conda 환경 이름을 표시합니다. 기본적으로 활성화되어 있으며, 다음과 같이 비활성화할 수 있습니다:
zstyle :prompt:pure:environment:virtualenv show no
Git 통합은 기본적으로 활성화되어 있으며, 다음과 같이 비활성화할 수 있습니다:
zstyle :prompt:pure:git show no
상세 변경 표시는 단일 * 대신 스테이징되지 않은(*), 스테이징된(+), 추적되지 않은(?) 변경을 구분합니다. 기본적으로 활성화되지 않습니다. 다음과 같이 활성화할 수 있습니다:
zstyle :prompt:pure:git:dirty detailed yes
경로 구분자 흐리게 표시는 경로의 / 문자를 시각적으로 더 흐리게 만들어 경로 구성 요소를 구분하는 데 도움을 줍니다. 기본적으로 활성화되지 않습니다. 다음과 같이 활성화할 수 있습니다:
zstyle :prompt:pure:path:separator dim yes
호스트 이름 표시는 SSH 세션이나 컨테이너에 있을 때 기본적으로 활성화됩니다. 사용자 이름은 계속 표시하면서 호스트 이름만 비활성화하려면 다음과 같이 설정하세요:
zstyle :prompt:pure:host show no
자동 터미널 제목 관리는 자신만의 탭 또는 창 제목을 설정하려는 경우 비활성화할 수 있습니다:
zstyle :prompt:pure:title show no
커스터마이징
Pure는 프롬프트에 커스텀 콘텐츠를 추가하기 위한 훅 함수를 지원합니다. .zshrc에서(prompt pure 이후에) prompt_pure_precustom이라는 함수를 정의하여 preprompt 줄에 커스텀 접두사 및 접미사 세그먼트를 설정하세요:
psvar[22] — 커스텀 접두사로, 모든 기본 제공 세그먼트 앞에 렌더링됩니다.
psvar[23] — 커스텀 접미사로, 모든 기본 제공 세그먼트 뒤에 렌더링됩니다.
이 함수는 프롬프트가 렌더링될 때마다(비동기 다시 그리기 포함) 호출되므로 느린 명령은 피하세요. 비용이 큰 작업의 경우 precmd 훅에 결과를 캐시하고 prompt_pure_precustom에서 캐시된 값을 읽으세요.
# .zshrc
# precmd에서 비용이 큰 호출을 캐시합니다(명령당 한 번 실행되며, 비동기 다시 그리기에서는 실행되지 않음).
my_kube_context=
my_precmd () {
my_kube_context= $( kubectl config current-context 2> /dev/null )
}
add-zsh-hook precmd my_precmd
prompt_pure_precustom () {
psvar[22]= $my_kube_context
psvar[23]= $( date +%H:%M )
}
색상은 zstyle로 커스터마이징할 수 있습니다:
zstyle :prompt:pure:custom:prefix color cyan
zstyle :prompt:pure:custom:suffix color yellow
색상
ZSH 매뉴얼에 설명된 대로, 색상 값은 다음과 같을 수 있습니다:
터미널의 색상 인덱스에 해당하는 10진 정수입니다. $TERM이 xterm-256color인 경우 이 차트를 참조하세요.
다음 아홉 가지 색상 중 하나의 이름: black, red, green, yellow, blue, magenta, cyan, white, 그리고 default(터미널의 기본 전경색)
# 뒤에 16진수 형식의 RGB 삼중항이 오는 형식, 예를 들어 #424242. 터미널이 24비트 색상(true color)을 지원하거나 zsh/nearcolor 모듈이 로드된 경우에만 사용 가능합니다.
색상은 :prompt:pure:$color_name 형태의 패턴과 color 스타일을 사용하여 zstyle로 변경할 수 있습니다. 색상 이름, 기본값, 그리고 영향을 주는 부분은 다음과 같습니다:
custom:prefix (242) - prompt_pure_precustom으로 설정된 커스텀 접두사.
custom:suffix (242) - prompt_pure_precustom으로 설정된 커스텀 접미사.
execution_time (yellow) - PURE_CMD_MAX_EXEC_TIME을 초과할 때 마지막 명령의 실행 시간.
git:arrow (cyan) - PURE_GIT_UP_ARROW 및 PURE_GIT_DOWN_ARROW용.
git:stash (cyan) - PURE_GIT_STASH_SYMBOL용.
git:branch (242) - Git 저장소에 있을 때 현재 브랜치의 이름.
git:branch:cached (red) - 데이터가 최신이 아닐 때 현재 브랜치의 이름.
git:action (yellow) - Git 저장소에 있을 때 진행 중인 현재 작업(cherry-pick, rebase 등).
git:dirty (218) - 브랜치가 변경되었음을 나타내는 별표.
host (242) - 원격 머신에 있을 때의 호스트 이름.
node_version (green) - package.json이 있는 디렉터리에서 현재 주요 Node.js 버전.
path (blue) - 현재 경로, 예를 들어 PWD.
prompt:error (red) - 이전 명령이 실패했을 때의 PURE_PROMPT_SYMBOL.
prompt:success (magenta) - 이전 명령이 성공했을 때의 PURE_PROMPT_SYMBOL.
prompt:continuation (242) - 연속 프롬프트(PS2)에서 파서의 상태를 표시하는 색상. 이 스크린샷의 분홍색 부분으로, virtualenv와 같은 위치에 나타납니다. 예를 들어 두 색상을 일치시켜 Pure가 균일한 모습을 갖도록 할 수 있습니다.
suspended_jobs (red) - PURE_SUSPENDED_JOBS_SYMBOL.
user (242) - 원격 머신에 있을 때의 사용자 이름.
user:root (default) - 사용자가 root일 때의 사용자 이름.
virtualenv (242) - 사용 중일 때 Python virtualenv의 이름.
다음 다이어그램은 각 색상이 프롬프트의 어디에 적용되는지 보여줍니다:
┌──────────────────────────────────────────────────────────────────────── custom:prefix
│ ┌─────────────────────────────────────────────────────────────────── suspended_jobs
│ │ ┌───────────────────────────────────────────────────────────────── user
│ │ │ ┌────────────────────────────────────────────────────────── host
│ │ │ │ ┌────────────────────────────────────────────── path
│ │ │ │ │ ┌─────────────────────────────────── git:branch
│ │ │ │ │ │ ┌────────────────────────────── git:dirty
│ │ │ │ │ │ │ ┌──────────────────────────── git:action
│ │ │ │ │ │ │ │ ┌─────────────────── git:arrow
│ │ │ │ │ │ │ │ │ ┌───────────────── git:stash
│ │ │ │ │ │ │ │ │ │ ┌─────────────── node_version
│ │ │ │ │ │ │ │ │ │ │ ┌─────────── execution_time
│ │ │ │ │ │ │ │ │ │ │ │ ┌────── custom:suffix
│ │ │ │ │ │ │ │ │ │ │ │ │
prefix ✦ zaphod@heartofgold ~/dev/pure main* rebase-i ⇡ ≡ ⬢22 42s suffix
venv ❯
│ │
│ └───────────────────────────────────────────────────────────────────── prompt
└────────────────────────────────────────────────────────────────────────── virtualenv (또는 prompt:continuation)
미리보기
prompt_pure_preview를 실행하면 모든 구성 요소가 현재 색상으로 렌더링된 샘플 프롬프트를 표시합니다. 색상 커스터마이징을 테스트하는 데 유용합니다.
RGB 색상
16진수 형식으로 RGB 색상을 사용하는 방법에는 두 가지가 있습니다. 올바른 방법은 24비트 색상을 지원하는 터미널을 사용하고 터미널 문서에 설명된 대로 이 기능을 활성화하는 것입니다.
그러한 터미널을 사용할 수 없다면 zsh/nearcolor 모듈이 유용할 수 있습니다. 이 모듈은 모든 16진수 색상을 터미널의 88 또는 256 색상 팔레트에서 가장 가까운 색상으로 매핑하지만, 사용자가 값을 수정할 수 있는 처음 16개 색상은 사용하지 않습니다. 이 모듈을 사용할 때는 실제 RGB 색상을 표시할 수 없다는 점을 명심하세요. 색상을 더 편리한 방식으로 지정할 수 있게 해줄 뿐입니다. 다음은 이 모듈을 사용하는 방법의 예입니다:
# .zshrc
zmodload zsh/nearcolor
zstyle :prompt:pure:path color ' #FF0000 '
예제
# .zshrc
autoload -U promptinit ; promptinit
# 선택적으로 몇 가지 옵션 정의
PURE_CMD_MAX_EXEC_TIME=10
# 경로 색상 변경
zstyle :prompt:pure:path color white
# `prompt:success`와 `prompt:error` 모두의 색상 변경
zstyle ' :prompt:pure:prompt:* ' color cyan
# git stash 상태 켜기
zstyle :prompt:pure:git:stash show yes
prompt pure
팁
스크린샷에서 Pure는 hyper-snazzy 테마와 Menlo 폰트로 Hyper에서 실행되는 모습을 볼 수 있습니다.
Droid Sans Mono 폰트(15pt)를 사용한 Tomorrow Night Eighties 테마도 좋은 조합입니다.
터미널에서 안티앨리어싱이 활성화되어 있는지 확인하세요.
스크린샷에서처럼 명령에 색상을 입히려면 zsh-syntax-highlighting을 설치하세요.
AI 코딩 에이전트
대부분의 AI 코딩 에이전트(Claude Code, Codex, …)는 Pure의 프롬프트가 절대 렌더링되지 않는 비대화형 셸에서 명령을 실행하므로, 어차피 그곳에서는 git 작업이 실행되지 않습니다. 대화형 터미널에서 프롬프트를 렌더링하는 에이전트는 이를 실행하지만, 샌드박스에서 git fetch가 멈출 수 있고 프롬프트를 보는 사람이 없으므로 건너뛸 수 있습니다. .zshrc에서 에이전트 마커 환경 변수를 기준으로 git 통합을 조건부로 활성화할 수 있습니다:
# 단지 예시입니다. 사용하는 에이전트에 해당하는 마커를 추가하세요.
# 이 목록을 확장하기 위한 풀 리퀘스트는 받지 않습니다.
if [[ -n $AI_AGENT$CLAUDECODE$CURSOR_AGENT$GEMINI_CLI$OPENCODE ]] ; then
zstyle :prompt:pure:git show no
fi
통합
oh-my-zsh
oh-my-zsh 테마를 비활성화하려면 .zshrc에서 ZSH_THEME=""를 설정하세요.
Pure 설치 지침을 따르세요.
다음 (호환되지 않는) 플러그인을 활성화하지 마세요: vi-mode, virtualenv.
참고: oh-my-zsh가 프롬프트를 재정의하므로 Pure는 source $ZSH/oh-my-zsh.sh 이후에 활성화되어야 합니다.
prezto
Pure는 Prezto에 번들로 포함되어 있습니다. …할 필요가 없습니다.
Other tools that do the same work
일상적인 엔지니어링 작업을 위한 에이전트 스킬.
Python과 .NET에서 프로덕션 AI 에이전트와 멀티 에이전트 워크플로를 구축하세요.
No comments yet.
to comment.