최근 개발자들 사이에서 Git 기반의 새로운 로컬 이슈 트래커 'epiq'가 등장해 관심을 모으고 있습니다. 이 도구는 터미널(CLI) 환경에 최적화되어 개발자들이 코드 편집기와 터미널을 오가며 발생하는 잦은 컨텍스트 전환(context switching) 없이 이슈를 관리할 수 있도록 돕습니다. 계정 생성이나 외부 서비스 연동 없이 로컬에서 즉시 작동하며, 모든 상태를 로컬에 저장하여 빠른 편집과 반응성을 제공하는 것이 특징입니다.
epiq는 로컬 우선(local-first) 설계 원칙을 따르며, 모든 변경 사항은 Git을 통해 백업되고 버전 관리됩니다. 이는 개발 워크플로우와 이슈 관리 상태를 분리하면서도, 필요할 때 언제든 변경 이력을 추적하고 복구할 수 있게 합니다. 특히, 터미널 사용자 인터페이스(TUI)와 웹 브라우저 기반의 그래픽 사용자 인터페이스(GUI)를 동시에 지원하여 사용자의 선호에 따라 유연하게 선택할 수 있습니다. 두 인터페이스 모두 동일한 Git 기반 이벤트 엔진으로 구동되며, Vim 스타일의 키보드 단축키와 명령줄 모드를 제공하여 숙련된 사용자에게 익숙한 경험을 선사합니다.
이슈 생성, 댓글 추가, 상태 변경 등 모든 작업은 컨텍스트를 인식하는 명령어를 통해 이루어지며, '타임 트래블(Time travel)' 기능으로 과거 특정 시점의 앱 상태를 확인할 수도 있습니다. 또한, 이벤트 소싱(event sourcing) 모델을 채택하여 병합 충돌을 효과적으로 방지합니다. 모든 변경 사항을 사용자별 '추가 전용(append-only)' 이벤트로 저장하고, 이를 결정론적 순서로 재생하여 충돌 시에는 최신 이벤트를 우선시합니다. 각 사용자가 자신의 로그 파일에 기록하므로, Git 병합 시에는 독립적인 파일들의 단순한 결합으로 처리되어 복잡성을 줄입니다. 이러한 접근 방식은 분산 환경에서의 협업 효율성을 높이고, 개발자들이 더욱 집중하여 작업할 수 있는 환경을 제공한다는 점에서 의미가 큽니다.