プロジェクトのリンク
多くのコマンドは、操作対象のプロジェクトを必要とします。Orizm CLI は作業ディレクトリを特定のプロジェクトに「リンク」しておくことで、コマンドのたびにプロジェクト名を指定しなくて済むようにします。
.orizm/project.json
リンク情報は、リポジトリ内の .orizm/project.json に保存されます。
{
"projectName": "my-project",
"organizationName": "my-organization"
}CLI は、コマンドを実行したディレクトリから親方向にたどって最寄りの .orizm/project.json を探します。そのため、リポジトリのサブディレクトリから実行してもリンクが効きます。
.orizm/ は .gitignore に追加することを推奨します。これにより、開発者ごとに別のプロジェクト(個人のステージング環境など)へリンクできます。orizm link は初回リンク時に .gitignore への追記を提案します。
ディレクトリをリンクする
orizm link2 ステップの対話で、所属組織を選び、その組織のプロジェクトを選びます。選択結果が .orizm/project.json に書き込まれます。orizm link は対話的な操作のため、ターミナル(TTY)が必要です。
プロジェクト未リンクのディレクトリでプロジェクトを必要とするコマンドを実行した場合も、ターミナルであればその場でリンクの選択を求められ、そのままコマンドが続行します。
プロジェクトの解決順序
プロジェクトを対象とするコマンドは、次の順序で対象を決めます。
--project <name>フラグ(その実行だけ上書き)- 環境変数
ORIZM_PROJECT - 最寄りの
.orizm/project.jsonのprojectName
いずれでも解決できず、かつターミナルでない場合は、エラーで終了します。
組織の解決順序
orizm project list や orizm project create のように、プロジェクトではなく組織を対象とするコマンドは、次の順序で組織を決めます。
--organization <name>フラグ.orizm/project.jsonのorganizationName
組織名を指定する環境変数はありません。CI で組織を指定する場合は --organization を使ってください。
CI でのプロジェクト指定
CI では .orizm/project.json をコミットしない構成が一般的です。その場合は ORIZM_PROJECT で対象を指定します。
ORIZM_PROJECT=my-project pnpm exec orizm schema push --yes