본문으로 건너뛰기

© 2026 Molayo

Zenn헤드라인2026. 05. 08. 19:29

Claude Code にオレたち流のコードを書かせる(中編)— 組織のルールを共有する

요약

본 기술 기사는 Claude Code를 활용하여 조직 전체의 코딩 규칙을 체계적으로 관리하고 적용하는 워크플로우를 소개합니다. 'extract-rules'로 개별 프로젝트의 규칙을 추출한 후, 'merge-rules' 기능을 통해 여러 프로젝트의 규칙을 통합하여 조직 공통 표준(Principles)과 패턴을 생성할 수 있습니다. 최종적으로 'apply-rules'를 사용해 이 공통 규칙 세트를 신규 및 기존 프로젝트에 쉽게 적용함으로써, 팀 전체가 일관된 코딩 스타일을 유지하도록 돕습니다.

핵심 포인트

  • **3단계 워크플로우:** `extract-rules` (개별 추출) $ ightarrow$ `merge-rules` (공통 통합) $ ightarrow$ `apply-rules` (전사 적용)의 체계적인 규칙 관리 시스템을 구축했습니다.
  • **규칙 자동 승격(Promotion):** 여러 프로젝트에서 공통적으로 사용되는 로컬 패턴(`.local.md`)은 자동으로 조직 공통 표준으로 격상되어 일관성을 높입니다.
  • **지능형 규칙 적용:** `apply-rules`는 기술 스택(Gemfile, package.json 등)을 자동 감지하고, 모호한 부분에 대해서는 사용자에게 인터랙티브하게 확인을 요청하여 오류를 최소화합니다.
  • **프로젝트 독립성 유지:** 조직 공통 규칙을 적용하더라도 기존 프로젝트의 고유한 도메인 지식(`.local.md`)은 보호되어 충돌을 방지합니다.
  • **확장 가능성:** 이 시스템은 코딩 규칙 관리(Rule Management)를 자동화하여, 개발팀이 일관된 품질과 스타일을 유지하며 협업할 수 있는 기반을 마련했습니다.

この記事は Claude on SonicGarden の記事です。ソニックガーデンのプログラマが、Claude Code の活用について書いています。

#claude_on_sonicgarden

##きっかけ

前編で紹介した extract-rules で各プロジェクトのルールを抽出できるようになりました。

せっかく各プロジェクトのルールを抽出できたので、これをいい感じにマージしたらオレ流さらにはオレたち流のルールの完成なのでは?

それを会社全体で共有できればみんなが Claude Code にいい感じのコードを書いてもらえるのでは?と思い、共通ルールを一元管理して配布できるスキルを作りました。

##全体像

  • extract-rules: 各プロジェクトからルールを抽出(前編) -
  • merge-rules: 複数プロジェクトのルールを統合して組織共通ルールセットを作成 -
  • apply-rules: 組織共通ルールを個々のプロジェクトに適用

前編で触れた「Principles(.md)と Project-specific patterns(.local.md)の分離」がここで効いてきます。

ファイル役割merge-rulesでの扱い
*.mdポータブルな原則マージ対象
*.local.mdプロジェクト固有パターン昇格候補
*.examples.mdコード例ルールに追従してマージ

merge-rules

/merge-rules

設定ファイルにマージ元のプロジェクトを指定しておきます。

---
projects:
...

Principles のマージ

各プロジェクトの ## Principles を集めて統合します。同名の原則はヒント(括弧内のキーワード)を和集合で統合。意味が異なる場合は両方保持してレポートで通知してくれます。

.local.md パターンの昇格

各プロジェクトの .local.md に書かれた「プロジェクト固有」のパターンでも、複数プロジェクトで共通して使われているなら、それはもう組織共通のパターンだよねということで、ポータブルなルールに昇格(promote)させます。

promote_threshold: 0.5 なら、プロジェクトが 3 つの場合、2 つ以上で見られるパターンが昇格対象です。

- プロジェクト A: ✅
- プロジェクト B: ✅
...

昇格されなかったパターンもレポートに出るので、「これは昇格させたほうがよくない?」みたいな判断材料になります。

ちなみに、プロジェクトによって rails-controller.md だったり rails-controllers.md だったりする揺れも自動で正規化してくれます。

apply-rules

/apply-rules ~/org-rules/.claude/rules
/apply-rules --dry-run # source を設定ファイルで指定済みの場合

GitHub URL またはローカルパスでソースを指定します。設定ファイル(.claude/apply-rules.local.md)に書いておけば引数なしでも実行できます。

Tech Stack 自動検出

Gemfilepackage.json などからプロジェクトの技術スタックをベストエフォートで検出して、関連しそうなルールを絞り込みます。判断しきれないもの(未検出のインテグレーション等)は後述のインタラクティブな確認で聞いてきてくれます。

インタラクティブな解決

自動で判断できないところは聞いてきてくれます。

> 以下のインテグレーションルールは検出されませんでした。適用しますか?
> 1. integrations/rails-pundit — 認可ライブラリ Pundit のルール
> 2. integrations/rails-good-job — ジョブキュー GoodJob のルール
...

同名の原則で内容が異なる場合も、組織ルールを採用するか、プロジェクトのを維持するか、両方保持するかを選べます。

.local.md の保護

既存の .local.md の内容は基本的に変更・削除しません。プロジェクト固有のドメイン知識が組織ルールの適用で消えたら困るので。

適用後、extract-rules/merge-rules の規約に沿わないファイルがあれば検出してマイグレーション計画も提案してくれます。

使ってみて

  • 今までなんとなくみんなの頭の中にあったオレたち流がルールによって明確になった
  • いいコードの方向性は大体一緒だけど、細かい好みや宗派の違いはあるので、そのへんを考慮してルールを取捨選択したほうがみんな幸せになれそう
  • /apply-rules で新規プロジェクトにもオレたち流ルールをサクッと持ってくれるとはとても便利

ただ、ルールを適用しただけでは Claude Code にルールを無視されることも普通にあります。これは次回の後編で対策します。

おわりに

extract-rulesmerge-rules

apply-rules

3 つの機能で、ルールの 관리가 조직 레벨에서 이루어졌습니다.

다음 번 후편에서는, 실제 규칙이 지켜지고 있는지 확인하는 rules-review

에 대해 소개합니다.

이번에 소개한 스킬은 다음 리포지토리에서 공개하고 있습니다.

hiroro-work/claude-plugins

이 기사는 Zenn/Qiita 에 크로스 포스트 하고 있습니다

AI 자동 생성 콘텐츠

본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
1

댓글

0