Skip to content

OpenCode と他の AI アシスタント:パイプラインを実行する 3 つの方法

学習後の成果

  • ✅ OpenCode を使用して Factory パイプラインを起動・実行できる
  • ✅ Cursor を使用してパイプラインを実行できる
  • ✅ 異なる AI アシスタントのコマンド形式の違いを理解できる
  • ✅ 使用シナリオに応じて適切な AI アシスタントを選択できる

現在の課題

Factory プロジェクトは初期化しましたが、Claude Code 以外の AI アシスタントを使用してパイプラインを実行する方法がわかりません。OpenCode と Cursor は主流の AI プログラミングアシスタントですが、Factory パイプラインを実行できるのでしょうか?起動方法とコマンド形式にどのような違いがあるのでしょうか?

いつこの方法を使うか

AI アシスタント推奨使用シナリオメリット
Claude Code最も安定した Agent モードの体験が必要ネイティブ Agent モード対応、コマンド形式が明確
OpenCodeマルチプラットフォームユーザー、柔軟な AI ツールが必要クロスプラットフォーム、Agent モード対応
CursorVS Code ヘビーユーザー、VS Code エコシステムに慣れている高度な統合、シームレスな切り替え

核心原則

すべての AI アシスタントの実行ロジックは完全に同じです:Agent 定義を読み取る → パイプラインを実行する → 成果物を生成する。違いは起動方法とコマンド形式のみです。

🎒 開始前の準備

開始前に、以下を確認してください:

  • インストールと設定 が完了していること
  • factory init を使用してプロジェクトを初期化していること
  • ✅ OpenCode または Cursor(少なくとも 1 つ)がインストールされていること

基本概念:AI アシスタントをパイプライン実行エンジンとして使用

AI アシスタントはパイプラインの実行エンジンであり、Agent 定義を解釈して成果物を生成する役割を担います。基本ワークフローは 5 つのステップで構成されます:まず.factory/pipeline.yamlを読み取ってステージの順序を理解し、次にスケジューラーを読み込んで実行制約と権限チェックルールを把握し、その後現在の状態に基づいて対応する Agent 定義ファイルを読み込み、Agent コマンドを実行して成果物を生成して終了条件を検証し、最後にユーザーの確認を待って次のステージに進みます。

重要:AI アシスタントは Agent モードに対応している必要があります

Factory パイプラインは、AI アシスタントが複雑な Markdown コマンドを理解して実行できることに依存しています。サポートされているすべての AI アシスタント(Claude Code、OpenCode、Cursor)は Agent モードの機能を備えています。

実践してみよう

ステップ 1:OpenCode を使用してパイプラインを実行する

自動起動(推奨)

OpenCode CLI をグローバルにインストールしている場合:

bash
# プロジェクトルートディレクトリで実行
factory init

factory initは自動的に OpenCode を検出して起動し、以下のプロンプトを渡します:

text
.factory/pipeline.yamlと.factory/agents/orchestrator.checkpoint.mdを読み、パイプラインを起動して、私の製品アイデアの断片を実行可能なアプリケーションに変換するのを手伝ってください。次にアイデアの断片を入力します。注意:Agent が参照する skills/ と policies/ ファイルは、まず .factory/ ディレクトリを検索し、次にルートディレクトリを検索する必要があります。

期待される動作

  • ターミナルに Starting OpenCode... が表示される
  • OpenCode ウィンドウが自動的に開く
  • プロンプトが入力欄に自動的に貼り付けられている

手動起動

自動起動が失敗した場合、手動で操作できます:

  1. OpenCode アプリを開く
  2. Factory プロジェクトディレクトリを開く
  3. 以下のプロンプトを OpenCode の入力欄にコピーする:
text
.factory/pipeline.yamlと.factory/agents/orchestrator.checkpoint.mdを読み、パイプラインを起動して、私の製品アイデアの断片を実行可能なアプリケーションに変換するのを手伝ってください。次にアイデアの断片を入力します。注意:Agent が参照する skills/ と policies/ ファイルは、まず .factory/ ディレクトリを検索し、次にルートディレクトリを検索する必要があります。
  1. Enter キーを押して実行する

パイプラインを続行する

パイプラインがすでに特定のステージまで実行されている場合、factory runコマンドを使用して続行できます:

bash
# 現在の状態を表示してコマンドを生成する
factory run

# または指定したステージから開始する
factory run prd

OpenCode は Claude Code と類似したコマンドを表示します:

🤖 AI Assistant Instructions:
──────────────────────────────────────────

This is an Agent Factory project. Please:

