CursorのLinearが気になったんじゃ
初めに
cursorのLinearについて調べてみました!
私はTeamプランで使用できないのですが、気になったのでまとめてみようと思います。
CursorとLinearの関係
CursorはAIコードエディターとして開発タスクの自動化を支援しますが、プロジェクト管理ツールLinearと統合することで、バックログ管理からコード作成までのワークフローを一気通貫で自動化できます。公式ブログによると、Cursor-Linear統合ではユーザーがLinear上のイシューをCursorエージェントに割り当てると、エージェントがタスクを実行し、進捗をLinearに返します。作業が完了すると自動でPull Requestが作成され、Issueの更新とコード作成が同期されるため、チームはワークフローを途切れさせることなく次の作業に移れるそうです。
Linearとは?
Linearは顧客・プロジェクトコンテキストを蓄積する課題管理ツールであり、Cursorはコードベースと開発履歴の専門家です。両者を結び付けることで、イシューに記載された背景情報とコードベース情報を統合し、AIエージェントがより正確に仕事を進めることが可能になります。
できること
エージェント起動: 担当者をCursorにする or コメントで@Cursor言及。
自動割当: Linearのルールで特定Issueを自動的にCursorへ。
PR作成まで自動: 進捗はLinearとCursorダッシュボードにリアルタイム表示。
リッチなコンテキスト: Issue本文・コメント・参照情報を自動収集。
チームコラボ: 生成差分/PRをチームがそのままレビュー・マージ。
導入方法
- Cursor管理者としてログインし、Cursorの統合設定へ移動します。Linear統合を選択して「Connect」をクリックします。
- Linearワークスペースを選択し、チームを指定して認可を実行します。その際、エージェントを運用するためのチーム権限が必要です。
- GitHubアカウントを連携し、デフォルトで利用するリポジトリを選択します。これにより、CursorエージェントがPull Requestを作成できます。
- 使用量課金の有効化とプライバシー設定の確認を行います。
初回利用時には、Linear側のアカウントをCursorにリンクするよう求められます。アカウント連携が完了すると、LinearからCursorエージェントを起動できるようになります。
イシューの割り当て
AssigneeとしてCursorを選択: Linearのイシュー画面でアサイン先を編集し、「Cursor」を選ぶと、バックグラウンドエージェントが起動してタスクを実行します。この方法では、個別の指示が不要な標準的なタスクに適しています。
@cursorメンションによる指示: イシューのコメント欄で@cursorをメンションし、具体的な作業内容を記述すると、その指示に基づいてエージェントが作業します。例えば「@cursor この上の認証バグを修正してください」と書けば、Cursorが認証バグの修正を試みます。
進捗の確認とフィードバック
Linear上でのリアルタイム進捗表示: Cursorエージェントの実行状況はLinearのイシュー画面に反映され、ステータスバーや更新コメントとして表示されます。同じ情報はCursor WebアプリやIDE内ダッシュボードにも表示され、任意の環境から確認できます。エージェントが作業を進めている間に追加の指示を出したい場合、Cursorのエージェントセッションから応答するか、Linearのコメントで@cursorを再度メンションして追記します。エージェントが作業を終えると、GitHubにPull Requestが自動作成され、Linearのイシューには結果が記録されます。チームはPRを確認し、必要に応じて手動で修正や追加レビューを行います。
このような統合により、開発チームはバックログにたまった重要度の低いタスクや修正をすばやく消化できるようになり、エンジニアの上下文切り替えコストが減少します。
設定とカスタマイズ
背景エージェントの振る舞いはCursorダッシュボード内のBackground Agents設定で調整できます。主な設定項目は以下の通りです。
- Default Repository: リポジトリが明示されていない場合にエージェントが利用するGitHubリポジトリを指定します。これはプロジェクトやイシューにリポジトリラベルが設定されていないときに参照されます。
- Default Model: エージェントが利用するAIモデル(例えばGPT-5やClaude4など)を指定します。高性能モデルほど作業精度が高まる一方、コストも増加します。
- Base Branch: エージェントが新しいブランチを作成する際の基点となるブランチを指定します。通常はmainやmasterを設定します。
これらの設定は各イシューやプロジェクト単位で上書き可能です。イシューの説明やコメントに[key=value]形式でパラメータを記述するか、Linearのラベル機能で指定できます。
キー | 説明 | 指定方法 |
---|---|---|
repo |
作業対象とするGitHubリポジトリ |
@cursor 〜 [repo=owner/repo] または repo:<owner/repo> ラベル |
branch |
PR作成時のベースブランチ |
@cursor 〜 [branch=feature-base] または branch:<name> ラベル |
model |
使用するAIモデル |
@cursor 〜 [model=claude-4-sonnet] 等 |
リポジトリの選択優先順位
エージェントがどのリポジトリで作業するかは、次の優先順位で決まります。
- イシュー内のコメントに記載された[repo=owner/repository]指定
- イシューに付与されたrepo:owner/repositoryラベル
- プロジェクトに付与されたrepo:owner/repositoryラベル
- Cursor設定のデフォルトリポジトリ
リポジトリラベルを作成するには、Linearの設定 → ラベル設定で新しいグループrepoを作り、各リポジトリ名(owner/repo)
のラベルを作成します。その後、イシューやプロジェクトにラベルを付与することで、エージェントが作業すべきコードベースを示せます。
最後に
この記事で少しでもLinearの理解の手助けとなれば幸いです。
Discussion