mcpField
S
scaffold

scaffold

github.com/shipshitdev開発39108 回インストール3 日前に更新
リポジトリ

scaffold について

scaffoldは、既存リポジトリの実装パターンに沿ってコードを段階的に生成する開発スキルです。モジュールやコンポーネントなどの追加に使え、変更ファイルと後続作業を報告します。

主な機能

  1. 01エンドポイント、モジュール、コンポーネント、パッケージ、モデルの生成
  2. 02類似実装を3件以上確認
  3. 03ローカルの命名規則とファイル構成に準拠
  4. 04ファイル上書き前に確認
  5. 05作成ファイルと後続手順の報告

活用シーン

  1. 01既存プロジェクトへのAPIエンドポイント追加
  2. 02プロジェクトのパターンに沿ったUIコンポーネント作成
  3. 03共有パッケージやデータベースモデルの雛形作成

インストール

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

$npx skills add https://github.com/shipshitdev/skills --skill scaffold

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

同梱ファイルplugin.json

詳細

スキャフォールド

既存のリポジトリ内に、コードベースのローカルなパターンに従って、段階的にコードを生成します。

契約

入力:

  • スキャフォールド対象の種類と名前
  • リポジトリのルート
  • 参考にする既存の例

出力:

  • 作成または変更したファイル
  • 既存のコードから踏襲したパターン
  • 手動で必要な後続作業と実行するテスト

作成/変更するもの:

  • 指定されたモジュール/コンポーネント/パッケージのローカルなソース、テスト、エクスポート用ファイル
  • 完全なプロダクトリポジトリは作成しません

外部への副作用:

  • ありません

確認が必要な場合:

  • 既存ファイルを上書きする前
  • 該当する例が3つ未満で、新しいパターンを導入する前

委譲先:

  • ユーザーが新しいプロジェクト全体を必要としている場合は、project-init-orchestrator
  • ユーザーが新しい Shipshit.dev プロダクトリポジトリを必要としている場合は、project-init-orchestrator(v0 ルート)/npx @shipshitdev/v0
  • nestjs-expert、react-patterns、shadcn、typescript-expert などのフレームワーク固有のスキル

手順

  1. 引数からスキャフォールド対象を特定します:

    • endpoint [name] — 新しい API エンドポイント(コントローラー+サービス+モジュール)
    • module [name] — 完全な構成を備えた新しいバックエンドモジュール
    • component [name] — 適切な型付けを備えた新しい UI コンポーネント
    • package [name] — 新しい共有パッケージ
    • model [name] — サービスを備えた新しいデータベースモデル(Prisma)
  2. 既存の例を3つ以上見つけます:

    • コードベース内で類似の実装を検索します
    • 使用されている正確なパターン(インポート、命名、ファイル構成)を特定します
    • モジュール固有の規約に注意します
  3. 種類に応じてスキャフォールドします:

    API エンドポイント
    • 適切なディレクトリにコントローラー、サービス、モジュールを作成します
    • 認証ガード、テナントフィルタリング、シリアライザーによるレスポンスに従います
    UI コンポーネント
    • 適切な型付けを備えたコンポーネントファイル
    • 専用の props ファイルに Props インターフェースを定義
    • バレルからエクスポート
    共有パッケージ
    • package.json を含むディレクトリ
    • バレルエクスポート:src/index.ts
    • TypeScript の設定
    データベースモデル
    • Prisma モデルファイルとマイグレーション
    • 共有インターフェースパッケージ内のインターフェース
    • 該当する場合は共有シリアライザーパッケージ内のシリアライザー
  4. 重要なルールを適用します:

    • インターフェースはインラインではなく、専用ファイルに定義します
    • 相対インポートではなく、パスエイリアスを使用します
    • すべてのクエリでテナント/組織フィルターを適用します(該当する場合)
  5. 報告します:作成したすべてのファイルと必要な手動作業を列挙します

引数

  • 必須:スキャフォールドする対象(例:「endpoint tasks」、「component ImageGrid」、「model workflows」)

コメント