# ワークスペースと環境

自分だけの鍵と、チームの鍵が、同じ画面の同じ表に並びます。切り替えのためにサインインし直すことはありません。

## 個人と、チーム

置き場所は 2 とおりです。

- **個人**。自分だけの保管庫です。ほかの人を招くことはできず、消すこともできません。アカウントを作った時点でひとつあります。
- **ワークスペース**。チームで使う場所です。メンバー・役割・記録の単位でもあります。

画面の上のバーが、いま見ているのがどちらかを示します。左のメニューはその場所の中身です。

## 階層

ワークスペースの中はこうなっています。

- **ワークスペース**: チームの単位。メンバーと役割、エージェントとその鍵、記録がここにぶら下がります。
- **プロジェクト**: リポジトリやサービス 1 つぶん。`web-app` のような名前を付けます。
- **環境**: 開発・検証・本番。同じ名前のキーを、環境ごとに違う値で持てます。
- **フォルダ**: キーの名前のスラッシュから決まります。先に作る操作はありません。

キーが置けるのはプロジェクトの環境の下だけです。ワークスペースの直下には置きません。

## 環境

プロジェクトを作ると、開発・検証・本番の 3 つができます。プロジェクトの設定の「環境」から、足すことも名前を変えることもできます。

ふだん使う環境は、リポジトリの `.aikagi.toml` に書いておきます。ブランチごとに変えることもできます。

```sh
environment = "development"

[branches]
main    = "production"
release = "staging"
```

## 個人からチームへ移す

自分で持っていた鍵をチームに配る段になったら、行のメニューから移動先のプロジェクトと環境を選びます。**移動なので、移したあと個人の側からは消えます。**どちらが持ち主かがあいまいな鍵を作らないためです。

移動先に同じ名前がすでにあるときは、上書きせずに止まります。名前を変えるか、先にある鍵を確かめてください。

ターミナルからも同じことができます。`--to` に書くのは移動先のフルネームで、フォルダではありません。

```sh
aikagi promote openai/api_key --to acme/web-app/production/openai/api_key
```

## チームから個人へ写す

逆向きは複製です。プロジェクトのキーの行のメニューから、自分の保管庫に写しを作れます。もとの鍵はそのまま残ります。

写したあとは別の鍵です。もとの値が更新されても、写しは追随しません。

## 作る

ワークスペースとプロジェクトは画面からも、ターミナルからも作れます。名前は英小文字・数字・ハイフンです。

```sh
aikagi workspace create acme
aikagi project create acme/web-app
aikagi env ls -w acme -p web-app
```

プロジェクトを作ると、開発・検証・本番の 3 つが一緒にできます。それ以外の環境が要るときは足してください。並びは末尾に付きます。

```sh
aikagi env add qa -w acme -p web-app
```

画面を開かずに、ここまでの全部をターミナルだけで済ませられます。移行もそのまま続けられます。

---

出典: https://aikagi.dev/guide/workspaces/
