Skip to content
Apothem
블로그

환경 간 규약 수렴

벤더마다 구성 형식과 시행 표면이 다른데도, Apothem이 하나의 운영자 워크플로를 열일곱 개 환경에 걸쳐 일관되게 유지하는 방법.

열일곱 개 환경, 구성이 어디에 살고 어떤 형태를 띠는지에 대한 열일곱 가지 견해. Apothem의 임무는 운영자의 워크플로가 모든 환경에서 동일하게 느껴지도록 하는 것입니다 — 규약을 한 번 작성하면, Claude Code를 쓰든 Cursor를 쓰든 Gemini CLI를 쓰든 동일하게 동작합니다. 이 글은 Apothem이 조화시키는 두 가지 분기를 다룹니다: 구성 형식과 시행 표면입니다.

형식 분기

각 환경은 서로 다른 파일 형태에서 규칙을 읽습니다. Apothem의 프로파일은 운영자의 의도를 하나의 중립적 형태로 보관하고, 각 어댑터는 그 의도를 자신의 환경이 기대하는 형태로 렌더링합니다.

형태환경(예시)Apothem이 내보내는 것
디렉터리 내 평면 .md 규칙 파일claude-code, windsurf, trae환경의 규칙 트리에 그대로 복사되는 원본 규칙 파일
Cursor .mdc 규칙cursorCursor가 기대하는 메타데이터 헤더를 담은 .mdc 규칙 세트
단일 파일 지시 문서codex, gemini-cli, github-copilot, zed프로파일의 규칙 세트로부터 조립된, 연결된 하나의 문서 —AGENTS.md, GEMINI.md, copilot-instructions.md, .rules

평면 .md 환경은 규칙을 그대로 가져갑니다. .mdc 환경은 각 규칙을 Cursor 메타데이터 헤더로 감싸야 합니다. 단일 파일 환경은 전체 규칙 세트를 안정적인 섹션 순서로 하나의 문서에 평탄화해야 하며, 그래야 운영자가 대상과 무관하게 같은 규약을 같은 순서로 읽습니다. 중립적 프로파일이 단일 진실 공급원이며, 분기는 전적으로 각 어댑터의 렌더링 단계에 존재합니다.

섹션 순서가 수렴의 앵커

많은 규칙을 하나의 문서에 평탄화하면 환경 간에 순서가 뒤섞일 위험이 있어, 같은 규약이 GEMINI.md와는 다른 순서로 AGENTS.md에 안착합니다. Apothem은 순서를 프로파일 수준에서 고정합니다: 규칙 세트는 선언된 시퀀스를 가지며, 모든 단일 파일 어댑터는 그 순서로 이를 순회합니다. 한 환경에서 "명명 규약은 커밋 규약보다 먼저 온다"를 외운 운영자는 다른 모든 환경에서 같은 시퀀스를 찾습니다. 수렴은 렌더링의 우연이 아니라 — 프로파일이 못 박는 속성입니다.

시행 분기

구성 형식은 보이는 절반입니다. 더 어려운 절반은 시행입니다: 운영자(또는 에이전트)가 행동하는 그 순간에 규약이 어떻게 책임을 지게 되는가입니다.

네이티브 PreToolUse 훅

claude-code, codex, qwen-code는 네이티브 훅 표면을 노출합니다. PreToolUse 훅은 도구 호출이 실행되기 전에 발화하여 이를 검사하고, 차단하거나 다시 씁니다. 이는 실시간 시행입니다: 계획 산출물을 전역 위치에 쓰는 것을 금지하는 규칙은, 쓰기가 디스크에 닿기 전에 그 쓰기를 거부하는 훅이 됩니다. Apothem은 이 훅들을 환경의 훅 구성에 직접 물화하므로, 규약은 환경 런타임에 의해 시행됩니다.

나머지 환경에서는 래퍼 기반 규율

나머지 환경은 Apothem이 소유하는 동등한 사전 실행 훅 표면을 노출하지 않습니다. 환경이 그것을 위한 소켓을 제공하지 않는 곳에 Apothem은 런타임 게이트를 설치할 수 없습니다. 대신 규약은 물화된 구성 안의 지시 텍스트로 운반됩니다 — 에이전트는 규칙을 읽고 그에 구속되지만, 위반 동작을 가로채는 런타임 메커니즘은 없습니다. Apothem은 동등성이 존재하는 척하는 대신 그 차이를 명시합니다: 훅이 뒷받침하는 규약과 지시가 뒷받침하는 규약은 같은 보증이 아니며, 운영자는 어떤 환경이 런타임에 시행하고 어떤 환경이 지시 규율에 의존하는지 봅니다.

수렴이 실제로 의미하는 것

운영자는 하나의 규약을 작성합니다. Apothem은 그것을 열일곱 개 형식으로 렌더링하고, 각 환경이 지원하는 가장 강한 시행을 부착합니다 — 표면이 존재하는 곳에는 네이티브 훅, 존재하지 않는 곳에는 지시 텍스트. 워크플로는 수렴하고, 보증은 환경별로 정직하게 명시됩니다.

이것이 apothem verify가 전반에 걸쳐 중요한 이유입니다: 어떤 런타임 훅도 드리프트를 잡을 수 없는 곳에서, 운영자는 verify를 실행하여 프로파일에서 벗어난 환경 구성을 탐지합니다. verify 명령은 네이티브 시행이 없는 모든 환경의 수렴 백스톱입니다.

환경별 시행 표면은 환경에서, 어댑터 메커니즘은 어댑터 설계 심층 분석에서 읽으세요.

On this page