1. Read .factory/pipeline.yaml
2. Read .factory/agents/orchestrator.checkpoint.md
3. Read .factory/config.yaml
4. Execute pipeline from: bootstrap

Note: Check .factory/ first for skills/policies/ references, then root directory.

ステップ 2:Cursor を使用してパイプラインを実行する

Cursor は VS Code ベースの AI プログラミングアシスタントであり、Composer 機能を使用して Factory パイプラインを実行します。

Cursor の検出

Factory CLI は自動的に Cursor 環境を検出します(CURSORまたはCURSOR_API_KEY環境変数を使用)。

Composer を使用して実行する

  1. Cursor で Factory プロジェクトディレクトリを開く
  2. factory runコマンドを実行する:
bash
factory run
  1. ターミナルに Cursor 専用コマンドが表示されます:
🤖 Cursor Instructions:
──────────────────────────────────────────

This is an Agent Factory project. Use Cursor Composer to:

1. @ReadFile .factory/pipeline.yaml
2. @ReadFile .factory/agents/orchestrator.checkpoint.md
3. @ReadFile .factory/config.yaml
   (Note: Check .factory/ first for skills/policies/ references)
4. Execute pipeline from: bootstrap
  1. これらのコマンドを Cursor Composer の入力欄にコピーする
  2. 実行する

