mcpField
E
effect-patterns-hub

effect-patterns-hub

github.com/mepuka開発549 回インストール44 週間前に更新
リポジトリ

effect-patterns-hub について

effect-patterns-hub は、Effect-TS 開発者向けのパターン参照スキルです。検索可能な実装例からパターンを探し、手法を比較し、Effect の機能を学べます。エラー処理、並行処理、ストリーム、テストなどを扱います。

主な機能

  1. 01130 件以上の Effect-TS パターンを参照
  2. 02テーマや用途から実装例を検索
  3. 03同じ課題への手法を比較
  4. 04初級から上級までのパターンを収録
  5. 05キーワードとタグで検索

活用シーン

  1. 01Effect のエラー処理例を探す
  2. 02並行処理やストリーム実装を参照
  3. 03サービス層と依存性注入を設計
  4. 04依存関係をモックしたテストを作成

インストール

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

$npx skills add https://github.com/mepuka/effect-ontology --skill effect-patterns-hub

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

同梱ファイル

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

patterns/
_README.review.md
_start_here.json
access-config-in-context.mdx
accessing-current-time-with-clock.mdx
accumulate-multiple-errors-with-either.mdx
add-caching-by-wrapping-a-layer.mdx
add-custom-metrics.mdx
avoid-long-andthen-chains.mdx
beyond-the-date-type.mdx
brand-model-domain-type.mdx
brand-validate-parse.mdx
build-a-basic-http-server.mdx
combinator-conditional.mdx
combinator-error-handling.mdx
combinator-filter.mdx
combinator-flatmap.mdx
combinator-foreach-all.mdx
combinator-map.mdx
combinator-sequencing.mdx
combinator-zip.mdx
comparing-data-by-value-with-structural-equality.mdx
compose-scoped-layers.mdx
conditionally-branching-workflows.mdx
constructor-fail-none-left.mdx
constructor-from-iterable.mdx
constructor-from-nullable-option-either.mdx
constructor-succeed-some-right.mdx
constructor-sync-async.mdx
constructor-try-trypromise.mdx
control-flow-with-combinators.mdx

詳細

Effect パターンハブ

目的:EffectPatterns リポジトリから厳選した 130 以上の Effect-TS パターンにすばやくアクセスできます。このスキルを使って、特定の実装パターンを探したり、アプローチを比較したり、ベストプラクティスを参照したりできます。

トリガー

  • 特定の Effect パターンやイディオムを探している
  • Effect の概念を実際の例で確認したい
  • 同じ問題に対する複数のアプローチを見たい
  • 実装戦略を比較したい
  • Effect の新機能を学びたい

パターンライブラリの場所

ローカルパターン:.claude/skills/effect-patterns-hub/patterns/
ドキュメント:docs/effect-patterns/
件数:MDX 形式のパターンが 130 件以上

すばやく確認できる判断ツリー

必要な作業...
Effect の作成
変換と合成
制御フロー
エラー処理
Concurrency
Services & Dependency Injection
Resource Management
Streaming
Schema & Validation
データ型
パターンマッチング
HTTP と Web
テスト
オブザーバビリティ
ランタイムと実行
設定
時間とスケジューリング
プロジェクトのセットアップ
高度な概念

パターンのカテゴリー

スキルレベル別

初級(入門)

  • コンストラクターパターン(succeed、fail、sync、async)
  • 基本的なコンビネーター(map、flatMap、tap)
  • シンプルなエラー処理(catch、catchTag)
  • Effect.gen の基本
  • runPromise/runSync

中級(アプリケーションの構築)

  • サービスとレイヤー
  • スキーマ検証
  • HTTP サーバーとクライアント
  • リソース管理
  • 並行処理の基本(Effect.all、fork)
  • モックを使ったテスト

上級(本番システム)

  • 複雑なレイヤー合成
  • カスタムランタイム
  • ストリーミングパイプライン
  • グレースフルシャットダウン
  • OpenTelemetry との統合
  • パフォーマンスの最適化(Chunk、Ref)
ユースケース別

ドメインモデリング

  • スキーマ定義
  • ブランド型
  • タグ付きエラー
  • オプション値や失敗する可能性のある値に対する Option/Either

API 開発

  • HTTP サーバーのセットアップ
  • ルート処理
  • リクエストの検証
  • エラー処理
  • レスポンスのフォーマット

データ処理

  • ストリーム処理
  • バッチ処理
  • 並列処理
  • リソースセーフなパイプライン

アプリケーションアーキテクチャ

  • サービスレイヤーの設計
  • 依存性注入
  • モジュール合成
  • 設定管理

テスト

  • モックレイヤー
  • テストユーティリティ
  • テスト可能なサービス

可観測性

  • 構造化ログ
  • 分散トレーシング
  • カスタムメトリクス
  • パフォーマンス監視

パターンの検索

キーワード別

Grep を使ってキーワードでパターンを検索します。

