mcpField
B
blueprint-rules

blueprint-rules

github.com/laurigatesエージェントワークフロー5957 回インストール1 日前に更新
リポジトリ

blueprint-rules について

blueprint-rulesは、Claudeプロジェクトのモジュール型ルールを管理するスキルです。ルールの作成・編集、ファイルパスによる適用範囲の指定、`CLAUDE.md`との同期に対応します。

主な機能

  1. 01プロジェクトとユーザーのルール一覧
  2. 02モジュール型ルールの作成・編集
  3. 03ファイルパスによる適用範囲の指定
  4. 04PRDからルールを生成
  5. 05`CLAUDE.md`との同期と検証

活用シーン

  1. 01特定のファイル形式向けルールの追加
  2. 02プロジェクトPRDからルールファイルを作成
  3. 03`CLAUDE.md`をモジュール型ルールに分割
  4. 04ルールの適用範囲や競合の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/laurigates/claude-plugins --skill blueprint-rules

インストール後、Claude Code で/blueprint-rulesを入力して読み込まれたか確認します。

詳細

プロジェクトのモジュール式ルールを管理します。ルールは .claude/rules/ 内の Markdown ファイルで、Claude にコンテキストに応じた指示を提供します。

このスキルを使う場面

次のような場合にこのスキルを使います…次のような場合は代替手段を使います…
.claude/rules/ 内のモジュール式ルールを作成・編集する必要がある単一ファイルのプロジェクト指示には /blueprint:claude-md を使う
プロジェクトおよびユーザーレベルのルールをすべて一覧表示したいPRD から自動生成するには /blueprint:generate-rules を使う
特定のファイル形式にパス固有のルールを追加する必要があるCLAUDE.md の構造を確認したいだけ
ユーザーレベルのルール(~/.claude/rules/)を管理する既存の CLAUDE.md とルールを同期する必要がある

ルールの階層(優先度:低 → 高)

