[ contents ]
ヘルプ

OPSX へのマイグレーション

このガイドは、レガシー ワークフローから OPSX への移行をサポートします。マイグレーションはスムーズに設計されています—既存の作業は保持され、新しいシステムはより多くの柔軟性を提供します。

変更内容

OPSX は古い フェーズロック ワークフローを流動的なアクションベースのアプローチで置き換えます。主な変更点は次のとおりです:

側面 レガシー OPSX
コマンド /openspec:proposal, /openspec:apply, /openspec:archive 日常的なコア: /rasen:propose, /rasen:apply, /rasen:sync, /rasen:archive(デフォルトで拡張セット全体と一緒にインストール)
ワークフロー すべての成果物を一度に作成 段階的にまたはすべてを一度に作成—選択可能
戻る 難しいフェーズ ゲート 自然—いつでも任意の成果物を更新
カスタマイズ 固定構造 スキーマ駆動、完全にハッキング可能
設定 CLAUDE.md マーカー + project.md を使用 rasen/config.yaml でクリーン設定

哲学の変化: 作業は線形ではありません。OPSX はそれを偽ることを停止します。


開始前に

既存の作業は安全です

マイグレーション プロセスは保持を念頭に設計されています:

  • rasen/changes/ のアクティブな変更 — 完全に保持されます。OPSX コマンドでそれらを続行できます。
  • アーカイブされた変更 — 未変更。履歴はそのまま保持されます。
  • rasen/specs/ のメイン仕様 — 未変更。これらは信頼できる情報源です。
  • CLAUDE.mdAGENTS.md などのコンテンツ — 保持されます。raseん マーカー ブロックのみが削除され、書いたすべてが留まります。

削除されるもの

置き換えられるraseん管理ファイルのみ:

内容 理由
レガシー スラッシュ コマンド ディレクトリ/ファイル 新しいスキル システムで置き換え
rasen/AGENTS.md 廃止ワークフロー トリガー
CLAUDE.mdAGENTS.md などのRaseん マーカー 不要になりました

ツール別のレガシー コマンド場所(例—ツールは異なる場合があります):

  • Claude Code: .claude/commands/openspec/
  • Cursor: .cursor/commands/openspec-*.md
  • Windsurf: .windsurf/workflows/openspec-*.md
  • Cline: .clinerules/workflows/openspec-*.md
  • Roo: .roo/commands/openspec-*.md
  • GitHub Copilot: .github/prompts/openspec-*.prompt.md(IDE拡張機能のみ; Copilot CLI ではサポートされていません)
  • その他(Augment、Continue、Amazon Q など)

マイグレーションは設定したツールを検出し、レガシー ファイルをクリーンアップします。

削除リストは長いように見えますが、これらはすべてraseんが元々作成したファイルです。独自のコンテンツは削除されません。

注意が必要なもの

1つのファイルは手動マイグレーションが必要です:

openspec/project.md — このファイルは、作成したプロジェクト コンテキストが含まれている可能性があるため、自動的には削除されません。次が必要です:

  1. コンテンツをレビュー
  2. 有用なコンテキストを rasen/config.yaml に移動します(以下のガイダンスを参照)
  3. 準備ができたらファイルを削除

なぜこの変更を行ったのか:

古い project.md は受動的でした—エージェントはそれを読んだかもしれません。読み忘れたかもしれません。信頼性は一貫性がありませんでした。

新しい config.yaml コンテキストはすべてのraseんプランニング リクエストに能動的に注入されます。つまり、プロジェクト慣例、テック スタック、ルールは、AIが成果物を作成するときに常に存在します。信頼性が高い。

トレードオフ:

コンテキストはすべてのリクエストに注入されるため、簡潔にしたいでしょう。本当に重要なことに焦点を当てます:

  • テック スタックと主要な慣例
  • AIが知る必要がある明らかでない制約
  • 以前は頻繁に無視されたルール

完璧にするについて心配しないでください。ここで何が最善かをまだ学んでいて、実験することでコンテキスト注入がどのように機能するかを改善しています。


マイグレーションの実行

rasen initrasen update の両方がレガシー ファイルを検出し、同じクリーンアップ プロセスをガイドします。状況に適したものを使用してください:

  • 新規インストールはデフォルトで full プロファイル(すべてのワークフロー)です。スリムダウンセットが必要な場合は coreproposeexploreapplysyncarchive)に切り替えます。
  • マイグレーション済みインストールは、必要に応じて custom プロファイルを書き込むことで、以前にインストールされたワークフローを保持します。

