mcpField
L
laravel-project-patterns

laravel-project-patterns

github.com/hosmelq開発1569 回インストール1 日前に更新
リポジトリ

laravel-project-patterns について

Laravel プロジェクトの規約に沿ってコードやテストを作成するためのスキルです。既存の実装を調べ、対象を絞った例を参照し、実際の API、テスト契約、プロジェクト固有のファクトリー挙動を保ちます。

主な機能

  1. 01周辺コードと設定の確認
  2. 02パターン例の検索と取得
  3. 03標準テスト契約の維持
  4. 04ファクトリー関連の指針

活用シーン

  1. 01Laravel 規約に沿った機能実装
  2. 02テストスイート規約に沿うテスト追加
  3. 03ファクトリーと関連レコードの処理

インストール

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

$npx skills add https://github.com/hosmelq/skills --skill laravel-project-patterns

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
docs/
benchmark.md
search.md
references/actions/
00-action-implementation-order.md
01-input-fields.md
02-input-settings.md
03-input-ranges.md
04-input-relations.md
05-create-update.md
06-create-owner.md
07-create-dispatch.md
08-update-dispatch.md
09-active-parent.md
10-create-child.md
11-create-assignment.md
12-create-range.md
13-update-parent.md
14-update-child.md
15-update-range.md
16-update-group-order.md
17-simple-lifecycle.md
18-delete-history.md
19-delete-cascade.md
20-delete-parent.md
21-delete-child.md
22-state-lifecycle.md
23-deactivate-parent.md
24-reactivate-child.md
25-select-default.md
26-select-initial.md

README(原文)English

プロジェクトの README より

この README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。

Laravel Project Patterns

Adapt fictional domain types and helpers to inspected contracts, keep reference-project identities confidential, and preserve real APIs such as sqid and HasSqid. For uncovered behavior, report the gap and follow the project’s conventions.

Inspect affected code, nearby examples and applicable configuration; use their actual namespaces and, for tests, suite paths.

Retrieve Missing Patterns

Reuse examples and candidate descriptions already in this context first. For missing behavior, write temporary JSON with request, paths (actual project paths), and code_context (concise inspected facts), then use:

uv run <skill-directory>/scripts/search.py search --task-file=<task.json> --session=<session.json>
uv run <skill-directory>/scripts/search.py read --session=<session.json> --ids <id> <id>

Search returns five ranked candidates; new IDs include applicability and token cost, known IDs only id and read. Select the smallest applicable set. For implementation use the model guide, enum guide, action guide, request guide, controller guide, resource guide, policy guide, job example, listener example, middleware guide, exception guide, support guide, console-notifications guide, bootstrap guide, database guide, forms guide, tooling guide. For a complete test block select its ordered checklist: create, destroy, edit, index, show, store, update, authentication or move. Initial and default selection include their ordered cases. For model tests use the model checklist; for HTTP Resources use the resource checklist; for enum tests use the enum checklist; for action tests use the action checklist; for jobs use the job checklist; for middleware use the middleware checklist; for support helpers use the support checklist; for console commands use the console checklist; for architecture use the complete ordered example. Media dimensions belong to Listener tests. Keep standalone tests at file scope when the suite uses no describe. A specialized example covers its stated assertions; retrieve another only for missing contracts. Search uncovered requirements with relevant facts; --limit=10 can broaden a shortlist. Rank and shortlist size do not prove coverage. Do not glob the catalog or open its linked files directly.

Read emits complete Markdown examples and a receipt; blocked IDs need another batch (4,000 source tokens per response). read: true means already emitted: reuse that content; repeated reads omit it. Use one temporary session outside the skill per task/agent context. After compaction use a new session to restore descriptions, or read --repeat if the needed ID remains known. Receipts are not model memory. Changed sources require searching again.

For tests, keep canonical names, documented case order, fixtures, assertions and datasets. Keep behavior qualifiers (parent/ancestor, case-insensitive, relation state). Add : field_name only to distinguish separate tests within one block; named dataset rows already distinguish fields. Do not introduce behavior to match an example. Prefer one line for simple calls of up to 100 characters; wrap longer calls or when a break improves readability.

Inspect factory definitions: use recycle() for existing default parents and derive unmodified intermediates from the created record. Keep trashed parents explicit. Use for() for optional or role-specific relations, root-only tenant assignment and deliberate mismatches. Recycling reaches nested factories, matches model type and leaves fixed/derived foreign keys unchanged; verify option-list membership and avoid same-type pools when an exact parent matters.

First search installs dependencies, downloads the model and builds the index; later searches refresh changed Markdown. Read loads no model. Resolve failures using the search guide. Benchmark evidence is optional. Maintainers may inspect catalog files directly.

コメント