Agent skill
aegis-architect
アーキタイプベースのスキャフォールドツール - プロジェクトの重さに応じた型を選択
Install this agent skill to your Project
npx add-skill https://github.com/Shin0205go/Aegis-skills/tree/main/skills/aegis-architect
SKILL.md
Aegis Architect
AIをコーダーからオペレーターへ変える
このスキルは「たい焼きの型」です。どんなAIが使っても、選んだアーキタイプに従った正しい構造が生成されます。
コンセプト
Before (プロンプト依存):
AI: 「ファイル作ります...あれ、どこに置こう?まあここでいいか」
→ 結果: 構造が崩れる
After (Aegis Architect):
AI: 「aegis-architect scaffold --name stock_price」を実行
Aegis: (ガシャン!) 3ファイルを強制生成
→ 結果: 誰がやっても100%正しい構造
アーキタイプ(型の選択)
プロジェクトの「重さ」に応じて適切な型を選択します。
| アーキタイプ | 用途 | 生成ファイル |
|---|---|---|
rust_hexagonal |
堅牢なコアシステム | Domain/Port/Adapter (3ファイル) |
rust_cli_simple |
小さなCLIツール | main.rs + Cargo.toml |
選び方
「長期運用?外部依存の差し替え?チーム開発?」
→ YES: rust_hexagonal
「単機能のCLIツール?学習目的?PoC?」
→ YES: rust_cli_simple
使い方
ビルド
cd aegis-architect-rs
cargo build --release
アーキタイプ一覧を確認
aegis-architect list
Hexagonal構造で生成(デフォルト)
aegis-architect scaffold \
--name market_analysis \
--description "株価を分析する機能" \
--target ./aegis-core
シンプルなCLIツールとして生成
aegis-architect scaffold \
--name my_tool \
--description "便利ツール" \
--archetype rust_cli_simple
アーキタイプディレクトリを指定
aegis-architect --archetypes-dir /path/to/archetypes scaffold ...
生成されるファイル構造(rust_hexagonal)
target/
├── src/domain/market_analysis.rs # 聖域:純粋なドメインモデル
├── src/ports/market_analysis_port.rs # インターフェース定義
└── src/adapters/market_analysis_adapter.rs # 実装の雛形
設計原則(rust_hexagonal)
┌─────────────────────────────────────────┐
│ Domain (Core) │
│ - 外部依存ゼロ │
│ - 純粋な構造体とビジネスロジック │
│ - ここが「聖域」 │
└─────────────────────────────────────────┘
▲
│ 依存の方向
│
┌─────────────────────────────────────────┐
│ Ports (Traits) │
│ - Domainの型を使うインターフェース │
│ - 外部との境界を定義 │
└─────────────────────────────────────────┘
▲
│
┌─────────────────────────────────────────┐
│ Adapters (実装) │
│ - Portを実装 │
│ - 外部API/DB/ファイルシステムへ接続 │
│ - ここだけが「汚れてよい」 │
└─────────────────────────────────────────┘
なぜツールで強制するのか
| アプローチ | 問題点 |
|---|---|
| 設計書を書く | 読まれない、守られない |
| プロンプトで指示 | AIは忘れる、解釈がブレる |
| コードレビュー | 事後対応、手戻りが発生 |
| ツールで強制 | 物理的に正しい構造しか作れない |
使用例
ユーザー: 「株価取得機能を追加して」
AI(Aegis Architect使用):
1. プロジェクトの規模を判断 → AEGIS本体なのでrust_hexagonalを選択
2. aegis-architect scaffold --name stock_price を実行
3. 生成された domain/stock_price.rs にドメインモデルを定義
4. ports/stock_price_port.rs にトレイトメソッドを追加
5. adapters/stock_price_adapter.rs に実装を書く
→ 手順を飛ばしたり、構造を無視することが不可能
アーキタイプの追加方法
新しいアーキタイプを追加するには:
archetypes/<name>/ディレクトリを作成manifest.jsonでメタデータと生成ファイルを定義- テンプレートファイル (
.tmpl) を配置
テンプレートでは {{ name }}, {{ pascal_name }}, {{ description }} が使用可能。
今後の拡張
- validate_arch - 既存コードのアーキテクチャ違反検出
- migrate_to_hex - レガシーコードの移行支援
- テスト雛形の自動生成
- CI連携(PRでvalidate_archを自動実行)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
code-reviewer
コードレビューとベストプラクティスの提案を行うスキル
docx-handler
Word文書の読み取り、編集、作成を行うスキル
data-analyzer
データ分析と可視化を行うスキル
orchestrator
タスクの調整と他のロールへの委譲を行うコーディネーターロール
browser-testing
ブラウザ自動化とE2Eテストを行うスキル
common
全ロール共通で使用できる基本ツール
Didn't find tool you were looking for?