rasen init を使用

新しいツールを追加したり、設定されているツールを再設定したい場合に実行します:

rasen init

initコマンドはレガシー ファイルを検出し、クリーンアップをガイドします:

Upgrading to the new rasen

Rasen now uses agent skills, the emerging standard across coding
agents. This simplifies your setup while keeping everything working
as before.

Files to remove
No user content to preserve:
  • .claude/commands/openspec/
  • rasen/AGENTS.md

Files to update
Rasen markers will be removed, your content preserved:
  • CLAUDE.md
  • AGENTS.md

Needs your attention
  • openspec/project.md
    We won't delete this file. It may contain useful project context.

    The new rasen/config.yaml has a "context:" section for planning
    context. This is included in every rasen request and works more
    reliably than the old project.md approach.

    Review project.md, move any useful content to config.yaml's context
    section, then delete the file when ready.

? Upgrade and clean up legacy files? (Y/n)

「はい」と言った場合の動作:

  1. レガシー スラッシュ コマンド ディレクトリが削除されます
  2. CLAUDE.mdAGENTS.md などからRaseん マーカーが削除されます(コンテンツは残ります)
  3. rasen/AGENTS.md が削除されます
  4. 新しいスキルが .claude/skills/ にインストールされます
  5. rasen/config.yaml がデフォルト スキーマで作成されます

rasen update を使用

マイグレーションして、既存ツールを最新バージョンにリフレッシュしたい場合に実行します:

rasen update

updateコマンドもレガシー 成果物を検出してクリーンアップし、現在のプロファイルと配信設定に一致する生成されたスキル/コマンドをリフレッシュします。

非インタラクティブ / CI 環境

スクリプト化されたマイグレーション用:

rasen init --force --tools claude

--force フラグはプロンプトをスキップしてクリーンアップを自動受け入れします。


project.md から config.yaml へのマイグレーション

古い openspec/project.md はプロジェクト コンテキスト用の自由形式 マークダウン ファイルでした。新しい rasen/config.yaml は構造化されており—非常に重要な点は—すべてのプランニング リクエストに注入されるため、AIが作業するときに慣例が常に存在します。

前(project.md)

# Project Context

This is a TypeScript monorepo using React and Node.js.
We use Jest for testing and follow strict ESLint rules.
Our API is RESTful and documented in docs/api.md.

## Conventions

- All public APIs must maintain backwards compatibility
- New features should include tests
- Use Given/When/Then format for specifications

後(config.yaml)

schema: spec-driven

context: |
  Tech stack: TypeScript, React, Node.js
  Testing: Jest with React Testing Library
  API: RESTful, documented in docs/api.md
  We maintain backwards compatibility for all public APIs

rules:
  proposal:
    - Include rollback plan for risky changes
  specs:
    - Use Given/When/Then format for scenarios
    - Reference existing patterns before inventing new ones
  design:
    - Include sequence diagrams for complex flows

主な違い

project.md config.yaml
自由形式マークダウン 構造化 YAML
テキストの 1 つのブロック コンテキストと成果物ごとのルール別
使用される時期が不明確 コンテキストはすべての成果物に表示。ルールは一致する成果物にのみ表示
スキーマ選択なし 明示的な schema: フィールドがデフォルト ワークフローを設定

保持すべき内容、削除すべき内容

マイグレーション時に選択的に行ってください。「AIがすべてのプランニング リクエストに必要ですか?」と自問します。

context: の良い候補

  • テック スタック(言語、フレームワーク、データベース)
  • 主要なアーキテクチャ パターン(モノレポ、マイクロサービスなど)
  • 明らかでない制約(「ライブラリ X を使用できません...」)
  • 頻繁に無視された重要な慣例

代わりに rules: に移動

  • 成果物固有の形式(「スペックで Given/When/Then を使用」)
  • レビュー基準(「提案にはロールバック計画を含める必要があります」)
  • これらは一致する成果物にのみ表示され、他のリクエストを軽くします

完全に除外

  • AIが既に知っている一般的なベスト プラクティス
  • 要約できた冗長な説明
  • 現在の作業に影響しない歴史的コンテキスト

マイグレーション ステップ

  1. config.yaml を作成(initによってまだ作成されていない場合):

    schema: spec-driven
    
  2. コンテキストを追加(簡潔にしてください—すべてのリクエストに含まれます):

    context: |
      Your project background goes here.
      Focus on what the AI genuinely needs to know.
    
  3. 成果物ごとのルールを追加(オプション):

    rules:
      proposal:
        - Your proposal-specific guidance
      specs:
        - Your spec-writing rules
    
  4. すべての有用な内容を移動した後に project.md を削除

