intellectronica/ruler

Ruler — apply the same rules to all coding agents

해결하고자 하는 문제

Ruler는 여러 도구에 걸쳐 AI 코딩 어시스턴트 지시사항을 관리하는 복잡성을 해결합니다. 팀이 GitHub Copilot, Claude, Cursor, Aider 등 서로 다른 에이전트를 사용할 때, 일관되지 않은 가이드, 여러 설정 파일을 유지보수하는 중복 작업, 프로젝트 요구사항 변화에 따른 컨텍스트 드리프트가 발생하기 쉽습니다. Ruler는 이러한 지시사항을 단일 진실 소스로 제공하여 모든 AI 에이전트가 동일한 규칙을 따르도록 보장합니다.

작동 방식

Ruler는 .ruler/ 디렉터리 내에 Markdown 파일로 지시사항을 중앙화하고, 이를 자동으로 다양한 지원 AI 에이전트가 요구하는 특정 설정 파일에 배포합니다.

주요 메커니즘은 다음과 같습니다:

  • 규칙 연결: .md 파일을 재귀적으로 탐색해 대상 에이전트의 설정 파일에 연결하고, 추적 가능하도록 소스 마커를 추가합니다.
  • 중첩 규칙 로드: --nested 플래그를 사용하면 프로젝트 계층 구조 내 여러 .ruler/ 디렉터리에서 지시사항을 로드할 수 있어, 컴포넌트별 규칙(예: /src/tests에 서로 다른 규칙) 적용이 가능합니다.
  • 설정: ruler.toml 파일을 통해 에이전트 선택, 출력 경로 및 Model Context Protocol(MCP) 서버 설정을 관리합니다.
  • 자동화: 생성된 설정 파일을 버전 관리에서 제외하도록 .gitignore를 자동으로 업데이트할 수 있습니다.

대상 사용자

복잡한 코드베이스나 monorepo에서 작업하며 하나 이상의 AI 코딩 어시스턴트를 사용하는 개발자와 팀을 위해 설계되었습니다. 전체 개발 환경에서 일관된 AI 동작을 유지하고자 하는 경우에 적합합니다.

주요 특징

  • 광범위한 에이전트 지원: GitHub Copilot, Claude Code, Cursor, Windsurf, Cline, Aider 등 다양한 도구와 호환됩니다.
  • MCP 전파: Model Context Protocol(MCP) 서버 설정을 에이전트 간에 관리·배포합니다.
  • 단일 진실 소스: 여러 에이전트별 설정 파일을 수동으로 편집할 필요가 없습니다.
  • 컨텍스트 인식 규칙: 중첩 디렉터리를 지원해 세부 영역별 지시사항을 제공할 수 있습니다.
  • 안전 기능: revert 명령을 통해 변경 사항을 되돌리고 백업에서 원본 파일을 복원할 수 있습니다.