mcpField
R
rule-writing

rule-writing

github.com/millionco開発15.1k440 回インストール2 週間前に更新
リポジトリ

rule-writing について

rule-writing は、調査契約に基づいて lint ルールを実装する開発スキルです。検出器の設計、敵対的テスト、ルール登録、検証を案内し、不確かなケースは対象外にします。

主な機能

  1. 01検出条件と対象外を計画
  2. 02有効・無効ケースの敵対的テストを追加
  3. 03契約で定めた動作を実装
  4. 04生成されたルール登録を更新
  5. 05対象テストとパッケージチェックを実行

活用シーン

  1. 01調査契約に基づくルール実装
  2. 02境界ケースや誤検出のテスト追加
  3. 03引き継ぎ前のルール検証

インストール

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

$npx skills add https://github.com/millionco/react-doctor --skill rule-writing

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

詳細

ルールを書く

rule-research の契約を実装します。まだ契約がない場合は、編集前に簡潔な契約を定義します。

検出器を計画する

診断条件、必要な構文とバインディング、サポート対象外のケース、敵対的テストを明記します。ユーザーがすでに実装を依頼している場合は、この計画を簡潔にまとめます。

ヘルパーを追加する前に、再利用できるものがないか検索します。

bunx @rayhanadev/truffler "<symbol-or-behavior>" \
  packages/oxlint-plugin-react-doctor/src/plugin \
  --kind function,interface,type,constant --limit 20

docs/HOW_TO_WRITE_A_RULE.md、近くにあるルール、ユーティリティ、テストを読みます。

実装とテスト

  1. 検出器の擬似コードを書きます。
  2. 有効・無効の敵対的テストを追加します。
  3. 契約でサポートする動作のみを実装します。
  4. 新しいユーティリティを作成する前に、既存のユーティリティを再利用します。
  5. リポジトリのコマンドを使って、生成された登録を更新します。
  6. 対象を絞ったテストとパッケージのチェックを実行します。
  7. 実際のコードからのフィードバックで誤検出が見つかる可能性がある場合は、rde-eval を使用します。
  8. 完成した変更を rule-validate に引き継ぎます。

次の点を考慮します。

  • インポートのエイリアスとシャドーイングされたバインディング
  • 即時実行されないネストされた関数
  • JavaScript と TypeScript の透過的なラッパー
  • 動的な計算プロパティ
  • インポートされた値、または解決されていない値
  • フレームワークの回避手段
  • 診断の主張に必要な制御フロー上の経路
  • レビューや評価で見つかったリグレッション

判断が確かでないケースは対象外にします。メッセージは、検出器が証明できる条件に合わせます。

リポジトリのチェックを実行する

@antfu/ni のコマンドを使用します。

nr test
nr lint
nr typecheck
nr format
nr smoke:json-report

作業中は対象を絞ったコマンドを使用します。実行した各コマンドを記録します。

実装内容を報告する

変更したルール、テスト、登録、再利用または追加したユーティリティ、報告する動作、意図的に対象外とした内容、検証結果を報告します。最後に rule-validate への引き継ぎで締めくくります。

コメント