개발자들이 로컬 환경에서 여러 서비스를 동시에 실행하고 관리하는 과정은 종종 복잡하고 번거롭습니다. 이러한 문제를 해결하기 위해, 앤디 피셔(Andy Fischer)가 개발한 새로운 도구 '캔들(Candle)'이 출시되었습니다. 캔들은 시스템드(systemd)나 PM2(pm2)와 같은 기존 프로세스 관리자들과 유사하지만, 프로덕션 환경이 아닌 로컬 개발 환경에 특화되어 사용법이 훨씬 간결하다는 점이 특징입니다.
캔들은 도커(Docker) 컨테이너 기반이 아닌 일반 프로세스 방식으로 작동하며, 서비스를 백그라운드에서 실행하여 현재 터미널 세션과 독립적으로 유지합니다. 이는 여러 터미널 세션에서 동일한 공유 프로세스에 접근할 수 있게 해줍니다. 특히 주목할 만한 점은 프로세스가 프로젝트 디렉토리별로 스코프(scope)된다는 것입니다. 즉, 각 프로젝트 폴더에서 실행되는 캔들 명령은 해당 폴더에 국한된 서비스 목록을 보여주므로, 여러 워크트리(worktree)를 오가며 작업할 때 프로세스 충돌이나 혼란을 방지할 수 있습니다. 캔들은 SQLite 데이터베이스를 사용해 로그와 프로세스 상태를 중앙 집중식으로 관리합니다.
또한, 캔들은 AI 코딩 에이전트와의 연동을 염두에 두고 설계되었습니다. 에이전트가 블로킹(blocking)되거나 대화형(interactive) 명령을 잘못 사용하는 것을 방지하기 위해, 'candle watch'와 같은 명령 대신 'candle logs' 사용을 권장하는 등 에이전트 친화적인 기능을 포함하고 있습니다. 이러한 설계는 개발자들이 AI 에이전트와 협업하여 개발 효율성을 높이는 데 기여할 수 있습니다. 캔들은 맥(Mac)과 리눅스(Linux) 환경을 지원하며, 홈브루(Homebrew)를 통해 쉽게 설치할 수 있습니다.