Skip to content
Apothem
CLI リファレンス

profile

apothem profile コマンドグループの CLI リファレンス。

共有の Apothem プロファイルを管理します。

profile は、init、show、set、edit の 4 つのサブコマンドを持つコマンドグループです。 共有プロファイルは単一の信頼できる情報源であり、各ハーネスアダプターはこれをそれぞれのネイティブ設定へマテリアライズします。

構文

apothem profile init [--profile PATH] [--force]
                     [--quiet|-q] [--verbose|-v]
                     [--format plain|json] [--json] [--no-color]
apothem profile show [--profile PATH] [--quiet|-q] [--verbose|-v]
                     [--format plain|json] [--json] [--no-color]
apothem profile set KEY VALUE
                     [--profile PATH] [--quiet|-q] [--verbose|-v]
                     [--format plain|json] [--json] [--no-color]
apothem profile edit [--profile PATH] [--quiet|-q] [--verbose|-v]
                     [--format plain|json] [--json] [--no-color]

共通オプション

すべてのサブコマンドは、以下の共通オプションを受け付けます。

オプション説明
--profile PATH共有プロファイル YAML へのパス(デフォルトは標準のプロファイルの場所)。
--quiet, -q情報出力を抑制し、エラーのみを出力します。
--verbose, -v追加の診断出力を出力します。
--format plain|json出力形式(デフォルト: plain)。
--json--format json の短縮形です。
--no-color出力中の ANSI カラーコードを無効にします。
-h, --helpヘルプを表示して終了します。

サブコマンド

profile init

~/.config/apothem/profile.yaml または --profile PATH に、スキーマに準拠した最小限のプロファイルの足場を作成します。 --force を指定しない限り、既存のファイルは保持されます。

足場の 1 行目は、プロファイルスキーマの $id である https://apothem.ahmedgad.com/schemas/profile.schema.json を指定する yaml-language-server モードラインです。 サイトはそのアドレスで同梱のスキーマを配信しているため、YAML の言語サポートを備えたエディターは、編集中にプロファイルを検証します。 src/apothem/schemas/ 配下の同梱スキーマはすべて、同じように https://apothem.ahmedgad.com/schemas/<file> で配信されます。

オプション説明
--force既存のプロファイルの足場を上書きします。

profile show

検証済みで、デフォルト値が展開された共有プロファイルを表示します。 --json を指定すると、ドキュメントはプロファイルそのものになり、その先頭には schema_version が置かれます。これは、エンジンがプロファイルを読み取る際に用いたプロファイルスキーマのバージョンです(JSON 出力の契約を参照)。

profile set KEY VALUE

共有プロファイル内のキーを設定します。 KEY は、ネストされたプロファイルの中へ下っていくドット区切りのパスです(identity.name、preferences.style、enforcement.sprints、harnesses.<harness>.preferences.style)。ドットを含まない単一のキーは、トップレベルのノードを設定します。 VALUE はリテラル文字列として保存され、裸の語は型変換されません(no は "no" のまま、2024-01-01 と 1.0 は文字列のまま)。ただし、true/false(ブール値の強制フラグ)と、明示的な [...]/{...} のリスト/マップ入力は例外です。 完全に組み立てられたプロファイルは、書き込みの前にスキーマに照らして検証されます。無効な set は拒否され、ディスク上のプロファイルは変更されません。

引数説明
KEY設定する、プロファイル内のドット区切りのパス(必須)。
VALUE割り当てるリテラル値。書き込みの前に検証されます(必須)。

profile edit

システムのエディターで共有プロファイルを開きます。

検証エラー

プロファイルを読み取るすべてのコマンドは、同梱のスキーマに照らしてプロファイルを検証し、見つかったすべての問題を 1 回で報告するため、1 回の編集ですべてを修正できます。

  • プレーン出力は、最初の問題を完全に示し(Field、Reason、Fix、そして Offending value (redacted)。最後のものは失敗した入力であり、シークレットらしき値は <redacted> に置き換えられます。これが置き換え値の提案であることは決してありません)、続いて Other problems の下に最大 10 件の問題を追加で一覧表示します。
  • JSON 出力は、最初の問題を error オブジェクトのトップレベルのフィールドに保持し、すべての問題を含む errors 配列(code、field、reason、fix、safe_value)を追加します。
  • 不明なキーについては、プロファイル全体ではなく、予期しないキーとその伏せ字にされた値のみがエコーされます。
  • 管理ブロックのマーカー。 どのキーやテキスト値にも、<!-- BEGIN APOTHEM MANAGED BLOCK --> または <!-- END APOTHEM MANAGED BLOCK --> を含めることはできません。 Apothem は命令ファイル内で自身が管理するブロックの前後にこれらのマーカーを書き込み、プロファイルのテキストはそのブロックの内側に配置されるため、テキスト中のマーカーはブロックを分断してしまいます。 そのようなフィールドはそれぞれ profile.managed_block_marker で失敗します。field はそのドット区切りのパス(たとえば rules.2 や mcp_servers.search.env.SEARCH_MODE)で、reason はマーカーを示します。 値自体は認証情報である可能性があるため、決してエコーされません(safe_value は null)。

profile init(およびプロファイルの足場を作成する他のすべてのコマンド)は、schema_version: 1 を書き込みます。 schema_version のないプロファイルは、バージョン 1 として読み取られます。

例

apothem profile init
apothem profile init --profile ./profile.yaml --force --json
apothem profile show
apothem profile show --json
apothem profile set seriousness SHARED
apothem profile set rules '["Use fake placeholders in examples."]'
apothem profile edit

終了コード

コード意味
0成功(または、edit の場合はエディターが正常に終了した)
1プロファイルが見つからない、無効である、--force なしですでに存在する、または書き込めない
64使用法エラー: 不明なオプションまたはコマンド、あるいは欠落した、または無効なオプション値。--json の下では、エラーはコード cli.usage を持つ JSON エンベロープになります。

関連項目

  • apothem install — プロファイルをハーネスへマテリアライズする
  • apothem doctor — システム全体のインストール診断を実行する

On this page