チェックポイント ✅

  • Cursor Composer ウィンドウが開いている
  • パイプラインの実行が開始され、現在のステージが表示されている(例:Running: bootstrap
  • 成果物が生成されている(例:input/idea.md

ステップ 3:異なる AI アシスタントのコマンド形式を理解する

実行ロジックは同じですが、異なる AI アシスタントのコマンド形式には微妙な違いがあります:

操作Claude Code 形式Cursor 形式他の AI アシスタント(OpenCode など)
ファイルを読み込むRead(filePath)@ReadFile filePathRead filePath
複数のファイルを読み込むRead(file1), Read(file2)@ReadFile file1, @ReadFile file2-
ファイルを書き込むWrite(filePath, content)直接書き込む-
Bash コマンドを実行Bash(command)直接実行-

Factory CLI が自動的に処理

factory runを実行すると、CLI は自動的に現在の AI アシスタントタイプを検出し、対応するコマンド形式を生成します。コピー&ペーストするだけで、手動で変換する必要はありません。

ステップ 4:指定したステージから実行を続行する

パイプラインがすでに最初の数ステージを完了している場合、任意のステージから続行できます:

bash
# UI ステージから開始する
factory run ui

# Tech ステージから開始する
factory run tech

# Code ステージから開始する
factory run code

Factory CLI は現在のパイプラインステータスを表示します:

Pipeline Status:
────────────────────────
Project: my-app
Status: Running
Current Stage: ui
Completed: bootstrap, prd

Available stages:
  ✓ bootstrap
  ✓ prd
  → ui
  ○ tech
  ○ code
  ○ validation
  ○ preview

ステップ 5:factory continue を使用して Token を節約(Claude Code のみ)

注意

factory continueコマンドは現在Claude Codeのみサポートしています。OpenCode または Cursor を使用している場合、factory runを使用して手動で新しいセッションを起動してください。

Token を節約し、コンテキストの蓄積を避けるため、Claude Code はセッション分割実行をサポートしています:

bash
# 新しいターミナルウィンドウを開いて実行する
factory continue

実行効果

  • 現在の状態(.factory/state.json)を読み取る
  • 新しい Claude Code ウィンドウを自動的に起動する
  • 最後に一時停止したステージから続行する

適用シナリオ

  • Bootstrap → PRD が完了し、UI ステージを実行するために新しいセッションを作成したい
  • UI → Tech が完了し、Code ステージを実行するために新しいセッションを作成したい
  • 長い会話履歴を避ける必要があるあらゆるシナリオ

よくある問題

問題 1:OpenCode の起動に失敗する

症状factory initを実行した後、OpenCode が自動的に起動しない。

原因

  • OpenCode CLI が PATH に追加されていない
  • OpenCode がインストールされていない

解決策

bash
# 手動で OpenCode を起動する
# Windows
%LOCALAPPDATA%\Programs\OpenCode\OpenCode.exe

# macOS
/Applications/OpenCode.app

# Linux(優先順位で検索:最初に /usr/bin/opencode、次に /usr/local/bin/opencode)
/usr/bin/opencode
# 上記のパスが存在しない場合、試してください:
/usr/local/bin/opencode

その後、プロンプトを手動でコピーして OpenCode に貼り付けます。

問題 2:Cursor Composer がコマンドを認識できない

症状factory runで生成されたコマンドを Cursor Composer にコピーしたが、応答がない。

原因

  • Cursor Composer の@ReadFile構文は正確なマッチングが必要
  • ファイルパスが正しくない可能性がある

解決策

  1. ReadReadFileではなく@ReadFileを使用していることを確認する
  2. ファイルパスがプロジェクトルートディレクトリからの相対パスであることを確認する
  3. 絶対パスを使用してみる

text
# ✅ 正しい
@ReadFile .factory/pipeline.yaml

# ❌ 間違い
Read(.factory/pipeline.yaml)
@readfile .factory/pipeline.yaml

問題 3:Agent がスキルファイルの参照に失敗する

症状:Agent がskills/bootstrap/skill.mdpolicies/failure.policy.mdが見つからないとエラーを出す。

原因

  • Agent の検索パスの順序が間違っている
  • プロジェクトに.factory/とルートディレクトリの両方にskills/policies/が存在している

解決策: すべての AI アシスタントは同じ検索順序に従います:

  1. 優先検索.factory/skills/.factory/policies/
  2. ルートディレクトリへのフォールバックskills/policies/

以下を確認してください:

  • Factory プロジェクトの初期化後、skills/policies/.factory/にコピーされている
  • Agent 定義で明確にプロンプトされている:「まず.factory/ディレクトリを検索し、次にルートディレクトリを検索する」

問題 4:パイプラインステータスが同期されない

症状:AI アシスタントは特定のステージが完了したと表示しているが、factory runはまだrunningステータスを表示している。

原因

  • AI アシスタントがstate.jsonを手動で更新したが、CLI ステータスと一致しない
  • 複数のウィンドウで同時にステータスファイルを変更した可能性がある

解決策

bash
# プロジェクトステータスをリセットする
factory reset

# パイプラインを再実行する
factory run

ベストプラクティス

複数の AI アシスタントウィンドウで同じプロジェクトのパイプラインを同時に実行することは避けてください。これによりステータスの競合と成果物の上書きが発生します。

このレッスンのまとめ

このレッスンでは、OpenCode、Cursor などの AI アシスタントを使用して Factory パイプラインを実行する方法を学びました:

重要ポイント

  • ✅ Factory は複数の AI アシスタント(Claude Code、OpenCode、Cursor)をサポート
  • factory initは使用可能な AI アシスタントを自動検出して起動
  • factory runは現在の AI アシスタントに応じて対応するコマンドを生成
  • factory continue(Claude Code のみ)はセッション分割実行をサポートし、Token を節約
  • ✅ すべての AI アシスタントは同じ実行ロジックに従い、コマンド形式のみが異なる

重要なファイル

  • .factory/pipeline.yaml —— パイプライン定義
  • .factory/agents/orchestrator.checkpoint.md —— スケジューラールール
  • .factory/state.json —— パイプラインステータス

選択の推奨

  • Claude Code:最も安定した Agent モード体験(推奨)
  • OpenCode:クロスプラットフォームユーザーの第一選択
  • Cursor:VS Code ヘビーユーザー向け

次のレッスンの予告

次のレッスンでは、**必須プラグインのインストール**について学びます。

学ぶこと:

  • なぜ superpowers と ui-ux-pro-max プラグインをインストールする必要があるのか
  • プラグインを自動的または手動でインストールする方法
  • プラグインのインストールが失敗した場合の対処方法

付録:ソースコード参照

クリックしてソースコードの場所を表示

更新日時:2026-01-29

機能ファイルパス行番号
OpenCode 起動cli/commands/init.js152-215
Claude Code 起動cli/commands/init.js119-147
AI アシスタント検出cli/commands/run.js105-124
コマンド生成cli/commands/run.js130-183

重要な定数

  • CLAUDE_CODE / ANTHROPIC_API_KEY:Claude Code 環境変数検出(run.js:109-110)
  • CURSOR / CURSOR_API_KEY:Cursor 環境変数検出(run.js:114-115)
  • OPENCODE / OPENCODE_VERSION:OpenCode 環境変数検出(run.js:119-120)

重要な関数

  • launchClaudeCode(projectDir):Claude Code を起動し、プロンプトを渡す(init.js:119-147)
  • launchOpenCode(projectDir):OpenCode を起動、CLI と実行ファイルの 2 つの方法をサポート(init.js:152-215)
  • detectAIAssistant():環境変数を通じて現在の AI アシスタントタイプを検出(run.js:105-124)
  • getAssistantInstructions(assistant, ...):AI アシスタントタイプに基づいて対応するコマンドを生成(run.js:130-183)