リポジトリ設定
プロジェクトアクション、ワークツリーのセットアップコマンド、下書きスターターは、デフォルトではあなた自身の TokenWork 設定に保存されます。他の人には見えません。リポジトリをクローンしたチームメンバーにも同じ開発サーバーのアクションと、新しいワークツリーごとの同じ bun install を使ってほしいなら、それらの項目をリポジトリへ移動します。
TokenWork はそれらをリポジトリ直下の .openchamber/project.json に保存します。このファイルは最初の項目を移動したときに初めて作られ、最後の項目を戻すと消えます。ほかのファイルと同じようにコミットしてください。
何がどこに入るか
| あなたの設定に残るもの | リポジトリへ移動できるもの |
|---|---|
| ノートと Todo | プロジェクトアクション |
| スケジュールタスク | ワークツリーのセットアップコマンド |
| リポジトリのアクションのうち自分だけ非表示にしたもの | 下書きスターター(ピン留めしたコマンドとスキル) |
| リポジトリのコマンドに対する信頼の回答 | プラン |
ノート、Todo、スケジュールタスクはあなたのものです。リポジトリに入ることはありません。
項目を移動する
Settings → Projects を開き、プロジェクトを選びます。各アクションと各セットアップコマンドには Move to repository ボタンがあり、リポジトリ由来の各項目には Move to my settings があります。新規セッション画面のスターターはホバーで同じ 2 つを表示します。プランはプランタブの各行にあります。
移動は文字どおり移動です。項目は一方から消えてもう一方に現れ、複製はされません。
リポジトリ由来の項目には In repo バッジが付きます。リポジトリのアクションは Hide for me で自分のメニューから隠せます。これはあなたのメニューだけを変え、ファイルは変えません。
ファイル
{ "version": 1, "setupWorktree": [ "bun install" ], "setupWorktreeWait": true, "projectActions": [ { "id": "dev", "name": "Dev server", "command": "bun run dev", "icon": "rocket", "autoOpenUrl": true, "platforms": ["macos", "linux"] }, { "id": "test", "name": "Tests", "command": "bun test" } ], "draftStarters": [ { "type": "skill", "name": "triage-prs" } ], "plansDir": "docs/plans"}必須なのは version だけです。ほかのキーはすべて省略可能で、TokenWork は中身のあるキーだけを書き込みます。
setupWorktree は、新しいワークツリーを作成した直後にその中で TokenWork が順番に実行するシェルコマンドの一覧です。メインのチェックアウトのパスには $ROOT_PROJECT_PATH を使います。setupWorktreeWait: true にすると、TokenWork はこれらのコマンドの完了を待ってからワークツリーでセッションを開始します。
projectActions はヘッダーメニューのアクション一覧です。id、name、command は必須です。icon は省略可能で、省略時は play アイコンになります。TokenWork が認識する名前は play、build、lint、terminal、tools、bug、flask、rocket、code、server、branch、search、settings、brain、stack、robot、command、file です。autoOpenUrl: true はコマンドが出力したアドレスを開きます(プレビューと開発サーバー を参照)。platforms はアクションを macos、linux、windows に限定します。runIn: "parent" は現在のワークツリーではなくメインのチェックアウトでアクションを実行します。
draftStarters はコマンドとスキルを新規セッション画面にピン留めします。各項目は { "type": "command" | "skill", "name": "..." } の形で、コマンドやスキル自体はリポジトリの OpenCode 設定に存在している必要があります。
plansDir はリポジトリのプランを置く場所です。省略すると .openchamber/plans が使われます。後述します。
このファイルは手で書いても構いません。形の違うキーがあるとファイル全体が無効になり、Projects ページは黙って無視する代わりに理由を表示します。
リポジトリの項目と自分の項目の組み合わせ
セットアップコマンドはリポジトリのものが先に実行され、その後にあなたのものが実行されます。Worktree セクションの Use only my setup commands にチェックを入れると、リポジトリのコマンドを完全にスキップします。
アクションは id でマージされます。リポジトリのアクションと同じ id があなたの設定にあれば、そちらが優先されます。スターターは名前でマージされます。
待機フラグは、あなたが設定していればその値、なければリポジトリの値が使われます。
信頼
リポジトリのセットアップコマンドとアクションはあなたのマシンで実行され、git pull で内容が変わることがあります。そのため、いずれかが初めて実行されそうになったとき、TokenWork は正確なコマンドを表示して確認します。Trust and run はこのインスタンスで回答を記憶します。Not this time はあなた自身のコマンドだけを実行します。
回答はコマンドそのものに結び付いています。pull でリポジトリのコマンドが変わると、新しい内容について再度確認されます。プロジェクト設定の Worktree セクションにある reset trust で回答を忘れさせることができます。
自分のコマンドをリポジトリへ移動することは、そのコマンドを信頼したものとみなされます。いま自分で見たばかりだからです。
リポジトリ内のプラン
プランタブのプランも、Markdown ファイルとしてリポジトリに置けます。デフォルトのフォルダーは .openchamber/plans です。チームがすでに docs/plans などにプランを置いているなら、プロジェクト設定の Plans folder でリポジトリ内の別のフォルダーを指定します。カスタムフォルダーはデフォルトを完全に置き換えます。TokenWork はそのフォルダーだけを読み書きするので、変更時は既存ファイルを自分で移動してください。
そのフォルダー内のすべての .md ファイルがプランタブに表示されます。ほかのツールで書いたファイルも含みます。TokenWork で編集すると、入力したとおりにファイルが保存されます。リポジトリへ移動したプランは同一性を保つため、そのプランを添付していたセッションからも引き続き見つかります。