@@ -11,38 +11,47 @@ graph TD
1111 A[devbase] --> B[init]
1212 A --> C[status]
1313 A --> H[shell-rc]
14- A --> D[container / ct ]
14+ A --> D[project ]
1515 A --> E[env]
1616 A --> F[plugin / pl]
1717 A --> G[snapshot / ss]
18- D --> D1[up / down / login / ps / logs / scale / build]
18+ D --> D1["up / down / login / ps / logs / scale / build [name]"]
19+ D --> D2["list [--interactive]"]
1920 E --> E1[init / sync / list / set / get / delete / edit / project]
2021 F --> F1[list / install / uninstall / update / info / sync]
2122 F --> F2[repo add / repo remove / repo list / repo refresh]
2223 G --> G1[create / list / restore / copy / delete / rotate]
2324```
2425
26+ > ** ` container ` グループは非推奨になりました。** 旧 ` devbase container <sub> ` は
27+ > ` devbase project <sub> ` のエイリアスとして当面動作しますが、実行時に非推奨警告を
28+ > 表示します(移行期間後のリリースで削除予定)。新しいコマンドは ` project ` を使用してください。
29+
2530### グループエイリアス
2631
2732各グループには短縮形が用意されています。
2833
29- | グループ名 | エイリアス |
30- | -----------| -----------|
31- | ` container ` | ` ct ` |
32- | ` plugin ` | ` pl ` |
33- | ` snapshot ` | ` ss ` |
34+ | グループ名 | エイリアス | 備考 |
35+ | -----------| -----------| ------ |
36+ | ` plugin ` | ` pl ` | |
37+ | ` snapshot ` | ` ss ` | |
38+ | ` container ` | ` ct ` | ** 非推奨 ** ( ` project ` へ移行してください) |
3439
3540### ショートカットコマンド
3641
37- 頻繁に使用するコンテナ操作はトップレベルから直接実行できます 。これらは ` container ` グループに自動転送されます。
42+ 頻繁に使用するプロジェクト操作はトップレベルから直接実行できます 。これらは ` project ` グループに自動転送されます。
3843
3944| ショートカット | 転送先 |
4045| --------------| --------|
41- | ` devbase up ` | ` devbase container up ` |
42- | ` devbase down ` | ` devbase container down ` |
43- | ` devbase login ` | ` devbase container login ` |
44- | ` devbase build ` | ` devbase container build ` |
45- | ` devbase ps ` | ` devbase container ps ` |
46+ | ` devbase up [name] ` | ` devbase project up [name] ` |
47+ | ` devbase down [name] ` | ` devbase project down [name] ` |
48+ | ` devbase login [index] ` | ` devbase project login [index] ` |
49+ | ` devbase build [image] ` | ` devbase project build [image] ` |
50+ | ` devbase ps [name] ` | ` devbase project ps [name] ` |
51+ | ` devbase scale [name] <num> ` | ` devbase project scale [name] <num> ` |
52+ | ` devbase list ` | ` devbase project list ` |
53+
54+ > ** Note:** ` logs ` はトップレベルシノニムを持ちません。` devbase project logs ` を使用してください。
4655
4756### ユニークプレフィックスマッチング
4857
@@ -113,17 +122,43 @@ source "$(./bin/devbase shell-rc)"
113122
114123> ** ⚠ 引用符は必須** : ` source $(devbase shell-rc) ` のように引用符を省くと、ホームディレクトリ名に空白を含む環境(例: ` /Users/foo bar/.zshrc ` )で word splitting が起き ` source ` が失敗します。必ず ` source "$(devbase shell-rc)" ` の形で書いてください。
115124
116- ## container (ct) グループ
125+ ## project グループ
126+
127+ プロジェクト(コンテナ)のライフサイクル管理と一覧表示を行うコマンド群です。
128+
129+ ### プロジェクト名指定(CWD 非依存)
130+
131+ ` up ` / ` down ` / ` ps ` / ` logs ` / ` scale ` は省略可能な ` [name] ` 引数を取ります。` [name] `
132+ を指定すると、** 現在のディレクトリに依存せず** ` $DEVBASE_ROOT/projects/<name> ` を対象に
133+ 操作できます。
134+
135+ ``` bash
136+ # 任意のディレクトリから adminer プロジェクトを起動
137+ devbase project up adminer
138+
139+ # 省略時は従来どおりカレントディレクトリのプロジェクトを対象にする
140+ cd $DEVBASE_ROOT /projects/adminer && devbase project up
141+ ```
142+
143+ - ` <name> ` は ` $DEVBASE_ROOT/projects/ ` 配下のプロジェクト名(` devbase project list ` で確認可能)
144+ - 存在しない名前を指定するとエラーになり、利用可能なプロジェクト候補が表示されます
145+ - 名前解決はラッパー (` bin/devbase ` ) が対象ディレクトリへ ` cd ` してから実行します。
146+ これにより ` build ` (シェル実装)を含む全操作が名前指定で成立します
147+ - ` devbase ` は PATH 上の実行ファイルとして子プロセスで起動されるため、この ` cd ` が
148+ ** 呼び出し元シェルの作業ディレクトリを変えることはありません**
117149
118- コンテナのライフサイクル管理を行うコマンド群です。
150+ > ** ` login ` / ` build ` は ` [name] ` を取りません。** これらの単一引数はそれぞれ ` index ` /
151+ > ` image ` であり、` [name] ` を許すと ` project login 2 ` / ` project build web ` が誤解釈される
152+ > ため除外しています(トップレベルシノニム ` devbase build <name> ` のみラッパーの存在性判定で
153+ > 名前解決されます)。
119154
120- ### ` devbase container up `
155+ ### ` devbase project up `
121156
122157コンテナを起動します。
123158
124159```
125- devbase container up
126- devbase up
160+ devbase project up [name]
161+ devbase up [name]
127162```
128163
129164- 起動時にスナップショットを自動作成(新世代 or 差分追加)
@@ -136,23 +171,23 @@ devbase up
136171 (前回 pull 日時は ` ${DEVBASE_ROOT}/.cache/pulls/<image> ` の touch-file mtime で判定)
137172 - 閾値は ` DEVBASE_IMAGE_MAX_AGE_DAYS ` 環境変数で上書き可能(既定 7、不正値は警告して既定値)
138173
139- ### ` devbase container down `
174+ ### ` devbase project down `
140175
141176コンテナを停止・削除します。
142177
143178```
144- devbase container down
145- devbase down
179+ devbase project down [name]
180+ devbase down [name]
146181```
147182
148183- 停止時にスナップショットのローテーションを自動実行
149184
150- ### ` devbase container login `
185+ ### ` devbase project login `
151186
152187コンテナにログインします。
153188
154189```
155- devbase container login [index]
190+ devbase project login [index]
156191devbase login [index]
157192```
158193
@@ -168,25 +203,26 @@ devbase login
168203devbase login 2
169204```
170205
171- ### ` devbase container ps `
206+ ### ` devbase project ps `
172207
173- コンテナの状態を表示します。
208+ 対象プロジェクトのコンテナ状態を ` docker compose ps ` で表示します。複数プロジェクトの
209+ 横断一覧は ` devbase project list ` を使用してください。
174210
175211```
176- devbase container ps [-a]
177- devbase ps [-a]
212+ devbase project ps [name] [-a]
213+ devbase ps [name] [ -a]
178214```
179215
180216| オプション | 説明 |
181217| -----------| ------|
182218| ` -a ` | 停止中のコンテナも表示 |
183219
184- ### ` devbase container logs `
220+ ### ` devbase project logs `
185221
186- コンテナのログを表示します。
222+ コンテナのログを表示します(トップレベルシノニムはありません) 。
187223
188224```
189- devbase container logs [-f] [--tail N]
225+ devbase project logs [name] [-f] [--tail N]
190226```
191227
192228| オプション | 説明 |
@@ -196,42 +232,96 @@ devbase container logs [-f] [--tail N]
196232
197233``` bash
198234# 最新50行をリアルタイムで追跡
199- devbase container logs -f --tail 50
235+ devbase project logs -f --tail 50
200236```
201237
202- ### ` devbase container scale `
238+ ### ` devbase project scale `
203239
204240既存のコンテナを再起動せずにスケールします。
205241
206242```
207- devbase container scale <num>
243+ devbase project scale [name] <num>
244+ devbase scale [name] <num>
208245```
209246
210247| パラメータ | 必須 | 説明 |
211248| -----------| ------| ------|
249+ | ` name ` | いいえ | 対象プロジェクト名(省略時はカレント) |
212250| ` <num> ` | はい | コンテナ数 |
213251
214252``` bash
215253# コンテナを3台に増やす
216- devbase container scale 3
254+ devbase project scale 3
217255
218- # コンテナを1台に減らす
219- devbase container scale 1
256+ # 任意のディレクトリから adminer を3台に
257+ devbase project scale adminer 3
220258```
221259
222- ### ` devbase container build `
260+ ### ` devbase project build `
223261
224262コンテナイメージをビルドします。
225263
226264```
227- devbase container build [image]
265+ devbase project build [image]
228266devbase build [image]
229267```
230268
231269| パラメータ | 必須 | 説明 |
232270| -----------| ------| ------|
233271| ` image ` | いいえ | ビルドするイメージ名(省略時は全イメージ) |
234272
273+ ### ` devbase project list `
274+
275+ ` $DEVBASE_ROOT/projects/ ` 配下のプロジェクトを ` NAME ` / ` PLUGIN ` / ` STATUS ` の一覧で
276+ 表示します。
277+
278+ ```
279+ devbase project list [--interactive|-i]
280+ devbase list [--interactive|-i]
281+ ```
282+
283+ | オプション | 説明 |
284+ | -----------| ------|
285+ | ` --interactive ` / ` -i ` | 一覧から番号で選択し、そのプロジェクトを ` project up ` で起動 |
286+
287+ ``` bash
288+ # 一覧表示
289+ devbase list
290+
291+ # 一覧から選んで起動(非対話環境では番号入力にフォールバック)
292+ devbase list -i
293+ ```
294+
295+ 出力例:
296+
297+ ```
298+ NAME PLUGIN STATUS
299+ adminer adminer running (2 containers)
300+ carmo carmo stopped
301+ carmo.takemi carmo-fork stopped
302+ ```
303+
304+ - ` PLUGIN ` 列はシンボリックリンク先から解決するため、PLAN04 の同名衝突 suffix
305+ (例 ` carmo.takemi ` )が付いていても正しいプラグイン名を表示します
306+ - ` STATUS ` は ` running (N containers) ` / ` stopped ` / ` unknown ` (docker 未起動・
307+ ` compose.yml ` 不在等で判定不能)のいずれか
308+
309+ ## container (ct) グループ(非推奨)
310+
311+ > ** 非推奨:** ` container ` グループは ` project ` グループへ移行しました。`devbase container
312+ > <sub >` は当面 ` devbase project <sub >` のエイリアスとして動作しますが、実行時に非推奨警告を
313+ > 表示します(移行期間後のリリースで削除予定)。` [name] ` 指定や ` list ` などの新機能は
314+ > ` project ` 側のみで提供されます。
315+
316+ ``` bash
317+ # 旧(非推奨・警告が出ます)
318+ devbase container up
319+
320+ # 新(推奨)
321+ devbase project up
322+ devbase up
323+ ```
324+
235325## env グループ
236326
237327環境変数の管理を行うコマンド群です。詳細は [ 環境変数ガイド] ( environment-variables.md ) を参照してください。
0 commit comments