本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つAzure Functions Typescriptについてです。
Azure Functions Typescript
Azure Functions TypescriptはAzure FunctionsのTypeScriptパターンです。
Azure FunctionsでTypeScriptを使ってサーバーレスAPIを開発する際のベストプラクティスやコーディング規則をCopilotに伝えます。
以下のページからAzure Functions Typescriptのインストールボタンをクリックして取得します。
github.com
インストールボタンを押してAzure Functions Typescriptをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このカスタムインストラクションは、次のような拡張子のファイルに適用されます。
'**/*.ts, **/*.js, **/*.json'
このファイルをプロジェクトに置くと、CopilotはAzure Functions + TypeScriptのコンテキストを理解し、以下のような提案をするようになります
モダンなTypeScript / Node.jsを前提にする
Copilot はコードを生成する際に以下のようなモダンなNode.js/TypeScriptのベストプラクティスに沿った提案をします。
- モダンな async/await 構文を使う
- Node.js の標準モジュールを優先
- 外部パッケージの追加は聞いてから提案
- ブロッキングしない非同期コードを書く
Azure Functionsの構造・命名規則
指示ファイルでは以下のルールが明示されています。
- 各エンドポイントごとに独立した関数ファイルを作成
- ファイル命名は src/functions/<機能名>.ts
これによりCopilotは以下の管理を行うようになります。
- 関数ごとにファイルを分ける
- 命名の一貫性を保つ
- フォルダ構造を意識した提案
Azure Functions APIとドキュメントの整合性
APIの変更に対して以下を促します。
- OpenAPIスキーマがある場合は更新
- README.mdへの記載更新
APIの機能追加・変更を提案する際に「この変更をドキュメントにも反映しましょう」といった一貫性のある案内も付けるようになります。
依存パッケージ追加を慎重に行う
Copilotはコード内で新しいライブラリを提案する際、本当に必要かどうか確認を行います。