レベル場所適用範囲
ユーザーレベル~/.claude/rules/*.mdすべてのプロジェクトに適用される個人ルール
プロジェクトルール.claude/rules/*.md(paths なし)このプロジェクト内のすべてのファイル
パス固有のルール.claude/rules/*.md(paths あり)一致するファイルのみ

プロジェクトルールはユーザーレベルのルールより優先されます。パス固有のルールは、一致するファイルで作業するときに条件付きで読み込まれます。

手順:

  1. blueprint の状態を確認する:

    • docs/blueprint/manifest.json を読み込む
    • モジュール式ルールが有効か確認する
    • 有効でない場合は、有効化を提案する:
      Use AskUserQuestion:
      question: "モジュール式ルールは有効になっていません。有効にしますか?"
      options:
        - "はい、.claude/rules/ の構成を作成する" → 有効にして続行
        - "いいえ、単一の CLAUDE.md を使う" → 終了
      
  2. アクションを決定する(AskUserQuestion を使う):

    question: "What would you like to do with modular rules?"
    options:
      - "List existing rules" → show project and user-level rules
      - "Add a new rule" → create new rule file
      - "Edit existing rule" → modify rule
      - "Generate rules from PRDs" → auto-generate from requirements
      - "Manage user-level rules" → personal rules in ~/.claude/rules/
      - "Sync rules with CLAUDE.md" → bidirectional sync
      - "Validate rules" → check for issues
    
  3. 既存のルールを一覧表示する:

    • .claude/rules/ を再帰的に検索して .md ファイルを探す
    • ~/.claude/rules/ を検索してユーザーレベルのルールを探す
    • (スコープが設定されている場合)frontmatter の paths フィールドを解析する
    • 次のように表示する:
      📜 モジュール式ルール
      
      ユーザーレベルのルール(~/.claude/rules/ — 個人用、すべてのプロジェクト):
      - preferences.md - 個人のコーディングスタイル
      - workflow.md - 個人のワークフロー習慣
      
      プロジェクト全体のルール(すべてのファイルに適用):
      - development.md - TDD ワークフローと規約
      - testing.md - テスト要件
      
      パス固有のルール(特定のパスに適用):
      - frontend/react.md - paths: ["src/components/**/*.{ts,tsx}"]
      - backend/api.md - paths: ["src/api/**/*.ts"]
      
      合計:6 件のルール(ユーザーレベル 2 件、全体ルール 2 件、パス固有 2 件)
      
  4. 新しいルールを追加する(AskUserQuestion を使う):

    question: "What type of rule would you like to create?"
    options:
      - "Development workflow" → development.md template
      - "Testing requirements" → testing.md template
      - "Code style/conventions" → code-style.md template
      - "Architecture patterns" → architecture.md template
      - "Language-specific" → prompt for language
      - "Framework-specific" → prompt for framework
      - "Custom" → blank template with guidance
    

    次に、次の質問をする:

    question: "Should this rule apply to all files or specific paths?"
    options:
      - "All files (global)" → no paths frontmatter
      - "Specific file patterns" → prompt for glob patterns
    
  5. ルールファイルのテンプレート:

    全体ルールのテンプレート:

    # {Rule Name}
    
    ## Overview
    {Brief description of when this rule applies}
    
    ## Requirements
    - {Requirement 1}
    - {Requirement 2}
    
    ## Examples
    {Code examples if applicable}
    

    スコープ付きルールのテンプレート(paths frontmatter を使用):

    ---
    paths:
      - "src/components/**/*.{ts,tsx}"
    ---
    
    # {Rule Name}
    
    ## Overview
    {Brief description - applies only to matched paths}
    
    ## Requirements
    - {Requirement 1}
    - {Requirement 2}
    

    ブレース展開に対応しています:*.{ts,tsx} は .ts と .tsx の両方のファイルに一致します。 Glob パターンは標準的な構文に従います:再帰検索には **、1 階層のみには * を使います。

  6. PRD からルールを生成する:

    • docs/prds/ 内のすべての PRD を読み込む
    • 主な要件と制約を抽出する
    • ドメイン別(テスト、アーキテクチャ、コーディング規約)にグループ化する
    • ルールファイルを生成する:
      • rules/from-prd-testing.md - PRD から抽出したテスト要件
      • rules/from-prd-architecture.md - アーキテクチャ上の決定事項
      • rules/from-prd-conventions.md - コーディング規約
  7. ルールを CLAUDE.md と同期する:

    • 既存の CLAUDE.md のセクションを解析する
    • .claude/rules/ 内のルールと比較する
    • 同期オプションを提示する:
      question: "どのように同期しますか?"
      options:
        - "CLAUDE.md → rules(モジュール式ファイルに分割)"
        - "Rules → CLAUDE.md(統合)"
        - "両方をマージ(一意の内容を統合)"
      
  8. ルールを検証する:

    • frontmatter の構文エラーを確認する
    • paths フィールドの glob パターンを検証する
    • 競合するルールがないか確認する
    • 範囲が広すぎる、または狭すぎる場合に警告する
    • 次のように報告する:
      ✅ ルールの検証
      
      確認済み:4 件のルール
      有効:4 件
      警告:1 件
        - frontend/react.md:paths パターンの範囲が広すぎる可能性があります
      
      エラーは見つかりませんでした。
      
  9. マニフェストを更新:

    • 作成/変更ルールを generated_artifacts.rules に追加します
    • updated_at のタイムスタンプを更新します
  10. 報告:

    ✅ ルール管理が完了しました!
    
    {Action summary}
    
    現在のルール:{count} ファイル
    - グローバル:{count}
    - スコープ指定:{count}
    
    `/blueprint:status` を実行すると、設定全体を確認できます。
    
  11. 次の操作を確認(AskUserQuestion を使用):

    question: "ルールを更新しました。次に何をしますか?"
    options:
      - label: "CLAUDE.md を更新(推奨)"
        description: "概要を再生成して、ルールの変更を反映します"
      - label: "別のルールを追加"
        description: "ドメイン固有のルールをさらに作成します"
      - label: "ブループリントのステータスを確認"
        description: "/blueprint:status を実行して、設定全体を確認します"
      - label: "今回は終了"
        description: "終了します。ルールはすぐに有効になります"
    

    選択内容に応じて:

    • 「CLAUDE.md を更新」→ /blueprint:claude-md を実行します
    • 「別のルールを追加」→ ステップ 4(新しいルールを追加)から再開します
    • 「ブループリントのステータスを確認」→ /blueprint:status を実行します
    • 「今回は終了」→ 終了します

一般的なルールパターン:

ルールの種類推奨パススコープパターン
React コンポーネントrules/frontend/react.md["**/*.{tsx,jsx}"]
API ハンドラーrules/backend/api.md["src/{api,routes}/**/*"]
データベースモデルrules/backend/models.md["src/{models,db}/**/*"]
テストファイルrules/testing.md["**/*.{test,spec}.*"]
ドキュメントrules/docs.md["**/*.md", "docs/**/*"]
設定ファイルrules/config.md["*.config.{js,ts,mjs}", ".env*"]

コメント