0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Devin AIを利用してmarkdownファイルの設計書作成

0
Posted at

概要

Devin AIを利用してmarkdownファイルの設計書を作成します。

完成品サンプル

プルリク: https://github.com/shioharugit/iidxmemo/pull/1
markdown:https://github.com/shioharugit/iidxmemo/pull/1/changes

作成までの過程

GitHubアカウントとDevin AIを紐づけ

あまり特別なことはありませんでした。
このあたり参考に実施しました。
https://aismiley.co.jp/ai_news/devin-ai-github-core-enterprise/

なお、今回は特に課金せずfreeプランの範疇でできそうなのでそちらを使用します。

Devinを利用してブランチ・プルリク作成

操作したいリポジトリを選択して、以下のプロンプトを送信。

mainブランチからmd_file_testブランチを作成してください。
次にmainブランチにmd_file_testブランチをマージするためのプルリクエストを作成してください。
このプルリクエストは勝手にマージを行わないでください。

プロンプト1.png

ブランチが作成されました。
作成されたブランチ.png

プルリクも作成されています。
PRのみ作成.png

markdownファイルの設計書作成

以下のプロンプトを送信しました。

md_file_testブランチに下記のクラスの詳細設計所をmarkdown形式で出力してください。

対象ファイル:app/Http/Controllers/User/MemoController.php
出力先:doc/app/Http/Controllers/User/

添付した「[AI]詳細設計所作成PromptTemplate.md」のプロンプトテンプレートに従って作成してください。
[AI]詳細設計所作成PromptTemplate.md
## 設計書の構成

以下の項目を記載してください。

### 1. 基本情報
- クラス名
- 名前空間
- 役割・目的(クラスの責務を簡潔に説明)
- 関連サービス・コンポーネント(テーブル形式で関係性と説明を記載)

### 2. クラス構造
- 継承関係(基底クラス、実装インターフェース)
- クラス階層図(アスキーアート形式)

### 3. 定数定義
- クラス固有定数(テーブル形式:定数名、値、説明)
- 使用するその他の定数(テーブル形式:定数名、値、説明)

### 4. プロパティ
- プロパティ一覧(テーブル形式:名前、型、アクセス修飾子、初期値、説明)
- プロパティ詳細(各プロパティの型、説明、使用箇所)

### 5. 処理フロー
- シーケンス図(mermaid形式)

### 6. メソッド仕様
各メソッドについて以下を記載:
- シグネチャ
- 説明
- パラメータ(テーブル形式:名前、型、必須、説明、デフォルト値)
- 戻り値(テーブル形式:型、説明、備考)
- 例外(テーブル形式:例外クラス、発生条件、説明)
- 処理フロー

### 7. データベース操作仕様
- 使用DSN
- 使用テーブル(テーブル形式:テーブル名、操作種別、用途、メソッド名、DB名)
- SQL詳細(各SQLについて用途、SQL文、パラメータ、戻り値、トランザクション)

### 8. ログ出力仕様
- ログレベル
- ログ出力箇所
- ログファイル設定
- ログファイル例

### 9. エラーハンドリング
- 例外処理(テーブル形式:例外クラス、発生条件、処理内容、ログ出力)
- エラーレスポンス
- リトライ処理(テーブル形式:処理名、リトライ回数、間隔、条件、最大リトライ後の処理)

### 10. 変更履歴
- バージョン、日付、変更内容をテーブル形式

プロンプト2.png

無事設計書が作成され、プルリクもそれに合わせて変更されました。

mdファイル作成後のPR.png

所感・まとめ

・思った以上に簡易な命令でmarkdownファイルを作成することができた。
・思った以上に詳細に設計書に起こしてくれた。
→今回、view側でAjaxを使用している処理があるが、そこもフロー図に反映されている。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?