🚀

CursorのカスタムスラッシュコマンドとComposer 1で実現する高速・高精度なコミットメッセージ自動生成

に公開

こんにちは!株式会社エクスプラザの@JunInaba1です。
今回は、Cursorのカスタムスラッシュコマンドと Composer 1 を使って、コミットメッセージを自動生成する方法を紹介します。

はじめに

変更内容を的確に表現するメッセージを書くのは開発者にとって日常的なタスクですが、毎回考えるのは手間がかかります。

以前はopencommitを使ってコミットメッセージを自動生成していました。

opencommitとは

opencommitは、AIを使ってコミットメッセージを自動生成するCLIツールです。以前の弊社ブログ記事でも紹介していました。

opencommit を使った自動化も便利でしたが、Cursor の Composer 1 とカスタムスラッシュコマンドを組み合わせることで、以下のようなメリットが得られます:

  • 高速な生成
  • カスタマイズ性

Cursorのカスタムスラッシュコマンドとは

Cursorのカスタムスラッシュコマンドは、よく使うプロンプトをショートカットとして登録できる機能です。
スラッシュコマンドを実行すると、事前に定義したプロンプトが自動的に入力され、Cursorに指示を出すことができます。これにより、定型的なタスクを素早く実行できるようになります。

設定方法

markdownファイルを作成します。

  • グローバルコマンド~/.curosr/commands/commit.md
  • プロジェクトコマンド:プロジェクトディレクトリの.curosr/commands/commit.md

プロンプト

あなたはgitのコミットメッセージの作成者として振る舞ってください。

## タスク
`git diff --staged`コマンドの出力を分析して、適切なコミットメッセージを生成してください。

## ルール

### 1. コミットタイプのプレフィックス
以下のconventional commitのキーワードのみを使用してください:
- `fix`: バグ修正
- `feat`: 新機能の追加
- `build`: ビルドシステムや外部依存関係の変更
- `chore`: srcやtestファイルを変更しないその他の変更
- `ci`: CI設定ファイルやスクリプトの変更
- `docs`: ドキュメントのみの変更
- `style`: コードスタイルの変更(フォーマット、セミコロン追加など)
- `refactor`: 機能を変更しないコードリファクタリング
- `perf`: パフォーマンス改善
- `test`: テストの追加や更新

### 2. メッセージ形式
- **時制**: 現在形を使用してください
- **言語**: 英語で記述してください
- **文字数**: 各行は74文字を超えないようにしてください
- **フォーマット**: `<type>: <subject>` の形式(例:`feat: add user authentication`)

### 3. 実行
コミットメッセージを作成したら、以下のコマンドを実行してください:
`git commit -m "作成したコミットメッセージ"`


## 処理手順
1. `git diff --staged`を実行してステージングされた変更を確認
2. 変更内容を分析して適切なコミットタイプを決定
3. 上記のルールに従ってコミットメッセージを生成
4. 生成したメッセージでgit commitコマンドを実行

実際に使ってみる

Cursor CLIからでもカスタムスラッシュコマンドを使うことができます。

まとめ

Cursor のカスタムスラッシュコマンドと Composer 1 を使うことで、コミットメッセージの自動生成が非常にスムーズになりました。
opencommit も優れたツールですが、カスタムスラッシュコマンドとComposer 1を使うことで以下の点で開発体験を向上させます:

  • エディタから離れずに完結
  • 高速な生成とフィードバックループ
  • プロンプトの柔軟なカスタマイズ

カスタムスラッシュコマンドは一度設定すれば繰り返し使えるので、ぜひ自分の開発スタイルに合わせてカスタマイズしてみてください!

株式会社エクスプラザ

Discussion