실제 프로젝트에서 코드가 단일 리포지터리에 머무는 일은 드뭅니다. 프론트엔드, 백엔드, 문서, 공유 라이브러리가 서로 다른 리포에 흩어져 있고, 하나의 기능 변경이 여러 리포를 동시에 건드려야 할 수 있습니다. Codex에게 단일 리포 모드는 작동하지만, 리포 간 관계를 본래 이해하지 못해 매 대화마다 '이 변경은 다른 두 리포에도 동기화돼야 해'라고 수동으로 알려야 하며, 이는 분명히 비효율적입니다.
HagiCode의 Monospecs 메커니즘은 다중 리포 시나리오를 위해 설계된 구조화된 해법입니다. .hagicode/monospecs.yaml 설정 파일을 통해 프로젝트 그룹의 모든 하위 리포 주소, 이름, 관계를 선언해, 제안을 시작할 때 Codex에게 자동으로 리포 간 지도를 제공합니다:
Monospecs는 본질적으로 리포 간 협업에서 Codex의 인지적 사각지대를 없앱니다. Codex의 추론은 강력하지만, 변경 범위를 특정하려면 여전히 정확한 지도가 필요하며, Monospecs가 바로 그 체계적으로 관리되는 프로젝트 지도입니다.
- 자동 리포 관계 인식:개발 제안을 만들 때 Codex는 Monospecs 설정에서 하위 리포 목록을 직접 읽어, '이 변경의 프론트엔드 코드는 repos/frontend, API 정의는 repos/backend, 문서는 repos/docs'에 있다는 것을 알 수 있습니다. 더 이상 매번 어떤 리포가 관여하는지 수동으로 나열할 필요가 없습니다.
- 리포 간 변경 추적:제안이 여러 하위 리포에 걸칠 때, OpenSpec 제안 디렉터리는 메인 리포에 머물고 하위 리포는 코드 변경만 담당합니다. 이렇게 하면 스펙과 코드가 분리되고 하위 리포는 깨끗하게 유지되지만, 전체 변경의 결정 체인과 논의 기록은 한곳에 집중됩니다. 보관 시 commit_when_archive가 스펙을 메인 리포에 자동 커밋할 수도 있어, 수동 버전 관리의 번거로움을 덜어줍니다.
- AI 커밋의 똑똑한 리포 지정:AI 커밋 시 HagiCode는 변경을 Monospecs 설정과 대조해 커밋이 어느 대상 리포로 가야 하는지 자동으로 제안합니다. 터미널에서 각 디렉터리에 cd 할 필요 없이, HagiCode가 이 코드가 어느 리포에 속하는지 판단합니다.
- 리포별 AGENTS.md:각 하위 리포는 자체 AGENTS.md를 가져, 해당 리포의 기술 스택, 코딩 규칙, 개발 관례를 Codex에게 알릴 수 있습니다. Codex는 서로 다른 리포를 조작할 때 해당 가이드를 자동으로 읽어, 항상 팀의 기준에 맞게 행동합니다.