hexagonal-architecturecommit d29cf65SKILL.md · アーキテクチャ設計
ヘキサゴナル設計
ポートとアダプターの構成でシステムを設計・リファクタリングし、ビジネスロジックをフレームワークや永続化から切り離します。
npx skills add affaan-m/ECC --skill hexagonal-architectureコマンドを選択しました。手動でコピーしてください。
- 権限
- read-repo
- write-files
- shell
- network
- 対応ツール
- Claude Code, Codex, Cursor, Copilot, OpenCode
- GitHub
- 294.3k
- 提供元
- コミュニティ · Affaan Mustafa
- 状態
- スキャン済み
- ライセンス
- MIT
- カテゴリ
- アーキテクチャ設計
基本ルール
依存の向きは常に内側で、ドメインは外部に依存せず、アダプターが外縁でポートを実装します。
実行フェーズ
フェーズ 01ユースケース境界
一つのユースケースに明確な入出力 DTO を定め、req や GraphQL の context などの通信の詳細を境界の外に置きます。
フェーズ 02出力ポートを先に
永続化、外部呼び出し、ログ、時計などすべての副作用をポートとして定義し、技術ではなく能力を表します。
フェーズ 03ユースケース実装
ユースケースはコンストラクタや引数でポートを受け取り、不変条件の検証、ドメインルールの調整、単純なデータの返却だけを行います。
フェーズ 04アダプターと配線
外縁に入力・出力アダプターを実装して変換はそこに閉じ込め、依存の組み立ては一か所のコンポジションルートにまとめます。
フェーズ 05境界ごとにテスト
ユースケースは偽のポートで単体テストし、アダプターは実インフラで結合テストします。既存システムは一気に書き換えず、スライスごとに移行します。
権限の説明(SKILL.md より)
| 機能 | 必要か | 説明 |
|---|---|---|
| ファイル書き込み | 必要 | ドメイン、ユースケース、ポート、アダプター、コンポジションルート、テストのコードを作成・リファクタリングします。 |
| コマンド実行 | 不要 | コマンドの実行は求めていません。 |
| 外部通信 | 不要 | ネットワークにはアクセスしません。 |
SKILL.md のフロントマター(YAML)
---
name: hexagonal-architecture
description: Design, implement, and refactor Ports & Adapters systems with clear domain boundaries, dependency inversion, and testable use-case orchestration across TypeScript, Java, Kotlin, and Go services. Use when introducing or refactoring toward Ports and Adapters, or when domain logic has become entangled with I/O.
metadata:
origin: ECC
---関連スキル
ルールスキャンですべてのリスクを検出できるわけではありません。インストール前にこのスキルの SKILL.md を読み、権限を確認してください。