DotweaveDotweave
ドキュメントGitHub
DotweaveDotweave
    • はじめに
    • dotweave をインストールする
    • 最初の同期を設定する
    • 2 台目のデバイスを設定する
    • 同期のしくみ
    • ディレクトリとリポジトリの構造
    • 同期モード
    • プロファイル
    • プラットフォーム別パス
    • シークレットと暗号化
    • ファイルとディレクトリのトラッキング
    • 日々の push とコミットの流れ
    • 複数デバイスの同期を保つ
    • シェル補完を有効にする
    • エージェントスキルをインストールする
    • 設定とリポジトリ形式のアップグレード
    • 同期の問題を解決する
    • dotweave init
    • dotweave track
    • dotweave push
    • dotweave pull
    • dotweave status
    • dotweave untrack
    • dotweave cd
    • dotweave profile
    • dotweave doctor
    • dotweave autocomplete
    • dotweave skill
    • manifest.jsonc
    • settings.jsonc
    • 環境変数とパス
    • エラーメッセージ
ドキュメントGitHub
  1. Dotweave/
  2. プロファイル

プロファイル

manifest にプロファイルを登録し、項目に割り当て、マシンごとに有効なプロファイルを選びます。

default プロファイルは暗黙です

どのリポジトリにも default という名前のプロファイルがあり、自分で作る必要はありません。dotweave が利用可能なプロファイルの先頭に自動で並べ、ほかを選んでいないあいだはこれが有効になります。

暗黙の存在なので、manifest の profiles 配列に書いてはいけません。default を並べた manifest は INVALID_PROFILE_REGISTRY で読み込みに失敗します。同じ理由で dotweave profile add default と dotweave profile remove default はどちらも DEFAULT_PROFILE_IMPLICIT で失敗します。正確なメッセージはエラーメッセージのプロファイルの節を参照してください。

マシンが 1 台だけなら、これ以上は必要ありません。名前付きプロファイルが意味を持つのは、複数のマシンが 1 つのリポジトリから別々の項目だけを取り出したいときです。

使う前にプロファイルを登録する

manifest バージョン 8 以降、名前付きプロファイルは manifest.jsonc のトップレベルの profiles 配列に置かれます。バージョン 7 では項目が参照する場所にしか名前が残らず、v7 から v8 への移行が項目で見つけた名前をすべてレジストリへ引き上げます。この移行は、新しい dotweave が古い manifest を最初に読むときに実行されます。

名前は profile add で登録します。

dotweave profile add work
✔ Added profile work

プロファイル名は英字か数字で始まり、続けて英字、数字、ドット、アンダースコア、ハイフンを使えます。規則は ^[A-Za-z0-9][A-Za-z0-9._-]*$ です。. で始めることはできず、. や .. も使えません。artifact ディレクトリ名の profiles も使えません。

dotweave profile remove <name> はレジストリから名前を削除しますが、2 つの場合には拒否します。そのプロファイルが有効なとき(PROFILE_ACTIVE)と、いずれかの項目がまだその名前を参照しているとき(PROFILE_IN_USE)です。PROFILE_IN_USE の詳細行には参照している項目がすべて並びます。先にその割り当てを整理してください。

dotweave profile list は default と登録済みの名前を並べ、有効なものに印を付けます。

dotweave profile list
~ Profiles
  - default
  - work (active)

プロファイルが見る項目

項目が見えるかどうかは 1 つの規則で決まります。有効なプロファイルは選択中のプロファイルで、何も選んでいなければ default です。profiles が空または未指定の項目は、すべてのプロファイルで適用されます。profiles に名前を並べた項目は、有効なプロファイルがそのいずれかのときだけ適用されます。

そのため共有する項目は割り当てずに置き、マシン固有の項目にだけプロファイルを指定します。

dotweave track ~/.gitconfig
dotweave profile add work
dotweave track ~/.config/work-vpn --profile work

~/.gitconfig はすべての push と pull に含まれます。~/.config/work-vpn が含まれるのは work が有効なあいだだけで、default では見えません。1 つの項目に複数の名前を割り当てると、そのいずれのプロファイルでも適用されます。

プロファイルに限定した項目は、別のプロファイルが有効なあいだは完全に見えなくなります。dotweave status にも現れず、push も pull もその項目を扱いません。項目が失われたと判断する前に、プロファイルを選び直してください。

有効なプロファイルはマシンごとです

選択したプロファイルは、dotweave ホームディレクトリの settings.jsonc に activeProfile として保存されます。このディレクトリは同期ディレクトリの中にはないため、選択がコミットされることはなく、マシンごとに個別に選びます。

仕事用のノート PC では次のようにします。

dotweave profile use work
✔ Active profile set to work

引数なしで dotweave profile use を実行すると選択が消え、default に戻ります。登録されていない名前を選ぶと、何も書き込む前に Unknown profile '<name>'. で失敗します。

push、pull、status は --profile <name> を受け取ります。保存された選択をそのコマンド 1 回だけ上書きし、値は 1 つだけ取ります。

プロファイルはリポジトリを分割しません。push は有効でないプロファイルの artifact をそのまま保持し、削除することはありません。そのため個人用マシンから push しても profiles/work/ は残ります。1 つのリポジトリが profiles/<profile>/ の下にすべてのマシンの設定を並べて保持します。

実装とリファレンス

profiles 配列と項目ごとの profiles フィールドは manifest.jsonc、そこから生まれるディレクトリはディレクトリとリポジトリの構造で説明しています。

サブコマンドの一覧は dotweave profile、選択を記録するマシンごとのフィールドは settings.jsoncを参照してください。

← 前へコンセプト同期モードnormal、secret、ignore が push で保存される内容と pull で復元される内容をどう変えるかを説明します。→ 次へコンセプトプラットフォーム別パス1 つのトラッキング項目に、OS ごとに異なるローカルパス、同期モード、パーミッションを指定できます。

このページの内容

  1. default プロファイルは暗黙です
  2. 使う前にプロファイルを登録する
  3. プロファイルが見る項目
  4. 有効なプロファイルはマシンごとです
  5. 実装とリファレンス