🤖

AI駆動開発を効率化!ai-custom-template-promptでプロンプトテンプレートをCLI管理

に公開

AI駆動開発を進める中で、ルールセットを共有する方法 に課題を感じていました。

社内で標準的なルールセットを作成し、それを各プロダクトに展開してカスタマイズしていく流れを作りたいと考えていました。

しかし、CursorやClaude Code、DevinなどのAI開発ツールを使う際、プロジェクトごとに .cursor/rules/AGENTS.md などの設定ファイルを手動で作成・コピーする必要があり、以下のような問題がありました

  • プロジェクトごとに手動で設定ファイルを作成する手間
  • チーム間での統一性の欠如(メンバーごとに異なるルールファイル)
  • ルール更新時に各プロジェクトへ手動反映が必要で漏れが発生しやすい
  • 良いルールセットを作っても、他のプロジェクトで再利用する際に手動コピーが必要

これらの課題を解決するため、CLIツールとしてルールセットを簡単に共有・適用できる 仕組みを作成しました。

今回紹介する ai-custom-template-prompt は、個人でもチームでも使える CLI ツールです。
npx ai-custom-template-prompt init とコマンド一つで、対話式にテンプレートを選択し、自動でプロジェクトにルールセットを配置できます。

現在は Cursor に重きを置いた実装 となっていますが、Claude CodeやAgents(Devin等)でも利用できるように拡張していく予定です。

https://www.npmjs.com/package/ai-custom-template-prompt

https://github.com/redamoon/ai-custom-template-prompt

ai-custom-template-prompt で何ができるの?

ai-custom-template-prompt は、Cursor / Claude / Agents などのAI開発ツール向けの カスタムテンプレート管理 CLI です。

主な特徴として、ディレクトリやファイルタイプごとにルールを自動適用できる点が挙げられます。
プロジェクトの構造に応じて、フロントエンドとバックエンドで異なるルールを適用したり、特定のファイルタイプに対して専用のルールを設定したりできます。

また、対話式 CLI で 初期セットアップやテンプレート追加 が簡単に行えます。init コマンドを実行すると、対話形式でテンプレートを選択でき、自動的にプロジェクトに適切な設定ファイルが配置されます。

さらに、Public npm と Private GitHub Packages 両方に対応しているため、個人プロジェクトでも社内プロジェクトでも柔軟に利用できます。
社内専用のルールセットをGitHub Packagesで配布すれば、チーム全体で統一されたルールを簡単に共有できます。

インストール不要で利用できる

npx を使えば インストール不要で CLI を実行 できます。

# 初回セットアップ
npx ai-custom-template-prompt init

# 利用可能テンプレート一覧
npx ai-custom-template-prompt list

# 単体テンプレート追加
npx ai-custom-template-prompt add cursor-rules

# 設定チェック
npx ai-custom-template-prompt doctor

セットアップフロー

npx ai-custom-template-prompt init を実行すると、対話形式で初期セットアップを行い、必要なテンプレートを適用できます。

  • 対話式でテンプレートを選ぶと、自動でプロジェクト内に配置されます。
  • Cursor のルールやコマンドは /create-pr などチャット入力で呼び出せます。

ai-custom-template-promptの機能

Cursor/Claude Code/Agentsに対応していく予定ですが、現在はCursorのmdcファイルの整備に取り組んでいます。

Cursor向け機能

  • Cursorルール: コード品質、テスト、コーディング規約のルール定義
    • .cursor/rules/ 配下にルールファイルを配置
    • rules.mdcmanual-rules.mdctest-rules.mdcapi-rules.mdc など、用途別にルールを分割可能
  • ネストされたルール: backend / frontend / server などディレクトリごとに適用
    • 各ディレクトリに .cursor/rules/ を配置することで、ディレクトリ単位でルールを適用
    • プロジェクト構造に応じた柔軟なルール管理が可能
  • Cursorコマンド: / で呼び出せる再利用可能なワークフロー
    • .cursor/commands/ 配下にコマンドファイルを配置
    • /create-pr/refactor など、よく使うワークフローをコマンド化
  • 自動適用: ファイルタイプやディレクトリに応じて自動的にルールを適用
    • Cursorが自動的に適切なルールを参照
  • Manualルール: @ruleName で明示的に適用
    • チャット内で @ruleName と指定することで、特定のルールを明示的に適用

その他のAIツール向け機能

  • Claudeカスタムフック: .claude/custom-hooks.md として配置
  • Agents設定: AGENTS.md としてプロジェクトルートに配置
    • DevinなどのAIエージェント向けの設定ファイルを自動生成

主要コマンド一覧

コマンド 説明
init 初回セットアップ(対話式でテンプレート選択)
add <template> 指定テンプレートを追加
list 利用可能テンプレート一覧を表示
doctor 設定チェック(テンプレート配置状況を確認)

実際の使用例

実際のプロダクトで利用する場合のセットアップを紹介していきます。

Next.jsプロジェクトでのセットアップ例

実際にNext.jsプロジェクトで ai-custom-template-prompt 利用方法です。

1. 初回セットアップ

プロジェクトルートで init コマンドを実行します。

npx ai-custom-template-prompt init

対話式プロンプトが表示され、以下のように選択できます。

→ npx ai-custom-template-prompt init
┌  ai-custom-template-prompt Setup
│
◆  セットアップするテンプレートを選択:
│  ● すべて入れる
│  ○ cursor rules
│  ○ cursor manual rules
│  ○ cursor test rules
│  ○ cursor api rules
│  ○ cursor backend rules
│  ○ cursor frontend rules
│  ○ cursor server rules
│  ○ cursor commands
│  ○ cursor command create pr
│  ○ cursor command create branch
│  ○ cursor prompts
│  ○ claude hooks
│  ○ agents

複数のテンプレートを選択可能で、矢印キーとスペースキーで選択・解除できます。「すべて入れる」を選択すると、すべてのテンプレートが一度に追加されます。

2. 生成されるファイル構造

cursor-rules を選択した場合、以下のようなファイルが生成されます。

プロジェクトルート/
├── .cursor/
│   ├── rules/
│   │   ├── rules.mdc          # 基本ルール
│   │   ├── manual-rules.mdc   # 手動適用ルール
│   │   ├── test-rules.mdc     # テスト関連ルール
│   │   └── api-rules.mdc      # API関連ルール
│   └── commands/
│       └── create-pr.md       # PR作成コマンド例

3. 生成されたルールファイルの例

rules.mdc の一部抜粋

---
alwaysApply: true
---

# コード品質ルール

## TypeScript/JavaScript

- TypeScriptのstrictモードを有効にする
- 型定義を明示的に記述する
- `any`型の使用を避ける
- ESLintとPrettierの設定に従う

## React/Next.js

- 関数コンポーネントを優先する
- カスタムフックを適切に使用する
- パフォーマンスを考慮した実装を行う

4. 設定の確認

doctor コマンドで設定状況を確認できます。

npx ai-custom-template-prompt doctor

出力例。

✓ .cursor/rules/rules.mdc が存在します
✓ .cursor/rules/manual-rules.mdc が存在します
✓ .cursor/rules/test-rules.mdc が存在します
✓ .cursor/rules/api-rules.mdc が存在します
✓ .cursor/commands/create-pr.md が存在します

すべてのテンプレートが正しく配置されています。

5. 追加のテンプレートを追加

後からテンプレートを追加することも可能です。

npx ai-custom-template-prompt add cursor-commands

これにより、.cursor/commands/ 配下にコマンドファイルが追加されます。

NestJSプロジェクトでの使用例

バックエンドプロジェクトでは、API関連のルールを重点的に使用できます。

# API関連のルールを追加
npx ai-custom-template-prompt add cursor-rules

# 生成された api-rules.mdc をカスタマイズ
# .cursor/rules/api-rules.mdc にNestJS固有のルールを追加

生成された api-rules.mdc の例です。

---
alwaysApply: false
---

# API開発ルール

## NestJS固有のルール

- コントローラー、サービス、モジュールの責務を明確に分離する
- DTOを使用してリクエスト/レスポンスの型を定義する
- 例外処理は適切なHTTPステータスコードと共に返す
- バリデーションはclass-validatorを使用する

テンプレートの配置イメージ

すべてのテンプレートを選択した場合は、以下のようなファイル構造になります。

プロジェクトルート
│
├── .claude/
│   └── custom-hooks.md
│
├── .cursor/
│   ├── commands/
│   │   ├── create-branch.md
│   │   └── create-pr.md
│   ├── prompts.mdc
│   ├── rules/
│   │   ├── api-rules.mdc
│   │   ├── manual-rules.mdc
│   │   └── test-rules.mdc
│   └── rules.mdc
│
├── AGENTS.md
│
├── backend/
│   ├── .cursor/
│   │   └── rules/
│   └── server/
│       └── .cursor/
│
└── frontend/
    └── .cursor/
        └── rules/
  • ネストされたルールは対象ディレクトリ内の .cursor/rules を自動参照
  • コマンドやフック、Agents 設定もプロジェクトに配置され、チームで共有可能

Cursorでの使い方

現在、ai-custom-template-promptCursor に重きを置いた実装 となっています。Cursorでの具体的な使い方の例を紹介します。

Cursorルールファイルの役割

https://docs.cursor.com/ja/context/rules
https://docs.cursor.com/ja/agent/chat/commands

Cursorの公式ドキュメントからルールやコマンドのつくり方を参考に、今回のテンプレート構築を行いました。
.cursor/rules/ 配下に配置されるルールファイルは、Cursorが自動的に参照し、コード生成や編集時に適用されます。

基本的なルールファイル構成

.cursor/
└── rules/
    ├── rules.mdc          # 常に適用される基本ルール
    ├── manual-rules.mdc   # 手動で適用するルール
    ├── test-rules.mdc     # テスト関連のルール
    └── api-rules.mdc      # API関連のルール

rules.mdc の例

---
alwaysApply: true
---

# プロジェクト共通ルール

## コードスタイル

- TypeScriptのstrictモードを使用
- ESLintとPrettierの設定に従う
- 関数名は動詞で始める(例: `getUserData`, `createPost`- 変数名はcamelCase、定数はUPPER_SNAKE_CASE

## React/Next.js

- 関数コンポーネントを優先
- カスタムフックは `use` で始める
- パフォーマンスを考慮した実装(useMemo, useCallbackの適切な使用)

@ruleName での明示的適用

チャット内で特定のルールを明示的に適用する場合。

@manual-rules このコードをリファクタリングして

これにより、manual-rules.mdc に定義されたルールが適用されます。

/command でのコマンド実行

.cursor/commands/ 配下に配置されたコマンドは、チャット内で / で呼び出せます。

コマンドファイル例 (create-pr.md):

# PR作成コマンド

以下の手順でPRを作成してください。

1. ブランチ名を確認
2. 変更内容をコミット
3. リモートにプッシュ
4. GitHubでPRを作成
5. レビュワーをアサイン

使用方法:

/create-pr 機能追加: ユーザー認証機能

ネストされたルールの活用

モノレポやフロントエンド/バックエンドが分かれているプロジェクトでは、ディレクトリごとにルールを適用できます。

プロジェクトルート/
├── .cursor/
│   └── rules/
│       └── rules.mdc          # プロジェクト全体のルール
├── frontend/
│   └── .cursor/
│       └── rules/
│           └── frontend-rules.mdc  # フロントエンド固有のルール
└── backend/
    └── .cursor/
        └── rules/
            └── backend-rules.mdc   # バックエンド固有のルール

frontend/ ディレクトリ内で作業する場合、Cursorは自動的に frontend/.cursor/rules/frontend-rules.mdc を参照します。

まとめ

ai-custom-template-prompt を使えば、AI開発の現場でプロダクトを横断的に共通の基本ルール・コマンド・プロンプトを 簡単に取り出すこと ができます。

個人開発では、npx ai-custom-template-prompt init とコマンド一つで即座にルールセットを適用でき、一度作成したルールセットを複数のプロジェクトで簡単に再利用できます。

統一されたルールにより、プロジェクト全体で一貫性のあるコードが生成され、よく使うワークフローをコマンド化することで開発速度が向上します。

チーム開発では、npmパッケージとして配布することで、チーム全体で同じルールセットを適用できます。
新メンバーも init コマンド一つで、チームのルールを即座に適用できるため、オンボーディングが簡素化されます。また、統一されたルールによりコードレビュー時の指摘事項が減り、レビューが効率化されます。
ルールファイルとして、チームのベストプラクティスを形式化して共有できる点も大きなメリットです。

Cursorのコードルールを .cursor/rules/ 配下に配置して自動的に適用したり、Claudeのカスタムフックを .claude/custom-hooks.md としてチーム全体で共有したり、Agents設定を AGENTS.md としてプロジェクトルートに配置してDevinなどのエージェント向けに自動生成したりと、実践的な導入が可能です。既存プロジェクトにも段階的に導入でき、無理なく移行できます。

個人でも、チームでも、導入するだけで AI駆動開発のワークフローを整え、生産性を向上 させられます。まずは npx ai-custom-template-prompt init を実行して、実際に使ってみてください。

補足: 社内用に GitHub Packages で利用する場合

チーム内でのみ CLI を共有したい場合は、GitHub Packages に配布できます。Private リポジトリと Personal Access Token(PAT)を使用することで、安全に社内だけで最新版テンプレートを簡単に配布・更新できます。Public npm と同じ CLI がそのまま使えるため、開発環境を統一できます。

GitHub Packages で利用する場合は、以下の手順で設定します。

  1. Personal Access Token(PAT)の作成: GitHub で PAT を作成し、read:packages 権限を付与します。
  2. .npmrc ファイルの設定: プロジェクトルートまたはホームディレクトリに .npmrc を作成し、以下の内容を追加します。
@redamoon:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_PERSONAL_ACCESS_TOKEN
  1. パッケージのインストール: 以下のコマンドでインストールします。
npm install @redamoon/ai-custom-template-prompt --registry=https://npm.pkg.github.com

この方法で、社内専用のパッケージとして利用できます。

Discussion