Cline+Sonnet3.7でC#のイベントソーシング+アクターモデルで新規プロジェクトを作るデモ
はじめに
前回の記事「『真似プログラミングの天才』が切り開く – Cline & Sonnetによるプログラミング革命」では、Cline+Sonnet3.7の組み合わせがプログラミングのパラダイムをどのように変革しているかについて解説しました。
特に、Sonnet 3.7は「真似プログラミングの天才」として、適切なアーキテクチャのテンプレートを与えることで、将来性を考慮したプロジェクトを簡単に開始できることを説明しました。
今回は、その実践として、C#でイベントソーシングとアクターモデルを組み合わせた新規プロジェクトをCline+Sonnet3.7で作成する様子を動画でデモしています。イベントソーシングとアクターモデルの組み合わせは、AIプログラミング時代に最適なアーキテクチャの一つと考えています。
以下の動画では、プロジェクトの作成から、Memory Bankの設定、テスト実装まで、一連の流れを確認できます。
デモ動画タイムライン
0:08 最初の準備
ここでは、プロジェクトの作成のためにからフォルダを作って、.clinerulesに簡単な指示、またSekibanのリポジトリから、フレームワーク用のインストラクションをコピーして作成しています。
2:04 初期プロジェクト生成
簡単なブログを作るように指示をしたら、テンプレートをインストールして、ブログのドメイン、API、フロントエンドを作成しました。
18:05 動作確認とMemory Bank作成
動作確認した上で、今まで行ったことから、memory bank を作りました。memory bank を作るためのカスタムインストラクションは、clineのドキュメントからそのまま使用しています。
28:10 手動での動作確認
手動でまず機能が正しく実装されているかを確認しました。基本的によくできているようでした。
32:22 .clinerulesに実行方法を追記
このテンプレートは、.NET Aspireを使っています。.NET Aspireを使うことにより、プロジェクトに含まれる、データベース、ストレージ、キューなどをローカルにエミュレートして作成して、すぐに実行できる形を作ってくれます。
起動方法、またWebのアクセスのチェックについて .clinerules に転記しました。
36:15 Unitテストの作成
プログラムを作ってくれても、単体テストがないと、正しさを確認できません。Sekibanのテンプレートには単体テストのプロジェクトもあるので、そのテストを追記しました。
43:14 Playwrightテストの作成
単体テストがあっても、UIとの連携は、E2Eテストを行わないと保証できません。SekibanのテンプレートにPlaywrightでのテストが含まれるので、今回作った機能のE2Eテストを記入しました。
今回作ったプロジェクト
今回のデモでは、以下のものを約1時間で作成しました。
- イベントソーシングを使用したブログ、記事、コメントのドメインコマンド、イベント、集約
- コマンド、クエリーのAPI
- Blazorによるフロントエンド
- Unitテスト
- E2Eテスト Playwright.
技術は理解していてもなかなか1時間でできる量ではないので、効果が理解できると思います。これからmemory bankの効果性、機能追加をどれだけ効率的に行うことができるかなども検証していく予定です。
Discussion