# Find patterns about error handling
grep -l "error" patterns/*.mdx

# Find patterns about concurrency
grep -l "concurrent\|parallel\|fiber" patterns/*.mdx

# Find patterns about HTTP
grep -l "http\|server\|client" patterns/*.mdx

# Find patterns about testing
grep -l "test\|mock" patterns/*.mdx
フロントマタータグ別

すべてのパターンにはメタデータが含まれています。

  • title:人が読みやすい名前
  • id:一意の識別子(拡張子を除いたファイル名)
  • skillLevel:beginner、intermediate、advanced
  • useCase:domain-modeling、error-handling、concurrency など
  • summary:簡潔な説明
  • tags:検索用キーワード
  • related:関連パターンへのリンク
よくある検索

「...から Effect を作成するにはどうすればよいですか?」

  • → コンストラクタのパターンを検索します:grep -l "constructor" patterns/*.mdx
  • → constructor-*.mdx ファイルを確認します

「...の際にエラーを処理するにはどうすればよいですか?」

  • → エラー処理を検索します:grep -l "error\|catch\|retry" patterns/*.mdx
  • → handle-*.mdx と pattern-catchtag.mdx を確認します

「複数の処理を並行して実行するにはどうすればよいですか?」

  • → 並行処理を検索します:grep -l "concurrent\|parallel\|all\|fork" patterns/*.mdx
  • → run-effects-in-parallel-with-all.mdx を確認します

「サービスを扱うにはどうすればよいですか?」

  • → サービスを検索します:grep -l "service\|layer\|dependency" patterns/*.mdx
  • → model-dependencies-as-services.mdx と understand-layers-for-dependency-injection.mdx を確認します

「データを検証するにはどうすればよいですか?」

  • → スキーマを検索します:grep -l "schema\|validate\|parse" patterns/*.mdx
  • → define-contracts-with-schema.mdx と parse-with-schema-decode.mdx を確認します

他のスキルとの連携

Foundations → Patterns Hub

基礎概念の具体例が必要な場合は、パターンを確認します:

  • effect-foundations では概念を学び、パターンでは実装方法を確認できます
Architect → Patterns Hub

システムを設計する際は、アーキテクチャパターンを参照します:

  • レイヤーの合成 → organize-layers-into-composable-modules.mdx
  • サービス設計 → model-dependencies-as-services.mdx
  • スコープ付きリソース → scoped-service-layer.mdx
Engineer → Patterns Hub

機能を実装する際は、関連するパターンを探します:

  • HTTP エンドポイント → handle-get-request.mdx、validate-request-body.mdx
  • エラー処理 → retry-based-on-specific-errors.mdx
  • 並行処理 → run-effects-in-parallel-with-all.mdx
Tester → Patterns Hub

テストを作成する際は、テストパターンを参照します:

  • モックサービス → mocking-dependencies-in-tests.mdx
  • テストレイヤー → use-default-layer-for-tests.mdx
  • テスト可能な設計 → write-tests-that-adapt-to-application-code.mdx

使用ワークフロー

  1. ニーズを特定する:「Effect で[何か]をしたい」
  2. 判断ツリーを確認する:上記から該当するセクションを探します
  3. パターンを読む:パターンファイルに対して Read ツールを使用します
  4. 状況に合わせる:具体的なユースケースにパターンを適用します
  5. 関連項目を確認する:パターンのフロントマターにある related リンクをたどります
  6. エージェントに相談する:不明な点があれば、@effect-engineer または @effect-architect を使用します

アンチパターンの検出

次のような状況に気づいた場合:

  • 命令型ループを使用している → process-collection-in-parallel-with-foreach.mdx を確認します
  • Promise と Effects を混在させている → constructor-try-trypromise.mdx、solve-promise-problems-with-effect.mdx を確認します
  • 長い andThen チェーンがある → avoid-long-andthen-chains.mdx、use-gen-for-business-logic.mdx を確認します
  • 要件が漏れている → model-dependencies-as-services.mdx を確認します
  • リソースを手動でクリーンアップしている → safely-bracket-resource-usage.mdx を確認します

パターンファイルの構造

各パターンファイルは次の構造に従います:

---
title: Human-readable title
id: kebab-case-id
skillLevel: beginner | intermediate | advanced
useCase: primary-use-case
summary: Brief description
tags:
  - keyword1
  - keyword2
related:
  - related-pattern-id-1
  - related-pattern-id-2
author: Author name
---

# Title

## Guideline
What to do

## Rationale
Why do it this way

## Good Example
✅ Recommended approach

## Bad Example
❌ What to avoid

## Related Patterns
Links to related patterns

メンテナンス

パターンは EffectPatterns リポジトリ から同期されます。

パターンを更新するには:

cd /tmp
git clone --depth=1 https://github.com/PaulJPhilp/EffectPatterns.git
cp -r EffectPatterns/content/published/* /Users/pooks/Dev/crate/.claude/skills/effect-patterns-hub/patterns/
cp -r EffectPatterns/content/published/* /Users/pooks/Dev/crate/docs/effect-patterns/

まとめ

  • 130 以上のパターンで、Effect-TS のすべての概念を網羅
  • 判断ツリーでパターンをすばやく検索
  • 既存のスキルやエージェントとの連携
  • キーワード、ユースケース、スキルレベルで検索可能
  • 良い例と悪い例を示すサンプル
  • より深く調べるための関連パターン

「Effect で...するにはどうすればよいですか?」という疑問が生じたら、このスキルをいつでも参照してください。

コメント