ShowDEV: 나는 CLI 오류를 구글링하는 데 지쳐서 Rust로 AI‑native 쉘을 만들었다
Source: Dev.to

Marvel의 아이언맨에 나오는 J.A.R.V.I.S.를 들어본 적 있나요? 그는 토니 스타크를 지원하는 매우 똑똑하고 예의 바른 AI 어시스턴트입니다. 저는 언제나 제 일상 개발을 도와줄 나만의 J.A.R.V.I.S.를 만들고 싶었습니다.
하지만 현실은 전혀 그렇지 않습니다. 명령을 실행하고 난 뒤 알 수 없는 오류가 발생했을 때, 그 출력을 복사‑붙여넣어 브라우저나 ChatGPT에 넣어야만 무슨 문제가 있었는지 알 수 있던 적이 있나요?
개발자는 하루에 여러 번 이런 일을 합니다. 이는 우리의 흐름 상태를 완전히 깨뜨립니다. 저는 이 과정을 끊고 싶었습니다. 셸 안에 존재하고, 방금 일어난 일을 이미 알고 있으며, 즉시 도와줄 수 있는 진정한 “J.A.R.V.I.S.”‑와 같은 경험을 원했습니다.
그래서 저는 Jarvish를 만들었습니다.
🤵 Jarvis Shell (jarvish)
💡 소개
“나는 J.A.R.V.I.S.를 내 동반자로 원해—하지만 내 터미널 안에서.”
Jarvish는 차세대 AI 통합 셸이며 Rust로 작성되었습니다. Marvel의 Iron Man에 나오는 J.A.R.V.I.S.에서 영감을 받았습니다. 일상적인 셸 사용 경험에 AI 지능을 자연스럽게 내장합니다—브라우저에 오류를 복사‑붙여넣기 할 필요가 없습니다. Jarvis에게 물어보세요.
✨ 기능
🧠 AI 기반 지원
- 💬 쉘 프롬프트에서 바로 자연어로 Jarvis와 대화하세요.
- 🔍 명령이 실패하면, Jarvis가 자동으로 stdout/stderr 컨텍스트를 사용해 오류를 조사합니다.
- 🛠️ Jarvis는 파일을 읽고 쓸 수 있으며, 툴 호출 기능을 갖춘 AI 에이전트로서 명령을 실행합니다.
🐟 Fish와 같은 사용자 경험
- 🎨 입력하는 동안 실시간 구문 강조가 제공됩니다.
- ⚡ 명령(PATH 바이너리, 내장 명령) 및 파일 경로에 대한 자동 완성을 지원합니다.
- 📜
reedline으로 구동되는 히스토리 기반 제안을 제공합니다.
📦 블랙 박스
- 🗃️ 모든 명령 실행이 저장됩니다—명령, 타임스탬프, 작업 디렉터리, 종료 상태 및 입출력(I/O).
🛠️ 왜 그냥 AI CLI 도구가 아니죠?
기존 도구인 GitHub Copilot CLI는 셸 환경과 별개이며, 명시적으로 호출해야 하고 방금 실행한 명령에 대한 컨텍스트가 없습니다.
Jarvish는 다릅니다. 완전한 기능을 갖춘 대화형 셸입니다.
- 모드 전환 없음:
ls -la는 정상적으로 실행되고,Jarvis, why did my last build fail?는 AI에게 라우팅됩니다. - “블랙 박스” 컨텍스트: Jarvish는 모든
stdout/stderr를 조용히 캡처하고 압축하여 로컬 SQLite 데이터베이스에 저장합니다. AI와 대화할 때 최근 I/O 기록을 자동으로 컨텍스트로 가져옵니다.
🦀 Rust로 구축됨
- reedline – 풍부하고 Fish‑like REPL 경험을 제공합니다 (구문 강조, 자동 제안).
os_pipe– 자식 프로세스의 출력을 복제하여 AI가 캡처하면서도 터미널에 렌더링합니다.async-openai– 에이전트 루프에 동력을 제공합니다; Jarvish는 함수 호출을 사용해 파일을 자동으로 읽고, 명령을 실행하며, 문제를 조사합니다.
🚀 Try it out!
Jarvish는 현재 v1.0.1이며 제작자가 일상적으로 사용하고 있습니다. 오픈‑소스이니 자유롭게 사용해 보세요.
cargo install jarvish
대화를 나눌 수 있는 쉘을 즐겨보세요.

