Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

nestjs-drizzle-crud-generator

Drizzle ORM を使用した NestJS アプリケーション向けの完全な CRUD モジュールを生成します。新しいエンティティの CRUD エンドポイント、Drizzle クエリを用いたサービス、Zod バリデーション付き DTO、ユニットテストを含むデータベース操作が必要なサーバーサイド機能を構築する際に使用します。「user モジュールを生成して」「product の CRUD を作成して」「エンドポイント付きの新しいエンティティを追加して」といったリクエスト時、または NestJS でデータベース連携機能をセットアップする際にトリガーされます。

description の原文を見る

Generates complete CRUD modules for NestJS applications with Drizzle ORM. Use when building server-side features in NestJS that require database operations, including creating new entities with full CRUD endpoints, services with Drizzle queries, Zod-validated DTOs, and unit tests. Triggered by requests like "generate a user module", "create a product CRUD", "add a new entity with endpoints", or when setting up database-backed features in NestJS.

SKILL.md 本文

NestJS Drizzle CRUD ジェネレータ

概要

NestJS アプリケーション向けに Drizzle ORM を使用した完全な CRUD モジュールを自動生成します。zaccheroni-monorepo パターンに従うすべての必要なファイルを生成します:フィーチャーモジュール、コントローラー、サービス、Zod 検証済み DTO、Drizzle スキーマ、Jest ユニットテストです。

使用する場合

  • 完全な CRUD エンドポイント付きで新しいエンティティモジュールを作成する場合
  • NestJS でデータベース連動フィーチャーを構築する場合
  • Zod 検証を使用したタイプセーフな DTO を生成する場合
  • Drizzle ORM クエリを備えたサービスを追加する場合
  • モック化されたデータベースを使用したユニットテストを作成する場合

手順

ステップ 1:エンティティフィールドを定義する

エンティティ定義を収集します:

  • エンティティ名(例:userproductorder
  • 型付きフィールドリスト(サポートされている型については references/field-types.md を参照)
  • 必須フィールド vs デフォルト値を持つオプショナルフィールド

ステップ 2:ジェネレータを実行する

python scripts/generate_crud.py --feature <name> --fields '<json-array>' --output <path>

ステップ 3:生成されたファイルを確認する

すべての予想されたファイルが作成されたことを確認します:

ls -la libs/server/<feature-name>/src/lib/

予想される構造:

controllers/
services/
dto/
schema/
<feature>-feature.module.ts

ステップ 4:TypeScript コンパイルを実行する

cd libs/server && npx tsc --noEmit

ステップ 5:ユニットテストを実行する

cd libs/server && npm test -- --testPathPattern=<feature-name>

User モジュールを生成する

python scripts/generate_crud.py \
  --feature user \
  --fields '[{"name": "name", "type": "string", "required": true}, {"name": "email", "type": "email", "required": true}, {"name": "password", "type": "string", "required": true}]' \
  --output ./libs/server

Product モジュールを生成する

python scripts/generate_crud.py \
  --feature product \
  --fields '[{"name": "title", "type": "string", "required": true}, {"name": "price", "type": "number", "required": true}, {"name": "description", "type": "text", "required": false}, {"name": "inStock", "type": "boolean", "required": false, "default": true}]' \
  --output ./libs/server

生成される構造

libs/server/{feature-name}/
├── src/
│   ├── index.ts
│   └── lib/
│       ├── {feature}-feature.module.ts
│       ├── controllers/
│       │   ├── index.ts
│       │   └── {feature}.controller.ts
│       ├── services/
│       │   ├── index.ts
│       │   ├── {feature}.service.ts
│       │   └── {feature}.service.spec.ts
│       ├── dto/
│       │   ├── index.ts
│       │   └── {feature}.dto.ts
│       └── schema/
│           └── {feature}.table.ts

機能

モジュール

  • forRootAsync パターンを使用した遅延設定
  • 他のモジュール用に生成されたサービスをエクスポート
  • フィーチャーテーブルのための DatabaseModule をインポート

コントローラー

  • 完全な CRUD エンドポイント:POST、GET、PATCH、DELETE
  • ページネーション用のクエリパラメータ検証
  • Zod 検証パイプ統合

サービス

  • Drizzle ORM クエリメソッド
  • ソフト削除サポート(deletedAt カラム経由)
  • リミット/オフセットによるページネーション
  • フィルタリングサポート
  • タイプセーフな戻り値型

DTO

  • Create および Update 用の Zod スキーマ
  • フィルタリング用のクエリパラメータスキーマ
  • NestJS DTO 統合

テスト

  • Jest テストスイート
  • モック化された Drizzle データベース
  • すべての CRUD 操作のテストケース

手動統合

生成後、アプリモジュールに統合します:

// app.module.ts
import { {{FeatureName}}FeatureModule } from '@your-org/server-{{feature}}';

@Module({
  imports: [
    {{FeatureName}}FeatureModule.forRootAsync({
      useFactory: () => ({
        defaultPageSize: 10,
        maxPageSize: 100,
      }),
    }),
  ],
})
export class AppModule {}

依存関係

必要なパッケージ:

  • @nestjs/common
  • @nestjs/core
  • drizzle-orm
  • drizzle-zod
  • zod
  • nestjs-zod

ベストプラクティス

  1. コミット前に検証する:生成されたコードをコミットする前に必ず tsc --noEmit とテストを実行してください
  2. サービスをカスタマイズする:生成後、検証したサービスにビジネスロジックを追加してください
  3. データベースマイグレーション:生成された Drizzle スキーマのためのマイグレーションを別途作成してください
  4. 生成された型を使用する:アプリケーションコード内で生成された型を参照してください
  5. DTO を確認する:API 要件に基づいて Zod 検証ルールを調整してください

制約と警告

  • ソフト削除のみ:削除操作はソフト削除(deletedAt タイムスタンプ)を使用します。ハード削除には手動による変更が必要です
  • 認証なし:生成されたコードに認証ガードは含まれません。セキュリティ要件に基づいて追加してください
  • 基本的な CRUD のみ:複雑なクエリ、トランザクション、またはビジネスロジックは手動で実装する必要があります
  • JSON エスケープ:コマンドライン上で JSON 配列を渡すときは、フィールドの周囲にシングルクォートを使用してください

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
giuseppe-trisciuoglio
リポジトリ
giuseppe-trisciuoglio/developer-kit
ライセンス
MIT
最終更新
不明

Source: https://github.com/giuseppe-trisciuoglio/developer-kit / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: giuseppe-trisciuoglio · giuseppe-trisciuoglio/developer-kit · ライセンス: MIT