프로젝트 소개

Mica Code(MICA — Minimal, Intelligent, Cache-first Agent)는 가볍고 터미널 네이티브한 AI coding agent로, 핵심 설계 목표는 컨텍스트를 재사용하고 높은 캐시 적중률을 유지하는 것입니다. 주요 특징: - Prefix 안정성, 캐시 우선: 세션은 기본적으로 append-only이며 system/history prefix를 최대한 고정하여 긴 대화에서도 높은 캐시 적중률을 유지할 수 있습니다. - 터미널 네이티브: Ink 기반 TUI로 키보드 우선이며, 다중 agent, 백그라운드 작업과 상태를 한곳에 표시합니다. - 파일 참조: 입력 시 @로 현재 워크스페이스 파일을 검색하고, 방향키로 선택한 뒤 Enter 또는 Tab으로 삽입할 수 있습니다. - Role이 곧 워크플로: /role은 system prompt를 통째로 교체하며, 코딩, 리뷰, 계획 등에 서로 다른 페르소나를 구성할 수 있습니다. - 조립 가능한 도구: 파일, 검색, shell, 웹, skills 등 내장 도구를 제공하고 MCP를 통해 개인 스크립트와 팀 서비스를 연동할 수 있습니다. - 되감기, 압축, 예약 실행 가능: /rewind는 과거 대화 노드로 돌아가며 파일 체크포인트가 있으면 파일도 복원할 수 있습니다. /compact는 기본적으로 도구 결과만 플레이스홀더로 교체하고, /compact llm은 모델 요약을 사용합니다. /loop는 고정 간격으로 작업을 반복 실행할 수 있습니다. 설치와 설정: GitHub Release의 install.sh 스크립트로 설치하고 mica를 실행할 수 있습니다. 첫 실행 시 ~/.mica/config.json이 생성되며 /config로 설정 페이지를 열 수 있습니다. 설정은 여러 provider를 지원하고 protocol은 openai_chat_completions 또는 openai_responses를 선택할 수 있습니다. get_model_url로 모델 목록을 동적으로 가져오거나 models 배열을 정적으로 직접 설정할 수 있으며, mcpServers도 설정할 수 있습니다. 명령줄 인터페이스: - mica exec: 일회성 headless 실행으로, 프로토콜은 OpenAI Codex와 정렬되어 있으며 --json으로 ThreadEvent JSONL 출력, --thinking, --no-save, --session, --dir, --mcp-init-timeout-ms 등의 인자를 지원합니다. - mica compact: 기존 세션에 대해 컨텍스트 압축을 수행하며 --force, --prune-only, --tool-results-only를 지원하고, token 추정치와 압축 비율을 포함한 JSON을 출력합니다. - mica commit: 대화형 /commit의 결정론적 분석 로직을 재사용하여 모델에 한 번만 요청해 commit message를 생성한 뒤 git add/commit/push를 실행하고 JSON을 출력합니다. - mica app-server: 상주 세션 프로세스로 Codex v2 App Server 프로토콜의 부분 집합을 노출하며 turn/steer 반복 주입을 지원합니다. 이 프로젝트는 터미널 안에서 AI 코딩 어시스턴트를 사용하고, 컨텍스트 캐시 효율과 스크립트화 가능한 호출에 관심이 있는 개발자에게 적합합니다.