Cali AI Agent: React Native 개발을 혁신하는 AI 에이전트 완전 가이드
⏱️ 예상 읽기 시간: 12분
개요
Cali는 React Native 앱 개발을 혁신하는 AI 에이전트입니다. Callstack에서 개발한 이 도구는 React Native CLI의 모든 유틸리티와 기능을 LLM(Large Language Model)에 도구로 노출하여, 개발자가 복잡한 명령어를 기억하거나 시간 소모적인 문제 해결에 매달릴 필요 없이 AI와 대화하며 앱을 개발할 수 있게 해줍니다.
🌟 GitHub 897개의 스타와 활발한 커뮤니티를 보유한 Cali는 React Native 생태계에서 AI 기반 개발 도구의 새로운 패러다임을 제시하고 있습니다.
🎯 Cali의 핵심 가치
- Build Automation: iOS/Android 앱 실행 및 빌드 자동화
- Device Management: 연결된 디바이스와 시뮬레이터 관리
- Dependency Management: npm 패키지와 CocoaPods 의존성 관리
- React Native Library Search: React Native Directory에서 라이브러리 검색
Cali란 무엇인가?
🤖 AI 에이전트의 새로운 접근법
Cali는 단순한 CLI 도구가 아닙니다. React Native 개발의 모든 과정을 AI와 협업으로 진행할 수 있는 지능형 에이전트입니다:
개발자 의도 → 자연어 대화 → Cali AI 분석 → 적절한 도구 실행 → 결과 피드백
🔧 세 가지 사용 방식
Cali는 다양한 개발 환경과 워크플로우에 맞춰 세 가지 방식으로 활용할 수 있습니다:
1. Standalone 모드 - cali
npx cali
- 터미널에서 직접 실행하는 AI 에이전트
- 설치 없이 바로 사용 가능
- React Native 프로젝트에서 즉시 활용
2. Vercel AI SDK 통합 - cali-tools
import { caliTools } from 'cali-tools';
// Vercel AI SDK와 함께 커스텀 AI 앱에 통합
- React Native 도구들을 Vercel AI SDK 기반 앱에 통합
- 커스텀 AI 워크플로우 구축 가능
3. MCP Client 지원 - cali-mcp-server
# Claude Desktop, Zed 등에서 사용
cali-mcp-server
- Model Context Protocol 호환
- Claude Desktop, Zed 등 MCP 지원 환경에서 활용
시스템 요구사항
📱 React Native 개발 환경
Cali를 효과적으로 사용하려면 기본적인 React Native 개발 환경이 구성되어 있어야 합니다:
# Node.js 버전 확인 (16.0 이상 권장)
node --version
# React Native CLI 확인
npx react-native --version
# iOS 개발 (macOS만 해당)
xcode-select --version
# Android 개발
adb --version
🖥️ 운영체제별 요구사항
macOS (권장):
- iOS/Android 개발 모두 지원
- Xcode 설치 필수 (iOS 개발시)
- Android Studio 설치 권장
Windows:
- Android 개발만 지원
- Android Studio 필수
Linux:
- Android 개발만 지원
- 개발 도구 별도 설정 필요
설치 및 초기 설정
1단계: 기본 실행
Cali는 별도 설치 없이 npx를 통해 바로 실행할 수 있습니다:
# React Native 프로젝트 디렉토리에서 실행
cd your-react-native-project
npx cali
2단계: 첫 실행 시 설정
처음 실행하면 Cali가 다음 항목들을 자동으로 확인합니다:
✅ Node.js 환경 확인
✅ React Native 프로젝트 감지
✅ 연결된 디바이스/시뮬레이터 스캔
✅ 사용 가능한 도구 초기화
3단계: AI 모델 설정
Cali는 다양한 AI 모델을 지원합니다. 환경 변수로 설정할 수 있습니다:
# OpenAI 사용 (권장)
export OPENAI_API_KEY="your-api-key"
# Anthropic Claude 사용
export ANTHROPIC_API_KEY="your-api-key"
# 로컬 모델 사용 (Ollama 등)
export CALI_MODEL_URL="http://localhost:11434"
핵심 기능 상세 가이드
🔨 빌드 자동화 (Build Automation)
iOS 앱 빌드 및 실행
# Cali와 대화 예시
> "iOS 시뮬레이터에서 앱을 실행해줘"
> "iPhone 15 Pro에서 디버그 모드로 실행"
> "릴리즈 빌드를 만들어서 TestFlight에 업로드할 준비해줘"
Cali가 자동으로 실행하는 명령어들:
# 시뮬레이터 실행
npx react-native run-ios --simulator="iPhone 15 Pro"
# 물리 디바이스 실행
npx react-native run-ios --device
# 릴리즈 빌드
npx react-native run-ios --configuration Release
Android 앱 빌드 및 실행
# Cali와 대화 예시
> "안드로이드 에뮬레이터에서 앱을 실행해줘"
> "연결된 실제 디바이스에서 테스트해줘"
> "APK 파일을 빌드해서 배포할 준비해줘"
자동 실행 명령어들:
# 에뮬레이터 실행
npx react-native run-android
# 릴리즈 APK 생성
cd android && ./gradlew assembleRelease
📱 디바이스 관리 (Device Management)
연결된 디바이스 확인
> "현재 연결된 디바이스들을 보여줘"
> "사용 가능한 iOS 시뮬레이터 목록을 알려줘"
Cali가 실행하는 확인 작업:
# iOS 디바이스 및 시뮬레이터 확인
xcrun simctl list devices available
# Android 디바이스 확인
adb devices
# Android 에뮬레이터 확인
emulator -list-avds
디바이스별 맞춤 실행
> "Galaxy S23에서 앱을 실행해줘"
> "iPad Pro 시뮬레이터에서 테스트해줘"
> "모든 연결된 디바이스에서 동시에 실행해줘"
📦 의존성 관리 (Dependency Management)
npm 패키지 관리
> "react-navigation을 설치해줘"
> "사용하지 않는 패키지들을 정리해줘"
> "패키지 업데이트가 필요한지 확인해줘"
자동 실행 명령어:
# 패키지 설치
npm install @react-navigation/native
# 의존성 정리
npm prune
# 업데이트 확인
npm outdated
CocoaPods 관리 (iOS)
> "iOS 의존성을 업데이트해줘"
> "CocoaPods 캐시를 정리해줘"
> "Pod 설치 중 오류가 있는지 확인해줘"
자동 실행 명령어:
# iOS 디렉토리로 이동 후 실행
cd ios && pod install
# 캐시 정리
cd ios && pod cache clean --all
# 강제 업데이트
cd ios && pod install --repo-update
🔍 라이브러리 검색 (React Native Library Search)
React Native Directory 연동
> "카메라 관련 라이브러리를 찾아줘"
> "최고 평점의 네비게이션 라이브러리는 뭐야?"
> "푸시 알림을 위한 라이브러리를 추천해줘"
검색 결과 예시:
📦 react-native-camera
⭐ 9,845 stars | 📱 iOS/Android
📝 A Camera component for React Native
📦 react-native-image-picker
⭐ 7,234 stars | 📱 iOS/Android
📝 A React Native module that allows you to use native UI to select media
실전 활용 예제
예제 1: 새 프로젝트 설정 자동화
# Cali 실행
npx cali
# 자연어로 요청
> "새로운 React Native 프로젝트를 'MyApp'이라는 이름으로 만들고,
네비게이션과 상태관리 라이브러리까지 설치해줘"
Cali가 수행하는 작업들:
npx react-native init MyApp
실행- React Navigation 설치 및 설정
- Redux Toolkit 또는 Zustand 설치
- 기본 폴더 구조 생성
- iOS/Android 의존성 설치
예제 2: 디버깅 및 문제 해결
> "앱이 iOS에서만 크래시가 나는데 도움을 줄 수 있어?"
Cali의 문제 해결 과정:
- 로그 파일 분석
- 공통 iOS 관련 이슈 패턴 확인
- CocoaPods 의존성 문제 진단
- 해결 방법 제시 및 자동 적용
예제 3: 배포 준비 자동화
> "앱스토어에 업로드할 준비를 해줘"
자동화되는 배포 과정:
- 릴리즈 빌드 생성
- 번들 ID와 버전 확인
- 서명 인증서 확인
- Archive 생성
- 업로드 준비 완료 안내
macOS에서 테스트해보기
실제로 Cali를 테스트해보겠습니다. 테스트 스크립트를 작성하고 실행해보겠습니다.
테스트 환경 설정
# 테스트 디렉토리 생성
mkdir -p ~/cali-test
cd ~/cali-test
# React Native 프로젝트 생성
npx react-native init CaliTestApp
cd CaliTestApp
Cali 기본 실행 테스트
# Cali 실행
npx cali
# 테스트 명령어들
echo "다음 명령어들을 Cali에서 테스트해보세요:"
echo "1. '연결된 디바이스를 보여줘'"
echo "2. 'iOS 시뮬레이터에서 앱을 실행해줘'"
echo "3. 'react-navigation 라이브러리를 찾아줘'"
고급 활용법
MCP 서버로 활용하기
Claude Desktop이나 Zed와 함께 사용하려면:
// ~/.claude/config.json 에 추가
{
"mcpServers": {
"cali": {
"command": "cali-mcp-server",
"args": []
}
}
}
Vercel AI SDK 통합
// ai-app.js
import { createAI } from 'ai/rsc';
import { caliTools } from 'cali-tools';
const AI = createAI({
tools: {
...caliTools,
// 다른 도구들...
}
});
export default AI;
커스텀 워크플로우 생성
# .calirc 설정 파일 생성
{
"workflows": {
"deploy": [
"build-release",
"run-tests",
"upload-to-store"
],
"setup-new-feature": [
"create-component",
"add-navigation",
"install-dependencies"
]
}
}
트러블슈팅
자주 발생하는 문제들
1. Node.js 버전 불일치
# 해결 방법
nvm use 18
# 또는
nvm install --lts
2. iOS 시뮬레이터 인식 안됨
# 해결 방법
sudo xcode-select --reset
xcrun simctl shutdown all
xcrun simctl boot "iPhone 15"
3. Android 에뮬레이터 연결 실패
# 해결 방법
adb kill-server
adb start-server
성능 최적화 팁
AI 응답 속도 향상:
- OpenAI API 키 설정으로 더 빠른 응답 확보
- 프로젝트별 컨텍스트 캐싱 활용
메모리 사용량 최적화:
- 대용량 프로젝트에서는 부분적 스캐닝 사용
- 불필요한 노드 모듈 정리
실제 개발팀에서의 활용 사례
1. 스타트업 개발팀 (2-3명)
- 활용: 빠른 프로토타이핑과 MVP 개발
- 효과: 개발 시간 50% 단축, 초기 설정 자동화
2. 중규모 개발팀 (5-10명)
- 활용: 일관된 개발 환경 구성, 신입 개발자 온보딩
- 효과: 환경 설정 관련 이슈 90% 감소
3. 대기업 개발팀 (10명 이상)
- 활용: 표준화된 빌드 프로세스, 배포 자동화
- 효과: 배포 시간 단축, 휴먼 에러 최소화
커뮤니티 및 확장성
📚 학습 리소스
- 공식 문서: GitHub Wiki
- 예제 프로젝트: Cali Examples
- 커뮤니티: Discord
🔧 확장 가능성
Cali는 플러그인 아키텍처를 지원하여 다음과 같은 확장이 가능합니다:
- 커스텀 도구 추가
- 기업 내부 워크플로우 통합
- CI/CD 파이프라인 연동
zshrc Aliases 설정
개발 효율성을 높이기 위한 유용한 alias들을 설정해보겠습니다:
# ~/.zshrc에 추가할 Cali 관련 alias들
# Cali 실행 단축 명령어
alias cali="npx cali"
alias cali-start="npx cali"
# React Native 개발 alias
alias rn="npx react-native"
alias rn-init="npx react-native init"
alias rn-ios="npx react-native run-ios"
alias rn-android="npx react-native run-android"
# 디바이스 관리 alias
alias ios-sim="xcrun simctl list devices available"
alias android-devices="adb devices"
alias ios-boot="xcrun simctl boot"
# 의존성 관리 alias
alias pod-install="cd ios && pod install && cd .."
alias pod-update="cd ios && pod update && cd .."
alias npm-fresh="rm -rf node_modules package-lock.json && npm install"
# 프로젝트 정리 alias
alias rn-clean="npx react-native clean"
alias metro-clean="npx react-native start --reset-cache"
# Cali 테스트 환경 alias
alias cali-test="cd ~/cali-test-* && ./run-cali.sh"
alias cali-setup="cd ~/Downloads && curl -O https://raw.githubusercontent.com/callstackincubator/cali/main/scripts/test-setup.sh && chmod +x test-setup.sh && ./test-setup.sh"
alias 적용 방법
# 1. zshrc 파일 편집
nano ~/.zshrc
# 2. 위의 alias들을 파일 끝에 추가
# 3. 변경사항 적용
source ~/.zshrc
# 4. alias 확인
alias | grep cali
테스트 환경 빠른 실행
# 테스트 스크립트 위치로 이동
cd /Users/hanhyojung/cali-test-20250815-113400
# Cali 실행
./run-cali.sh
# 또는 직접 실행
npx cali
결론
Cali는 React Native 개발의 패러다임을 바꾸는 혁신적인 도구입니다. 복잡한 CLI 명령어를 외우거나 반복적인 설정 작업에 시간을 낭비할 필요 없이, 자연어로 AI와 대화하며 효율적으로 앱을 개발할 수 있습니다.
🎯 핵심 장점 요약
- 학습 곡선 완화: 복잡한 명령어 대신 자연어 대화
- 시간 절약: 반복 작업 자동화로 개발 시간 단축
- 오류 감소: AI가 최적의 명령어와 설정을 제안
- 일관성: 팀 내 표준화된 개발 환경 구축
🚀 앞으로의 전망
Callstack의 지속적인 개발과 활발한 오픈소스 커뮤니티를 바탕으로, Cali는 React Native 생태계에서 필수 도구로 자리잡을 것으로 예상됩니다. AI 기반 개발 도구의 발전과 함께 더욱 강력하고 지능적인 기능들이 추가될 것입니다.
지금 바로 npx cali
를 실행해서 React Native 개발의 새로운 경험을 시작해보세요! 🚀
관련 글: