Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
エンジニア向けCursor勉強会 @ SmartHR
Search
Yuki Horikoshi
April 28, 2025
Programming
0
160
エンジニア向けCursor勉強会 @ SmartHR
SmartHRで開催したエンジニア向けCursorの勉強会の資料を修正・補足したものです。
Yuki Horikoshi
April 28, 2025
Tweet
Share
More Decks by Yuki Horikoshi
See All by Yuki Horikoshi
在庫管理onRails.pdf
yukisnow1823
0
110
DWCを卒業してRubyistとして過ごす
yukisnow1823
0
51
OpenAI APIを用いた技術ブログ記事作成アプリを開発した話
yukisnow1823
0
490
今仕事でやっていること(コミュニティ用サンプル)
yukisnow1823
0
86
インフラの魅力とお仕事を知り、実際に見てみよう講座 堀越優希・大嶋勇樹
yukisnow1823
0
1.2k
オブジェクト指向でなぜ作るのか【第9章】
yukisnow1823
0
100
Digital Hack Day(Yahooハッカソン)初出場レポ
yukisnow1823
0
99
thanks企画の提案
yukisnow1823
0
76
ITエンジニアを目指す上でお伝えしたいこと
yukisnow1823
1
1.8k
Other Decks in Programming
See All in Programming
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
550
エンジニアが挑む、限界までの越境
nealle
1
270
MCP調べてみました! / Exploring MCP
uhzz
2
2.3k
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
120
状態と共に暮らす:ステートフルへの挑戦
ypresto
2
790
ComposeでWebアプリを作る技術
tbsten
0
120
Thank you <💅>, What's the Next?
ahoxa
1
540
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
1
170
Do Dumb Things
mitsuhiko
0
440
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
190
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
220
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Adopting Sorbet at Scale
ufuk
76
9.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Visualization
eitanlees
146
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
670
Transcript
効率的な開発を実現するAI アシスタントの活用法 2025.04.22 Tue. SmartHR ほりゆう SmartHR PdE Cursor わいわい講座
for PdE 1
自己紹介 名前: ほりゆう 所属: 技術統括本部/ タレントマネジメントプロダクト開発本部/PdE 経歴: 元高等学校の国語科教師→Rails エンジニア 趣味:
マジック 好きなエディタ: Cursor 2
今日はよろしくお願いします 3
話している最中の質問も歓迎です 4
⚠️ 注意:今日の研修はv0.49.x までの話です 5
1. Cursor の基本おさらい Microsoft のVisual Studio Code (VS Code )のフォーク(派生版)
として開発 3 つのモードで効率的な開発を実現 Agent: コンテキストを理解して複雑なタスクを自動化 Manual: コード選択から高精度な修正・拡張を提案 Ask: 技術的な質問に的確に回答 6
2. Rules を活用したAI 挙動のカスタマイズ 7
Rules の種類 User Rules システム全体に適用されるルール Cursor の基本動作に影響 Project Rules ユーザー定義のカスタムルール
特定のプロジェクトやファイルに適用 .cursor/rules に配置 8
Project Rules とは? Rules の中の1 機能 AI の動作を制御するルール設定 .cursor/rules ディレクトリに保存
対象ファイルが参照された時に自動適用 gitignore スタイルのパターンマッチングで指定できる 9
# TypeScriptフロントエンドルール ## ルール - 常にTypeScriptの型を厳密に使用すること - Reactコンポーネントは関数コンポーネントで実装 - スタイリングにはTailwind
CSSを使用 10
11
Project Rules の効果 Before: 一般的なAI 応答 プロジェクト固有の知識なし 汎用的なコード生成 After: プロジェクト固有のコーディングスタイルを適用
特定のフレームワーク/ アーキテクチャに準拠して回答 ファイルタイプごとに異なる挙動 12
2.1. ハンズオン:Project Rules を実際に作っ てみましょう 13
ハンズオン手順 空のディレクトリを作成 Cursor で開く Ruby のFizzBuzz をAgent モードでif 文を使うように指定して書いて もらう
Rules を作って、case 文を使うように強制してみる *.rb で指定できます command + shift + p でコマンドパレットを開いてRules と入 力 14
高度なProject Rules 活用法 @file 記法で他のファイルを参照可能できます @src/components/Button.tsx 最初に読ませたいルールを作成し、@file 記法で条件分岐を実現す る 複数のルールを連鎖させる
特定のファイルに対するルールを定義できる Agent Requested で次の情報を置いておくのが個人的におすすめで す 15
2.2. おすすめ:Agent Requested ルールに記 載すべき情報 アプリケーションの概要説明 それぞれのディレクトリの構成 コーディング規約 16
3. Docs / Notepads / Rules の違い 17
Docs の活用 よく耳にするDocs には2 つの意味があると思っています。 1. 外部ドキュメントのインデックス機能 URL をCursor にインデックスさせて参照可能にする
外部ドキュメントの内容をAI が理解して回答に活用してくれる 2. プロジェクト内docs ディレクトリ プロジェクト固有のドキュメントを整理 AI が参照してコンテキストとして活用 18
Notepads の活用 チャットの際にコンテキストを共有 @ 構文で参照可能 ~/Library/Application Support/Cursor/User/workspaceStorage/<UUID>/state.vscdb に 保存される バージョン管理しない汎用プロンプトを置いておくと良さそうです
詳細: https://docs.cursor.com/beta/notepads 19
3.1. ハンズオン:Docs の活用 20
ハンズオン手順 @Docs から好きなサイトのドキュメントを追加 Cursor Setting でindex 状況を確認する ドキュメントをメンションして質問してみる 21
4. MCP (Model Context Protocol) の活用 22
MCP とは? AI と外部ツール・データソースを接続するためのプロトコル AI が外部の情報をリアルタイムで取得・操作可能にする WEB ページ調査よりもより直接的にデータが取得できる 23
MCP の活用例 GitHub MCP でコード検索・PR 作成 Figma MCP でデザインシステム連携をしてUI 実装支援
24
4.1. ハンズオン:GitHub との連携を試してみ ましょう 25
GitHub MCP の設定手順(Docker なし) modelcontextprotocol のリポジトリを使用 GitHub 公式のMCP も公開されたので、Docker のある方は後者
を推奨 PAT を発行(ご自身のリポジトリをRead 権限で指定) Cursor Setting からMCP を選択 事前にnode.js のインストールが必要になります 26
{ "mcpServers": { "github": { "command": "npx", "args": [ "@modelcontextprotocol/server-github"
], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_xxxx" } } } } GitHub の情報が取れるかAgent モードで試してみてください 27
GitHub MCP の設定手順(Docker あり) PAT を発行(ご自身のリポジトリをRead 権限で指定) Cursor Setting からMCP
を選択 28
{ "mcpServers": { "github": { "command": "docker", "args": [ "run",
"-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "github_pat_" } }, } } GitHub の情報が取れるかAgent モードで試してみてください 29
5. その他ベータ機能の活用方法 30
Custom modes (BETA) カスタムモードの作成を許可 特定の作業に特化したモードを定義 例)Edit はしないが、MCP を使えるモードなど 31
ベータ機能の活用 Play sound on finish チャット応答完了時に音声通知 Review changes チャットセッション中のLLM による変更を一覧表示、変更内
容をグループ化して確認可能 Web Search Tool エージェント/ アスクモードでウェブ検索が可能、最新情報を 活用したコード生成 32
その他のベータ機能 Auto Approve: AI の提案を自動的に適用 Command Deny List: 特定のコマンドの実行を禁止 ローカルモデル統合:
ローカルで実行可能なAI モデルとの連携 Rules generation: チャットから直接Rules を生成する機能 プロジェクト構造のコンテキスト化: ディレクトリ構造をプロンプト に含める機能 Global ignore files: プロジェクト横断的な無視パターンを設定 33
時間があれば:SuperWhisper との連携 音声入力ツール「SuperWhisper 」と組み合わせた開発体験 声でCursor に指示を出し、コーディングを効率化 「このコードにユニットテストを追加して」 「このバグを修正して」 「このAPI のドキュメントを要約して」
ハンズフリーでAI プログラミングが可能に 詳細は: https://superwhisper.com/ 34
まとめ 基本機能の理解: Agent モード、Manual モード、Ask モードを分けて 活用 Rules 活用: まずはプロジェクトの情報を与えてみましょう
Docs の活用: 外部ドキュメントや内部docs ディレクトリを活用しま しょう MCP 連携: GitHub やFigma など外部サービスとの連携をしてみまし ょう ベータ機能: 最新機能を追うようにして、積極的に試しましょう 35
Q&A ご質問があればどうぞ! 36