本文へスキップ
Pathrule

ドキュメント

パターンの概要

Pathruleのパターンとは何か、なぜあるのか、そしてメモリ、ルール、スキルを厳選したバンドルがどのようにスコープ済みの状態でワークスペースに届くのかを説明します。

このページの内容

パターンは、特定のスタックや特定の開発課題に向けた、すぐに使えるチームナレッジのパッケージです。空のワークスペースから始めてメモリ、ルール、スキルをすべて手で書く代わりにパターンを追加すれば、AIアシスタントは、そのスタックで必要になりがちな規約と起こしがちなミスをあらかじめ把握した状態でプロジェクトを始められます。

各パターンは、Pathruleがすでに使っている3種類のコンテンツタイプを束ねたもので、どのピースも属するパスにあらかじめスコープされた状態で届きます。サーバーコンポーネントに関するルールは/appに、課金に関するメモリは課金サービスに、レビュー用のスキルはルートに配置されます。1つのグローバルファイルにまとめて放り込まれるものはありません。

パターンがある理由

多くのリポジトリは、初期段階で同じ疑問に直面します。Next.js App Routerのプロジェクトでは、サーバーコンポーネントとクライアントコンポーネントをどう分けるべきか。Supabaseの行レベルセキュリティのルールはどこに置くか。Stripeのwebhookを安全に処理するにはどうすればよいか。開発環境では速かったクエリが、本番環境ではなぜデッドロックするのか。答えはよく知られているのに、どのチームもそれを改めて調べ直し、書き直しています。

パターンはそうした答えをパス単位のPathruleコンテンツとして一度まとめておくので、新しいワークスペースは数秒で取り入れられます。

  • 貼り付けではなく、スコープ済み。 パターンはプロンプトの塊ではありません。各ピースが置かれるパスを宣言しているため、アシスタントはそれが関係する場所でしか目にしません。UIのちょっとした修正でデータベースのルールを読む必要はありません。
  • 自由形式ではなく、型付き。 パターンはメモリ、ルール、スキルで構成されており、自分で書くものと同じタイプです。インポートしたルールはスコープ種別と優先度を保持し、インポートしたスキルは名前で呼び出せます。
  • トピックに合わせた構成。 ルール、メモリ、スキルの配分はパターンごとに異なります。フレームワークのパターンは厳格な規約をルールで表すものが中心で、ワークフローのパターンはチェックリストとして実行するスキルが中心です。
  • インポート後は自分のもの。 パターンのインポートは一度きりの初期投入であり、継続的な購読ではありません。ピースはワークスペース内の通常のコンテンツになり、ほかのコンテンツと同じように編集できます。

カタログ

公開カタログはpathrule.io/patternsにあります。150個のパターンを収録しており、すべてファーストパーティでApache-2.0のもとで公開され、8つのカテゴリに分類されています。

  • Frameworkは、アプリやプラットフォームのフレームワーク向けです。Next.js App Router、Nuxt、SvelteKit、Astro、React RouterからDjango、Rails、Laravel、Spring Boot、ASP.NET Core、SwiftUI、Flutter、Expo、Unityまでを扱います。
  • Frontendは、コンポーネント、フォーム、状態管理、スタイリング、アクセシビリティ、Core Web Vitals、ハイドレーション、国際化、オフライン時の挙動を扱います。
  • Backendは、データアクセス、ORM、キュー、検索、API、認証、マルチテナンシー、データベースのパフォーマンスを扱います。
  • Billingは、決済、サブスクリプション、請求書発行と税、チェックアウト、支払い(ペイアウト)、返金、チャージバックを扱います。
  • Infraは、コンテナ、サーバーレスランタイム、CI/CD、Infrastructure as Code、オブザーバビリティ、キャッシュ、DNS、TLSを扱います。
  • Workflowは、コードレビュー、デバッグ、依存関係のアップグレード、Gitワークフロー、リリース、インシデント対応、オンボーディングを扱います。
  • AIは、本番環境のエージェント、エージェントのメモリ、評価、オブザーバビリティ、ガードレール、ファインチューニング、AIが生成したコードの検証を扱います。
  • Securityは、アカウント乗っ取りとMFA、サービスの認証情報、レート制限、暗号化、認可、エンタープライズSSO、最小権限を扱います。

カタログページにはカテゴリのサイドバーと検索ボックスがあります。各パターンには専用のページがあり、次の内容が表示されます。

  • 内容のサマリー。ルール、メモリ、スキルがそれぞれいくつ含まれているかを、バンドル自体から算出して表示します
  • すべての対象パスのパスマップと、パスごとにまとめたピースの全一覧
  • パターンがある理由。解決する課題、想定する利用者、アシスタントに起こさせないようにするミス
  • 追加に使うトークンとコピーボタン、そしてバンドル全体を手動でコピーする手段
  • ライセンス、バージョン、最終更新日と、ソースへのリンク

すべてのパターンは/patterns/<slug>/rawでプレーンなMarkdownとしても配信されています(ページ上の「View as markdown」リンク)。そのため、AIアシスタントは共有されたリンクからバンドル全体を直接読み込めます。

Pathrule全体の中でのパターンの位置づけ

パターンは新しいランタイムの概念を持ち込むものではありません。すでにおなじみのモデルの上に載るパッケージ形式です。

  • ピースはメモリ、ルール、スキルです。
  • 各ピースのパスには、自分で書くコンテンツと同じパススコープのルールが適用されます。
  • インポートしたピースは、ワークスペースのほかのコンテンツと同じフックと、同じジャストインタイムの取得を通じて提示されます。

考え方はこれだけです。パターンは厳選された出発点であり、アシスタントがすでに読み込んでいる形そのままで表現されています。

  • パターンの構成では、コンテンツモデル(ピース、パス、バージョニング、カタログを支えるオープンなパッケージ)を詳しく説明します。
  • パターンのインポートでは、トークン、プレビュー、あとからバンドルを削除する方法を説明します。
  • 基本概念では、このモデルに初めて触れる方向けに、メモリ、ルール、スキルを説明します。