完璧を目指さないでください。 必須から始めて、反復します。AIが重要なものを見逃していることに気づいた場合は、追加します。コンテキストがかさばっていると感じた場合は、削除します。これは生きたドキュメントです。

ヘルプが必要ですか? このプロンプトを使用してください

project.md の蒸留方法が不明な場合は、AI アシスタントに質問してください:

I'm migrating from rasen's old project.md to the new config.yaml format.

Here's my current project.md:
[paste your project.md content]

Please help me create a config.yaml with:
1. A concise `context:` section (this gets injected into every planning request, so keep it tight—focus on tech stack, key constraints, and conventions that often get ignored)
2. `rules:` for specific artifacts if any content is artifact-specific (e.g., "use Given/When/Then" belongs in specs rules, not global context)

Leave out anything generic that AI models already know. Be ruthless about brevity.

AIは、本質的な内容と削除できる内容を識別するのを支援します。


新しいコマンド

コマンドの利用可能性はプロファイルに依存します:

日常的なコマンド(core プロファイル サブセット):

コマンド 目的
/rasen:propose 変更を作成して、プランニング成果物を 1 ステップで生成
/rasen:explore 構造なしでアイデアを検討
/rasen:apply tasks.md からのタスクを実装
/rasen:archive 変更を確定してアーカイブ

拡張ワークフロー(カスタム選択):

コマンド 目的
/rasen:new 新しい変更スキャフォールドを開始
/rasen:continue 次の成果物を作成(一度に 1 つ)
/rasen:ff 高速化—プランニング成果物を一度に作成
/rasen:verify 実装が仕様と一致することを検証
/rasen:sync デルタ仕様をメイン仕様にマージ
/rasen:bulk-archive 複数の変更を一度にアーカイブ
/rasen:onboard ガイド付きエンドツーエンド オンボーディング ワークフロー

デフォルトの full プロファイルにはこれらが既に含まれています。日常セットのみが必要な場合は core に切り替えるか、rasen config profile で調整してから rasen update を実行します。

レガシーからのコマンド マッピング

レガシー OPSX 相当
/openspec:proposal /rasen:propose(デフォルト)または /rasen:new 次に /rasen:ff(拡張)
/openspec:apply /rasen:apply
/openspec:archive /rasen:archive

新しい機能

これらの機能は拡張ワークフロー コマンド セットの一部です。

細粒度成果物作成:

/rasen:continue

依存関係に基づいて一度に 1 つの成果物を作成します。各ステップをレビューしたいときに使用します。

探索モード:

/rasen:explore

変更をコミットする前に、パートナーとアイデアを検討します。


新しいアーキテクチャを理解する

フェーズロックから流動へ

レガシー ワークフローは線形の進行を強制しました:

┌──────────────┐      ┌──────────────┐      ┌──────────────┐
│   PLANNING   │ ───► │ IMPLEMENTING │ ───► │   ARCHIVING  │
│    PHASE     │      │    PHASE     │      │    PHASE     │
└──────────────┘      └──────────────┘      └──────────────┘

If you're in implementation and realize the design is wrong?
Too bad. Phase gates don't let you go back easily.

OPSX はアクションを使用します。フェーズではなく:

         ┌───────────────────────────────────────────────┐
         │           ACTIONS (not phases)                │
         │                                               │
         │     new ◄──► continue ◄──► apply ◄──► archive │
         │      │          │           │             │   │
         │      └──────────┴───────────┴─────────────┘   │
         │                    any order                  │
         └───────────────────────────────────────────────┘

依存性グラフ

成果物は有向グラフを形成します。依存関係はゲートではなく、イネーブラーです:

                        proposal
                       (root node)
                            │
              ┌─────────────┴─────────────┐
              │                           │
              ▼                           ▼
           specs                       design
        (requires:                  (requires:
         proposal)                   proposal)
              │                           │
              └─────────────┬─────────────┘
                            │
                            ▼
                         tasks
                     (requires:
                     specs, design)

/rasen:continue を実行すると、何が準備完了かを確認し、次の成果物を提供します。複数の準備完了成果物を任意の順序で作成することもできます。

スキル対コマンド

レガシー システムはツール固有のコマンド ファイルを使用しました:

.claude/commands/openspec/
├── proposal.md
├── apply.md
└── archive.md

OPSX は新興スキル標準を使用します:

