メインコンテンツまでスキップ

Cursor 協調コーディング:AI ペアプログラミングとチームワークフロー

Cursor Collaborative Coding

Cursor はチーム協力に AI アシスタンスをもたらし、共有されたコーディング標準、一貫した AI 動作、合理化されたコードレビューを実現します。このガイドでは、チーム設定、共有設定、および Cursor での協調コーディングについて説明します。

前提条件​

開始する前に:

  • Cursor をインストール(チームライセンスを推奨)
  • チームが使用する共有コードリポジトリ
  • Git ワークフローの基礎知識

チーム全体の AI 設定​

.cursorrules の作成​

.cursorrules ファイルはチームの AI 動作を定義します:

# プロジェクト:SaaS ダッシュボードアプリ
# 技術スタック:React, TypeScript, Tailwind, Node.js

## コーディング標準
- すべてのコンポーネントに TypeScript を使用
- すべての UI 要素に Tailwind CSS を使用
- プロジェクト内の既存の命名規則に従う
- すべての新機能にテストを作成する

## アーキテクチャの決定事項
- サーバー状態管理には React Query を使用
- クライアント状態管理には Zustand を使用
- サーバーコンポーネント(Server Components)を優先
- API ルートは RESTful 規則に従う

## AI の動作
- コード生成時には常に JSDoc コメントを含める
- パフォーマンス最適化を提案する
- 潜在的なセキュリティ問題をフラグする
- プロジェクト内の既存のユーティリティ関数を使用する

共有 Cursor 設定​

// .cursor/settings.json
{
"cursor.aiRules": "./.cursorrules",
"cursor.defaultModel": "claude-sonnet-4",
"cursor.formatOnSave": true,
"cursor.tabSize": 2,
"cursor.preferredImportStyle": "absolute",
"cursor.testingFramework": "vitest"
}

AI ペアプログラミング​

共有 AI コンテキスト​

@workspace 認証フローがどのように機能するか説明してください

AI は以下を分析します:

  • 現在のプロジェクトのコードベース
  • .cursorrules 設定
  • 最近編集されたファイル
  • 開いているタブ

コードレビューワークフロー​

  1. コミット前レビュー:
この関数の潜在的な問題をレビューしてください:
- エッジケース
- パフォーマンス問題
- セキュリティ脆弱性
- 型安全性
  1. AI 支援の PR 説明:
これらの変更に基づいて PR 説明を生成してください:
- 変更されたファイルをリストアップ
- 重要な変更を説明
- 破壊的変更をフラグする

チームコーディングパターン​

一貫したファイル構造​

src/
components/
ui/ # 再利用可能な UI コンポーネント
features/ # 機能固有のコンポーネント
hooks/
api/ # データ取得 hooks
ui/ # UI インタラクション hooks
utils/
api.ts # API ユーティリティ
formatting.ts # フォーマットユーティリティ
validation.ts # 検証ユーティリティ

共有コンポーネントパターン​

// components/ui/Button.tsx
interface ButtonProps {
variant?: 'primary' | 'secondary' | 'danger';
size?: 'sm' | 'md' | 'lg';
isLoading?: boolean;
children: React.ReactNode;
}

export function Button({
variant = 'primary',
size = 'md',
isLoading = false,
children,
...props
}: ButtonProps) {
const baseStyles = 'rounded font-medium transition-colors';
const variantStyles = {
primary: 'bg-blue-600 text-white hover:bg-blue-700',
secondary: 'bg-gray-200 text-gray-800 hover:bg-gray-300',
danger: 'bg-red-600 text-white hover:bg-red-700',
};
const sizeStyles = {
sm: 'px-3 py-1.5 text-sm',
md: 'px-4 py-2 text-base',
lg: 'px-6 py-3 text-lg',
};

return (
<button
className={`${baseStyles} ${variantStyles[variant]} ${sizeStyles[size]}`}
disabled={isLoading}
{...props}
>
{isLoading ? <Spinner /> : children}
</button>
);
}

リアルタイム協調​

Live Share の使用(VS Code 拡張機能経由)​

  1. VS Code Live Share 拡張機能をインストール
  2. 協調セッションを開始
  3. チームメンバーにリンクを共有
  4. リアルタイムで共同編集

Cursor 固有の共有​

# AI コンテキストを共有
@workspace この分析を @teammate と共有する

# 特定のファイルを共有
@file src/auth/login.ts ログインフローを説明する

コードレビューのベストプラクティス​

AI 支援のレビューチェックリスト​

この PR の変更をレビューしてください:
1. .cursorrules への準拠を確認
2. 潜在的なリグレッションを特定
3. 型安全性を検証
4. テストカバレッジが十分かチェック
5. セキュリティ問題をフラグする

チーム規約​

規約例
ブランチ名feature/user-auth, bugfix/login-error
コミットメッセージfeat: add user authentication
PR テンプレート説明、スクリーンショット、テストチェックリストを含む
コードオーナー重要なファイルには @team-lead

共有コードスニペット​

チームスニペットライブラリ​

// .cursor/snippets.json
{
"React Component": {
"prefix": "rfc",
"body": [
"interface ${1:Component}Props {",
" ${2:prop}: ${3:type};",
"}",
"",
"export function ${1:Component}({ ${2:prop} }: ${1:Component}Props) {",
" return (",
" <div>",
" $0",
" </div>",
" );",
"}"
]
},
"API Hook": {
"prefix": "apihook",
"body": [
"export function use${1:Resource}() {",
" return useQuery({",
" queryKey: ['${2:resource}'],",
" queryFn: fetch${1:Resource},",
" });",
"}"
]
}
}

トラブルシューティング​

一般的な問題​

問題:AI の提案が標準と一致しない
解決策:.cursorrules を更新し、より多くのコンテキストを提供する

問題:チームメンバーが異なる AI レスポンスを得る
解決策:.cursorrules とモデル選択を標準化する

問題:大規模コードベースでのコンテキスト消失
解決策:@file を使用して特定のファイルを参照する

関連リソース​

最終更新:2025 年 7 月