AI 규칙
심볼릭 링크(symlinks)를 통해 AI 에이전트 구성을 관리하세요. 모든 설정을 하나의 git으로 추적되는 위치에 보관할 수 있습니다.
PyPI Downloads
PyPI version
Python Versions
CI
GitHub Contributors
Lines of Code
License
개요 (Overview)
AI 코딩 에이전트(Claude Code, Goose, Gemini CLI, Codex CLI, Amp)의 설정 파일들을 심볼릭 링크를 통해 단일 진실 공급원(single source of truth)으로 통합합니다:
- 여러 장치에 걸쳐 동기화되는 git 추적 설정
- 한 번 편집하고 모든 곳에 적용
- 선언적 플러그인 관리 (Claude Code)
- 특정 파일 제외 가능 (예: 회사에서 관리하는 파일)
- 에이전트별 맞춤 설정
지원 대상: Claude Code, Goose, Gemini CLI, Codex CLI, Amp — 그리고 공유(Shared) 폴더 (AGENTS.md, skills)
| 에이전트 | 설정 디렉터리 | 스킬 디렉터리 |
|---|
| Amp | ~/.config/amp/ | ~/.config/agents/skills/ |
| ... | | |
설치 (Installation)
필수 조건: Python 3.10 이상, uv
PyPI에서 (권장)
PyPI를 통해 한 번의 명령어로 설정합니다:
uvx --from ai-agent-rules ai-agent-rules setup
이 명령어는 다음 작업을 수행합니다:
- AI 에이전트 설정 심볼릭 링크 설치
ai-agent-rules (및 ai-rules 별칭)을 시스템 전체에서 사용 가능하도록 만듦
- 선택적 도구(claude-code-statusline) 자동 설치
설정 완료 후, 어느 디렉터리에서든 ai-agent-rules (또는 줄여서 ai-rules)를 실행할 수 있습니다.
GitHub에서 (개발 버전)
최신 개발 코드를 얻으려면 GitHub에서 설치합니다:
uvx --from ai-agent-rules ai-agent-rules setup --github
이 명령어는 main 브랜치에서 설치하며, 향후 업데이트를 위해 GitHub 소스를 자동으로 감지합니다.
로컬 개발 (Local Development)
기여하거나 로컬로 개발하려면:
git clone https://github.com/wpfleger96/ai-agent-rules.git
cd ai-agent-rules
uv run ai-agent-rules install
uv run ai-agent-rules <command>를 사용하여 로컬 변경 사항을 테스트할 수 있습니다. 전역 ai-agent-rules 명령어는 설치된 버전(PyPI/GitHub)을 계속 실행합니다.
업데이트 (Updating)
업데이트 확인 및 설치:
ai-agent-rules upgrade
ai-agent-rules upgrade --check
ai-agent-rules upgrade --force
...
사용법 (Usage)
설정 및 업그레이드 (Setup and Upgrade)
ai-agent-rules setup
ai-agent-rules setup --github
ai-agent-rules setup --profile work
...
설치 및 동기화 (Install and Sync)
ai-agent-rules install
ai-agent-rules install --agents claude
ai-agent-rules install --dry-run
...
상태 및 검사 (Status and Inspection)
ai-agent-rules status
ai-agent-rules diff
ai-agent-rules validate
...
구성 (Configuration)
ai-agent-rules config init
ai-agent-rules config show
ai-agent-rules config show --merged
...
제외 및 재정의 (Exclusions and Overrides)
스킬 (Skills)
ai-agent-rules skill list
ai-agent-rules skill show research
ai-agent-rules skill show research --url
...
ai-agent-rules tool list
ai-agent-rules tool show statusline
ai-agent-rules tool source list
...
셸 자동 완성 (Shell Completions)
ai-agent-rules completions install [--shell bash|zsh]
ai-agent-rules completions uninstall [--shell bash|zsh]
ai-agent-rules completions update [--shell bash|zsh]
...
설정 (Configuration)
사용자 레벨 설정 (User-Level Config)
사용자 레벨 설정을 위해 ~/.ai-agent-rules-config.yaml을 생성합니다:
설정 파일 위치:
~/.ai-agent-rules-config.yaml — 사용자별 설정 (제외 및 재정의)
~/.ai-agent-rules/state.yaml — 활성 프로필 및 마지막 설치 타임스탬프 (자동 관리)
~/.ai-agent-rules/cache/ — 병합된 설정 캐시 (자동 생성)
설정 재정의 (Settings Overrides)
settings_overrides를 사용하면 기기별 고유 값을 허용하면서도 settings.json을 git으로 동기화할 수 있습니다:
settings_overrides:
claude:
...
설치 시 병합 파이프라인:
src/ai_rules/config/claude/settings.json에서 기본 설정(Base settings) 가져오기 (git 추적)
- 프로필 재정의(Profile overrides) 적용 (활성 프로필이 있는 경우)
~/.ai-agent-rules-config.yaml에서 사용자 재정의(User overrides) 사용 (로컬 전용)
- 캐시를 통해 보존된 필드(Preserved fields) 병합 (에이전트 관리 필드)
~/.ai-agent-rules/cache/claude/settings.json에 캐싱
~/.claude/settings.json으로 심볼릭 링크(Symlinked)
재정의 사항을 변경한 후에는 ai-agent-rules install --rebuild-cache를 실행하세요.
보존된 필드 (Preserved Fields)
에이전트가 자체 설정 필드(예: MCP 서버 목록, 설치된 플러그인)를 관리하는 경우, ai-agent-rules는 캐시 파일을 통해 병합함으로써 이를 설치 과정에서 보존합니다:
| 에이전트 | 보존되는 필드 | 캐시 경로 |
|---|
| Claude | enabledPlugins, hooks | ~/.ai-agent-rules/cache/claude/settings.json |
| ... | | |
중첩 설정에 대한 배열 표기법 (Array Notation for Nested Settings)
재정의 명령어는 복잡하게 중첩된 구조를 위해 배열 인덱스 표기법을 지원합니다:
ai-agent-rules override set claude.hooks.SubagentStop[0].hooks[0].command "uv run ~/my-hook.py"
ai-agent-rules override set claude.env.MY_VAR "value"
...
Codex 네이티브 상태 표시줄 (Codex Native Status Line)
Codex는 푸터 설정을 ~/.codex/config.toml의 [tui].status_line 아래에 저장하므로, ai-agent-rules는 별도의 상태 표시줄 도구를 설치하는 대신 네이티브 Codex 푸터를 직접 관리합니다.
| Claude 상태 표시줄 | Codex 네이티브 항목 |
|---|
model | model-with-reasoning |
| ... | |
기기별로 settings_overrides를 사용하여 재정의할 수 있습니다: | |
settings_overrides:
codex:
tui:
...
codex.tui.status_line은 전체 푸터 목록을 대체하므로, 더 짧은 배열을 설정하면 기본값과 병합되는 것이 아니라 번들된 기본값을 제거합니다.
MCP 관리 (MCP Management)
MCP 서버는 src/ai_rules/config/mcps.json에 정의되어 있습니다 (모든 에이전트에서 공유). 각 에이전트의 MCP 매니저는 공유된 정의를 해당 네이티브 설정 형식으로 변환합니다:
| Agent | Format |
|---|
| Amp | JSON |
| ... | |
관리되는 MCP는 도구가 해당 항목을 사용자 추가 서버와 구별할 수 있도록 _managedBy: "ai-agent-rules" 마커로 추적됩니다. 사용자의 설정 또는 프로필에서 mcp_overrides를 통해 기기별 MCP를 재정의할 수 있습니다: | |
mcp_overrides:
my-server:
...
프로필 (Profiles)
프로필은 서로 다른 기기나 상황에 맞는 이름 지정 사전 설정(preset)으로 구성 오버라이드를 그룹화합니다.
ai-agent-rules profile list
ai-agent-rules profile show work
ai-agent-rules profile show work --resolved
...
도구에는 default -> personal -> work의 상속 체인을 가진 세 가지 내장 프로필이 제공됩니다. default는 일반적이며 누구에게나 적합합니다. personal과 work는 작성자 자신의 사전 설정(예: personal은 auto 권한 모드를 활성화)이며, 일반적인 추천 사항이 아닙니다. 프로필은 다음 키를 지원합니다:
name: work
description: Work laptop with extended context model
...
사용자가 정의한 프로필 파일(예: ~/.ai-agent-rules/profiles/<name>.yaml)은 현재 지원되지 않습니다. 기기별 사용자 지정은 ~/.ai-agent-rules-config.yaml에 작성해야 합니다. 우선순위 순서(낮음에서 높음): 프로필 오버라이드 → 로컬 ~/.ai-agent-rules-config.yaml. 사용자의 로컬 설정이 항상 승리합니다.
활성 프로필은 세션 간에 ~/.ai-agent-rules/state.yaml에 유지됩니다.
기본 프로필 사용하기
이 저장소의 작성자가 아니라면, 누구나 사용할 수 있는 일반적인 엔지니어링 기본값을 얻으려면 default 프로필로 설치하세요. 포크(fork)하지 않고도 개인화할 수 있으며, 이때는 ~/.ai-agent-rules-config.yaml 파일을 추가하면 됩니다: agents_md를 사용해 자체 규칙을 ~/AGENTS.md에 추가하고, settings_overrides를 사용해 사용자 기기에 맞는 에이전트 설정을 조정할 수 있습니다. 여러 개의 이름 지정된 프로필로 완전히 맞춤 설정하려면, 저장소를 포크하고 src/ai_rules/config/profiles/ 아래에 자체 프로필 YAML 파일과 조각(fragment) 파일을 추가하세요.
agents_md: |
## My Team Standards
...
플러그인 관리 (Plugin Management)
프로필 또는 사용자 설정에서 Claude Code 플러그인을 선언적으로 지정하세요:
plugins:
- name: feature-dev
...
ai-agent-rules install을 실행할 때 다음이 수행됩니다:
claude plugin marketplace add를 통해 누락된 마켓플레이스를 추가합니다.
claude plugin install <name>@<marketplace>를 통해 누락된 플러그인을 설치합니다.
- 이전에
ai-agent-rules에 의해 관리되었으나 설정에서 제거된 고아(orphaned) 플러그인을 자동 삭제합니다.
- 수동으로 설치되었고 설정에 없는 플러그인에 대해 경고를 표시하지만, 자동으로 삭제하지는 않습니다.
플러그인 상태는 ~/.claude/plugins/ai-agent-rules-managed.json에 추적되어 수동으로 설치된 플러그인이 제거되는 것을 방지합니다.
구조 (Structure)
src/ai_rules/config/
├── AGENTS.md # -> ~/AGENTS.md
├── chat_agent_hints.md # 채팅 에이전트 사용자 지정 지침
...
AI Rules는 기능을 향상시키는 선택적 도구를 자동으로 설치합니다:
- claude-code-statusline — 토큰 사용량, git 정보, 시간 및 작업 공간 세부 정보를 표시하는 Claude Code용 사용자 지정 상태 표시줄
이러한 도구들은 setup 및 install 중에 자동으로 설치됩니다. 설치 상태를 확인하세요:
ai-agent-rules status
ai-agent-rules tool list
만약 도구 설치에 실패하더라도, ai-agent-rules는 정상적으로 계속 진행됩니다 (fail-open 동작).
확장하기
공유 스킬 추가 (Claude Code, Goose, Codex, Amp):
- 프론트매터(frontmatter)를 포함하여
src/ai_rules/config/skills/my-skill/SKILL.md 파일을 생성합니다:
---
name: my-skill
description: "간략한 설명"
...
ai-agent-rules install을 실행합니다.
- 스킬은
~/.claude/skills/, ~/.config/goose/skills/, ~/.config/agents/skills/ (Amp), 그리고 ~/.agents/skills/ (Codex)에 심볼릭 링크됩니다. Gemini는 내장 별칭(alias)을 통해 ~/.agents/skills/에서 스킬을 발견하므로, 전용 디렉터리가 필요하지 않습니다.
Claude 훅 추가:
src/ai_rules/config/claude/hooks/my-hook.py 파일을 생성합니다.
ai-agent-rules install을 실행합니다.
- 설정 또는 오버라이드(overrides)에서 구성합니다 (예: UserPromptSubmit, SubagentStop).
새 AI 도구 추가:
src/ai_rules/config/<tool>/에 설정을 추가합니다.
src/ai_rules/agents/<tool>.py를 구현합니다.
src/ai_rules/targets/registry.py::TARGET_CLASSES에 등록합니다.
안전성