.claude/skills/
├── rasen-explore/SKILL.md
├── rasen-new-change/SKILL.md
├── rasen-continue-change/SKILL.md
├── rasen-apply-change/SKILL.md
└── ...

スキルは複数の AI コーディング ツール全体で認識され、より豊かなメタデータを提供します。


既存の変更を続行

進行中の変更は OPSX コマンドとシームレスに機能します。

レガシー ワークフローからアクティブな変更がありますか?

/rasen:apply add-my-feature

OPSX は既存の成果物を読み取り、停止した場所から続行します。

既存の変更に成果物を追加したいですか?

/rasen:continue add-my-feature

既に存在するものに基づいて作成可能な内容を表示します。

ステータスを確認する必要がありますか?

rasen status --change add-my-feature

新しい設定システム

config.yaml 構造

# 必須: 新しい変更のデフォルト スキーマ
schema: spec-driven

# オプション: プロジェクト コンテキスト(最大 50KB)
# すべての成果物指示に注入
context: |
  Your project background, tech stack,
  conventions, and constraints.

# オプション: 成果物ごとのルール
# 一致する成果物にのみ注入
rules:
  proposal:
    - Include rollback plan
  specs:
    - Use Given/When/Then format
  design:
    - Document fallback strategies
  tasks:
    - Break into 2-hour maximum chunks

スキーマ解決

使用するスキーマを決定する場合、raseん は順序をチェック:

  1. CLI フラグ: --schema <name>(最優先)
  2. メタデータ変更: 変更ディレクトリの .openspec.yaml
  3. プロジェクト設定: rasen/config.yaml
  4. デフォルト: spec-driven

利用可能なスキーマ

スキーマ 成果物 最適な用途
spec-driven proposal → specs → design → tasks ほとんどのプロジェクト

利用可能なすべてのスキーマをリスト:

rasen schemas

カスタム スキーマ

独自のワークフローを作成:

rasen schema init my-workflow

または既存のものをフォーク:

rasen schema fork spec-driven my-workflow

詳細については、カスタマイズを参照してください。


トラブルシューティング

「非インタラクティブ モードでレガシー ファイルが検出されました」

CI または非インタラクティブ環境で実行しています。使用:

rasen init --force

マイグレーション後にコマンドが表示されない

IDE を再起動してください。スキルはスタートアップで検出されます。

「ルールの不明な成果物ID」

rules: キーがスキーマの成果物 ID と一致することを確認します:

  • spec-driven: proposal, specs, design, tasks

有効な成果物 ID を確認する場合は、次を実行:

rasen schemas --json

設定が適用されない

  1. ファイルが rasen/config.yaml にあることを確認(.yml ではなく)
  2. YAML 構文を検証
  3. 設定の変更は即座に有効—再起動は不要

project.md がマイグレーションされない

システムはカスタム コンテンツが含まれている可能性があるため、意図的に project.md を保持します。手動でレビュー、有用な部分を config.yaml に移動、その後削除。

クリーンアップされる内容を確認しますか?

initを実行してクリーンアップ プロンプトを拒否—変更を加えずに完全な検出サマリーが表示されます。


クイック リファレンス

マイグレーション後のファイル

project/
├── rasen/
│   ├── specs/                    # 変更なし
│   ├── changes/                  # 変更なし
│   │   └── archive/              # 変更なし
│   └── config.yaml               # 新規: プロジェクト設定
├── .claude/
│   └── skills/                   # 新規: OPSX スキル
│       ├── rasen-propose/        # fullプロファイル(デフォルト); coreプロファイルはこのサブセットを保持
│       ├── rasen-explore/
│       ├── rasen-apply-change/
│       ├── rasen-sync-specs/
│       └── ...                   # fullプロファイルはnew/continue/ff/etcも追加
├── CLAUDE.md                     # raseんマーカー削除、コンテンツ保持
└── AGENTS.md                     # raseんマーカー削除、コンテンツ保持

削除されたもの

  • .claude/commands/openspec/.claude/skills/ で置き換え
  • rasen/AGENTS.md — 廃止
  • openspec/project.mdconfig.yaml にマイグレーション、その後削除
  • CLAUDE.mdAGENTS.md などのRaseんマーカー ブロック

コマンド チートシート

/rasen:propose      素早く開始(デフォルトコア プロファイル)
/rasen:apply        タスクを実装
/rasen:archive      完了してアーカイブ

# 拡張ワークフロー(有効な場合):
/rasen:new          変更をスキャフォールド
/rasen:continue     次の成果物を作成
/rasen:ff           プランニング成果物を作成

サポート が必要ですか?