# CLIリファレンス

Site [llms.txt](/ja/llms.txt)

---

このページではコマンドラインツールのドキュメントを提供しています。

## artefacts

ARTEFACTSと連携するコマンドラインツール

**使用方法:**

    artefacts [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --version  バージョンを表示して終了します。
      --help     このメッセージを表示して終了する

**コマンド:**

      completion
      config
      containers
      doctor        すべてのdoctorチェックを実行し、結果を表示します。
      download      ジョブ実行からファイルをダウンロードします。
      experimental  実験的なコマンド（予告なく変更または削除される可能性があります）
      hello         PROJECT_NAMEへのアクセス権限があることを確認するメッセージを表示します
      init          新しいArtefactsプロジェクトを初期化します。
      login         ブラウザを使用してArtefactsにログインします。
      logout        Artefactsからログアウトします。
      organization  Artefactsの組織を管理します。
      project       Artefactsのプロジェクトを管理します。
      run           JOBNAMEをローカルで実行します
      run-remote    ローカルソースをパッケージ化してクラウドでJOBNAMEを実行します。
      whoami        現在のログイン状態を表示します。


## completion

artefacts CLIのシェル補完をインストールまたはアンインストールします。bash、zsh、
fishをLinuxとmacOSでサポートしています。Windowsサポートは実験的でPowerShellに対応しています。

`pip`、`uv tools`、`pipx`でのインストールによる補完をテスト済みです。問題はありません。
`uv`、`pixi`、`conda`などの他のインストール方法は現在動作しません。これは命令前置（例えば`uv run artefacts run`）が動作しないためです。

**使用方法:**

    artefacts completion [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --help  このメッセージを表示して終了する

### install

現在の環境にシェル補完をインストールします。補完はClickによって提供されており、
現時点ではbash、zsh、fish、powershellに対応しています。

**使用方法:**

    artefacts completion install [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する

### uninstall

生成されたスクリプトの呼び出しを削除して、シェル補完をアンインストールします。

**使用方法:**

    artefacts completion uninstall [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する


## config

**使用方法:**

    artefacts config [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --help  このメッセージを表示して終了する

### add

PROJECT_NAMEの設定を行います

**使用方法:**

    artefacts config add [OPTIONS] プロジェクト名

**オプション:**

      --help  このメッセージを表示して終了する

### delete

PROJECT_NAMEの設定を削除します

**使用方法:**

    artefacts config delete [OPTIONS] プロジェクト名

**オプション:**

      --help  このメッセージを表示して終了する

### path

設定ファイルのパスを取得します

**使用方法:**

    artefacts config path [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する


## containers

**使用方法:**

    artefacts containers [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --debug / --no-debug
      --help                このメッセージを表示して終了する

### build

**使用方法:**

    artefacts containers build [OPTIONS]

**オプション:**

      --path TEXT        [0.8.0から非推奨；--rootを参照してください]プロジェクトのルートへのパス。
      --root TEXT        プロジェクトのルートへのパス。
      --dockerfile TEXT  カスタムDockerfileへのパス。デフォルトは`path`の下のDockerfileです（同じ名前のオプション
                         を参照）。
      --name TEXT        [0.8.0から非推奨；使用されておらず0.8.0以降に削除予定]生成されるイメージの名前
      --config TEXT      Artefacts設定ファイルへのパス。デフォルトは`./artefacts.yaml`です
      --only OPTIONAL    処理するジョブ名のオプションリスト。デフォルトではすべてのジョブを処理します。
      --help             このメッセージを表示して終了する

### check

**使用方法:**

    artefacts containers check [OPTIONS] イメージ名

**オプション:**

      --help  このメッセージを表示して終了する

### run

**使用方法:**

    artefacts containers run [OPTIONS] JOBNAME [ENGINE_ARGS]...

**オプション:**

      --config TEXT       Artefacts設定ファイルへのパス。デフォルトは`./artefacts.yaml`です
      --with-gui BOOLEAN  テスト実行によって作成されたGUIがある場合は表示します。デフォルトでは、UI要素は実行されますが非表示となり、
                          テストログのみが返されます。GUIはX11環境を想定していることが多く、通常Qtを使用するため、適切な環境がなけ
                          れば機能しない場合があることに注意してください。
      --description TEXT  この実行のためのオプション説明
      --help              このメッセージを表示して終了する


## doctor

Artefactsの機能と拡張機能の概要を表示するクイックヘルスチェックを実行します。
このコマンドは、サポートされているモジュール、ローディングされたプラグイン、設定ステータスについての簡潔な要約を提供し、
CLI環境が使用する準備ができていることを確認するのに役立ちます。

**使用方法:**

    artefacts doctor [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する

**出力例:**

```
実行環境を確認しています...
基本要件
PATH上のtar..........................................🟢
PATH上のgzip.........................................🟢
Artefacts APIに到達可能................................🟢
この時点で、`artefacts`はローカルとリモート実行の両方で機能します。
次に、利用可能な推奨設定と追加設定を確認します。

推奨設定
Python仮想環境（標準）................................🟢
シェル補完がインストール済み............................🟡
PATH上のGPU...........................................🟢
Dockerが利用可能......................................🟢
Docker実行ファイルがユーザ可以使用.....................🟢
DockerがGPUを使用可能..................................🟢

Artefactsでテスト済みのロボティクスフレームワークとシミュレータ
このセッションでROS2が利用可能（ROS_VERSION設定）.......⚫️
PATH上のdora...........................................🟢
PATH上のgz............................................⚫️

🟡でマークされた推奨オプション設定には追加の設定が必要です。

🟢 準備完了！
```


## download

ジョブ実行からファイルをダウンロードします。

**使用方法:**

    artefacts download [OPTIONS] [JOB] [RUN_ID] [ARTIFACT]

    artefacts download <job>                        すべてのファイルをダウンロード
    artefacts download <job> --list                 すべてのファイルを一覧表示
    artefacts download <job> <run_id>               指定した実行のすべてのファイルをダウンロード
    artefacts download <job> <run_id> --list        指定した実行のファイルを一覧表示
    artefacts download <job> <run_id> <artifact>    特定のファイルをダウンロード

**引数:**

      JOB       ジョブ名（最新のものに解決されます）またはジョブのUUID
      RUN_ID    実行ID（例：0_reach_goal）
      ARTIFACT  ファイル名（例：simulation.mcap）

**オプション:**

      -p, --project TEXT  プロジェクト名
      -c, --config TEXT   設定ファイル
      -o, --output TEXT   出力ディレクトリ
      -y, --yes           確認プロンプトをスキップ
      --list              ダウンロードせずにファイルを一覧表示
      --help              このメッセージを表示して終了する

**例:**

    artefacts download basic
    artefacts download basic --list
    artefacts download basic 0_reach_goal simulation.mcap


## experimental

実験的なコマンド（予告なく変更または削除される可能性があります）

**使用方法:**

    artefacts experimental [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --help  このメッセージを表示して終了する

### remote

SSH/rsync経由でリモートのTARGETマシン上でJOBNAMEを実行します。

ソースコードはTARGETに同期された後、`--in-container`付きで実行されます。
対応するバージョンのartefactsを含むvirtualenvがリモート側に自動的に用意されます。
SSH鍵認証が設定済みで、両方のマシンでrsyncが利用可能であることを前提としています。

**使用方法:**

    artefacts experimental remote [OPTIONS] JOBNAME TARGET [CONTAINER_ENGINE_ARGS]...

**オプション:**

      --config TEXT       Artefacts設定ファイル
      --description TEXT  この実行のためのオプション説明
      --help              このメッセージを表示して終了する


## hello

PROJECT_NAMEへのアクセス権限があることを確認するメッセージを表示します

PROJECT_NAMEが指定されていない場合、利用可能なArtefacts設定ファイルから名前の取得を試み、
その名前で処理を続行します。有効なファイルも名前もない場合は、使用方法のエラーを報告します。

**使用方法:**

    artefacts hello [OPTIONS] プロジェクト名

**オプション:**

      --config TEXT  Artefacts設定ファイル
      --help         このメッセージを表示して終了する


## init

新しいArtefactsプロジェクトを初期化します。

このコマンドは、Artefactsでテストを実行するために必要なものをすべてセットアップします：

1. ログインします（必要な場合）
2. 対象の組織/プロジェクトを選択します
3. Artefacts上にプロジェクトを作成します（必要な場合）
4. artefacts.yaml設定ファイルを生成します

実行後は、すぐに次のコマンドを実行できます：

    artefacts run <jobname> <command>

**使用方法:**

    artefacts init [OPTIONS]

**オプション:**

      -p, --project TEXT  org/project形式のプロジェクト名（デフォルト：対話的に選択）
      --help              このメッセージを表示して終了する


## login

ブラウザを使用してArtefactsにログインします。

OAuthデバイス認可フローを使用します：

1. ブラウザで入力するコードが表示されます
2. Googleまたはメールアドレスでログインします
3. CLIが自動的に認証情報を受け取ります

**使用方法:**

    artefacts login [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する


## logout

Artefactsからログアウトします。このマシンに保存されている認証情報を削除します。

**使用方法:**

    artefacts logout [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する


## organization

Artefactsの組織を管理します。

**使用方法:**

    artefacts organization [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --help  このメッセージを表示して終了する

### create

新しい組織を作成します。

SLUGは有効な組織識別子（小文字、数字、ハイフン）である必要があります。

**使用方法:**

    artefacts organization create [OPTIONS] SLUG

**オプション:**

      --help  このメッセージを表示して終了する

**例:**

    artefacts organization create my-new-org


## project

Artefactsのプロジェクトを管理します。

**使用方法:**

    artefacts project [OPTIONS] COMMAND [ARGS]...

**オプション:**

      --help  このメッセージを表示して終了する

### create

新しいプロジェクトを作成します。PROJECT_NAMEはorg/project-name形式である必要があります。

**使用方法:**

    artefacts project create [OPTIONS] プロジェクト名

**オプション:**

      --help  このメッセージを表示して終了する

**例:**

    artefacts project create myorg/my-new-project

### info

プロジェクトの情報を表示します。

PROJECT_NAMEはorg/project-name形式である必要があります。省略した場合は、ローカルの
artefacts.yamlの'project'フィールドから読み取るか、ログイン中のアカウントから選択します。

**使用方法:**

    artefacts project info [OPTIONS] プロジェクト名

**オプション:**

      --help  このメッセージを表示して終了する

### list

組織内のプロジェクトを一覧表示します。

ORGANIZATIONを省略した場合は、ローカルのartefacts.yamlの'project'フィールドの
org部分から読み取るか、ログイン中のアカウントから取得します。

**使用方法:**

    artefacts project list [OPTIONS] [ORGANIZATION]

**オプション:**

      --help  このメッセージを表示して終了する


## run

JOBNAMEをローカルで実行します

  * デフォルトではシェル内で直接実行。
  * --in-containerオプションを使用場合はパッケージ化されたコンテナ内で実行。

コンテナモードでは：
  * イメージが存在しない場合は自動的にビルドされます。
  * 現在はartefacts.yaml内で見つかるジョブごとに1つのイメージ。
  * イメージは実行ごとに再ビルドされます（変更がなければ比較的高速）。
  * `dockerfile`で代替Dockerfileを指定できます。

**使用方法:**

    artefacts run [OPTIONS] JOBNAME [CONTAINER_ENGINE_ARGS]...

**オプション:**

      --config TEXT       Artefacts設定ファイル
      --dryrun            トラッキングやテスト実行なしで実行
      --nosim             Artefactsが提供するシミュレーターリソースの設定をスキップ
      --noupload          実行中に生成されたファイル（例：rosbags）をArtefactsにアップロードしない
      --noisolation       テストスイートとホスト間の'ミドルウェアネットワーク'分離を解除します（ROS2では--disable-
                          isolationフラグ）。主にデバッグ用
      --description TEXT  この実行のためのオプション説明
      --skip-validation   設定の検証をスキップし、非ROSやSAPIENなどのシミュレーターなど、サポートされていない設定を試せるようにし
                          ます
      --in-container      [実験的] ジョブをパッケージコンテナ内で実行します。コンテナイメージが存在しない場合は構築され、デフォルト名は
                          "artefacts"となります（イメージ名を上書きするには--with-imageを使用してください）。このオ
                          プションは現在、--dryrun、--nosim、--noisolationを上書きします。
      --dockerfile TEXT   [実験的] カスタムDockerfileへのパス。デフォルトは実行ディレクトリ内のDockerfileです。この
                          フラグは`--in-container`と一緒に使用する場合のみ有効です
      --with-image TEXT   [0.8.0から非推奨かつ未使用；イメージ名は現在内部で管理されています]
                          ここで指定されたイメージ名を使用してジョブを実行します。--in-
                          containerが設定されている場合のみ使用されます。
      --no-rebuild        [実験的] デフォルトの動作を上書きし、常にコンテナイメージを再構築します（増分テストを想定しているため）。
      --with-gui          テスト実行によって作成されたGUIがある場合は表示します。デフォルトでは、UI要素は実行されますが非表示となり、
                          テストログのみが返されます。GUIはX11（例：ROS）を想定していることが多く、通常Qtを使用するため、適切な
                          環境がなければ機能しない場合があることに注意してください。
      --track-resources   Artefactsのプロジェクトにリソース使用量の時系列データを追跡・報告します。現在はCPUとメモリ使用量をレ
                          ポートします。
      --show-stats        リソース使用量の統計サマリーを表示します。現在はCPUとメモリ使用量をレポートします。
      --unsafe-teardown   安全なティアダウン（デフォルト）は、実行中に開始されたすべてのサブプロセスが確実に終了されるようにします。安全で
                          ないティアダウンには、実行中に検出されたすべてのサブプロセスPIDが含まれ、OSによって再利用されたPIDが含ま
                          れる可能性があります（同じユーザーが所有している場合、無関係になったプロセスが終了される可能性があるため、安全で
                          はありません）。自己責任でご使用ください。
      --help              このメッセージを表示して終了する

> [!NOTE]
> `--in-container` を使用しない場合、このコマンドは現在のシェル環境内で直接実行されます。プロジェクトが仮想環境に依存している場合は、事前にアクティブ化してください——詳細は[プロジェクト用のPython仮想環境を使用する](/getting-started/#プロジェクト用のpython仮想環境を使用する)をご覧ください。

## run-remote

ローカルソースをパッケージ化してクラウドでJOBNAMEを実行します。`.artefactsignore`
ファイルが存在する場合、ソースパッケージからファイルを除外するために使用されます。

**使用方法:**

    artefacts run-remote [OPTIONS] JOBNAME

**オプション:**

      --config TEXT       Artefacts設定ファイル
      --description TEXT  この実行のためのオプション説明
      --skip-validation   設定の検証をスキップし、非ROSやSAPIENなどのシミュレーターなど、サポートされていない設定を試せるようにし
                          ます
      --help              このメッセージを表示して終了する


## whoami

現在のログイン状態を表示します。

**使用方法:**

    artefacts whoami [OPTIONS]

**オプション:**

      --help  このメッセージを表示して終了する

---
