[アップデート] Amazon Q Developer IDE でルールファイルを定義できるようになりました

[アップデート] Amazon Q Developer IDE でルールファイルを定義できるようになりました

Clock Icon2025.06.20

いわさです。

先日、Amazon Q Developer IDE がアップデートされ、ワークスペースのルールを管理する機能が追加されました。v1.76.0+ から利用可能です。

image.png

今回も Visual Studio Code で確認しております。

ルールの作成

Q Developer のチャットウィンドウを確認してみると、新たに「Rules」というボタンが表示されていることが確認できます。

86BABD6B-E9A4-4C94-9035-FD545ECC8143.png

こちらから新しいルールの作成と、既存ルールの管理(適用させるかどうかの選択)が可能です。

0DD2361D-36F6-4F41-A3EB-04C6B8D9984A_4_5005_c.jpeg

Create a new rule ボタンを押すと新しいルールファイルを作成することができます。
まずはルールの名前を聞かれるので入力しましょう。

39C98001-4E3C-4BBC-892D-E6AE01F6A2A8.png

そうすると.amazonq/rulesというフォルダの下に新しいマークダウンファイルが作成されます。

221E1503-7AA5-4FBC-B92D-F7735B05D885.png

重要な点がいくつかありまして、以下の公式ドキュメントにも記載されています。

https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/context-project-rules.html

Project rules are defined in Markdown files in the project's project-root/.amazonq/rules folder.

マークダウン形式であることと、.amazonq/rulesフォルダ下に格納されている必要があります。
後者についてはプロジェクトによっては別のマークダウンファイルでコーディング規約などを管理しているケースもあるので、任意のフォルダを指定出来るようになると嬉しい気もします。今後のアップデートに期待しましょう。

今回は CloudFormation テンプレートを作成するプロジェクトで以下のようなルールを作ってみました。

- CloudFormationテンプレートにはSystemNameパラメータを必ず含めてください。
- CloudFormationテンプレートにはEnvパラメータを必ず含めてください。値はprd/stg/devを許容できます。
- CloudFormationリソースにはNameタグを必ず設定してください。{SystemName}-{Env}-{リソースタイプ}-{その他}というフォーマットに沿った名前を付与してください。
- CloudFormationリソースにはCmBillingGroupタグを必ず設定してください。{SystemName}-{Env}というフォーマットに沿った値を付与してください。

のんピさんの以下の記事を参考にしています。この記事は本当にいいぞ。

https://dev.classmethod.jp/articles/aws-resource-naming-rule-2024/

ルールが存在する環境でエージェントコーディングを開始

上記ルールファイルを作成した状態で、テンプレートの作成指示を行ってみます。
すると、指定したルールファイルがコンテキストファイルとして使われていることが確認出来ました。

F38CB480-B612-48DE-BC26-944E057E793A.png

ルールで定義したものはこのように全てのやり取りでコンテキストに含まれるようになります。
作成された CloudFormation テンプレートを確認してみると、次のようにルールに従った実装をしてくれていることを確認しました。

AWSTemplateFormatVersion: '2010-09-09'
Description: 'CloudFormation template for VPC with one public subnet and EC2 instance'

Parameters:
  SystemName:
    Type: String
    Description: Name of the system
  
  Env:
    Type: String
    Description: Environment (prd/stg/dev)
    AllowedValues:
      - prd
      - stg
      - dev
  
  InstanceType:
    Type: String
    Default: t3.micro
    Description: EC2 instance type
  
  KeyName:
    Type: AWS::EC2::KeyPair::KeyName
    Description: Name of an existing EC2 KeyPair to enable SSH access to the instance

Resources:
  # VPC
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true
      Tags:
        - Key: Name
          Value: !Sub ${SystemName}-${Env}-vpc
        - Key: CmBillingGroup
          Value: !Sub ${SystemName}-${Env}

:

さいごに

本日は Amazon Q Developer IDE でルールファイルを定義できるようになったので使ってみました。

挙動としてはコンテキストに自動設定されるというものではありますが、コーディング規約や実装ガイドラインみたいなものをマークダウン定義してプロジェクトの基本ルールとしてエージェントに与えたい需要はあったと思うので良さそうな機能です。

ルールファイルのパスをカスタマイズできると既に管理しているルールファイルも導入しやすくて良いので、今後に期待したいですね。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.