nocobase-env-manage について
nocobase-env-manage は、`nb` コマンドラインで NocoBase 環境を操作するスキルです。ガイド付きセットアップ、環境選択、アプリのライフサイクル管理、CLI とインストール済みスキルの保守を扱い、直接の `nb` コマンドのみを使います。
主な機能
- 01`nb init` による NocoBase のガイド付きセットアップ
- 02保存済みコマンドライン環境の管理
- 03アプリの起動・停止・再起動・確認
- 04`nb` CLI の確認と更新
- 05インストール済みスキルの確認と更新
活用シーン
- 01NocoBase 環境の初期セットアップ
- 02保存済みアプリ環境の選択や確認
- 03アプリの実行管理とログの確認
- 04CLI またはインストール済みスキルの保守
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nocobase/ skills --skill nocobase-env-manageインストール後、Claude Code で/nocobase-env-manageを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/install-runbook.mdpreflight-checklist.mdtroubleshooting.mdupgrade-runbook.mdusage-guide.md詳細
目標
nb CLI のみを使用して、NocoBase のブートストラップ、ライフサイクル、メンテナンスの操作を完了します。
対象範囲
nb initを通じて NocoBase 環境をブートストラップまたは接続します。nb envを通じて保存済みの CLI 環境を管理します。nb appを通じてアプリのランタイムライフサイクルを管理します。nb selfを通じてnbCLI を確認および更新します。nb skillsを通じてインストール済みの NocoBase スキルを確認および更新します。- 選択した環境の検証や診断に役立つ場合に限り、組み込みのデータベースランタイムを調査します。
対象外
- NocoBase のビジネスモデル、UI ページ、ワークフロー、プラグインは実装しません。
- インストールやライフサイクルの操作に、リポジトリ内のヘルパースクリプトは実行しません。
- ユーザーが公式インストール URL を提示した場合、公式インストールガイドを回避しません。
厳守ルール
- 直接の
nbコマンドのみを実行します。 - ローカルスクリプト(
*.mjs、*.ps1、*.sh)は実行しません。 - テンプレートを使ったインストールフローは使用しません。
task=installの場合、ユーザーが NocoBase の公式インストール URL またはクイックスタート URL を提示したら、最初にその URL を読み、公式ガイドのフローに従います。公式ガイドと競合する場合は、ローカルのインストールコマンド一覧を無視します。task=installの場合、現行の公式ガイドに別の指示がない限り、ガイド付きインストールのエントリーポイントとしてnb init --uiを使用します。nb init --uiは完了条件ではありません。セットアップが完了状態に達するか、CLI が対応可能なエラーで終了するまで、CLI の出力に従って続行します。nb init --uiの実行時は、CLI のタイムアウトを 30 分に設定し、コマンドが終了する前に中断しません。- インストールフローで URL が表示され、エージェントがサンドボックス環境で実行されているために開けない場合は、サンドボックス外で開くよう明示的に依頼します。ユーザーが拒否した場合は、その URL をユーザーに直接提示します。
- ユーザーに代わってインストール/セットアップフォームへ入力することは決してありません。URL を提示し、次の手順を説明するだけにとどめ、フォームへの入力はユーザーに任せます。
- CLI が継続コマンドまたは復旧コマンドを出力した場合、特に
nb init ... --resume ...の場合は、破壊的な操作であるか、ユーザーの最新の指示に反する場合を除き、その直接のnbコマンドをそのまま実行します。 - ランタイムのライフサイクル操作には
nb app <command>を使用します。 - CLI の自己診断/更新には
nb self <command>のみを使用します。 - インストール済みスキルの確認/更新には
nb skills <command>のみを使用します。 - 対象がアプリ/ランタイム/環境、CLI、スキルのいずれか明確になるまでは、曖昧なステータス確認/診断/更新/アップグレードの意図に基づいて実行しません。
- ユーザーが依頼した
nbコマンドを実行する前に、追加の事前確認を必須としません。 - ユーザーが診断/ヘルプ出力を依頼した場合、またはコマンドの特定が必要な場合は
nb --helpを使用します。それ以外では、ユーザーが依頼したランタイムコマンドの実行を優先します。 - CLI の出力とヒントをユーザーに直接提示します。
対応タスク
installapp-manageupgradestopstartrestartlogsdownself-checkself-updateskills-checkskills-update
入力仕様
| 入力 | 必須 | デフォルト | 備考 |
|---|---|---|---|
task | はい | 推定 | install/app-manage/upgrade/start/stop/restart/logs/down/self-check/self-update/skills-check/skills-update のいずれか |
app_env_action | task=app-manage の場合 | list | add/use/current/list/remove のいずれか。current は list の出力から判断します |
app_env_name | 条件付き | なし | add/use/remove で必須 |
app_base_url | 条件付き | なし | add で必須。/api の有無を問わず URL を受け付けます(自動正規化) |
cli_auth_mode | 環境の追加時 | oauth | oauth/token のいずれか |
app_token | 条件付き | なし | cli_auth_mode=token の場合に必須 |
runtime_env_name | upgrade/start/stop/restart/logs/down では任意 | 現在の環境 | 明示的なランタイム環境名 |
実行ポリシー
- 対象の
nbコマンドを直接実行します。 - 意図の確認は事前チェックの関門ではありません。ユーザーの表現が曖昧な場合は、コマンドを実行する前に簡潔な確認質問を1つします。
- インストールの振り分け:
- ユーザーが NocoBase の公式インストールまたはクイックスタートの URL を提示した場合は、最初にそのページを読み、競合するローカルのインストールコマンド一覧は無視して、公式の手順に従います。
- それ以外の場合は、ガイド付きインストールのエントリーポイントとして
nb init --uiを使用します。
task=installの場合、nb init --uiは長時間実行される対話型コマンドとして扱います。- コマンドのタイムアウトを30分に設定します。
- CLI の完了前に中断するような待機時間の短縮やポーリングをしないでください。
- ローカルのセットアップ URL が表示されただけで停止しないでください。
- CLI が準備完了、ワークスペースの完了、または明示的な失敗を報告するまで続行します。
nb init --uiがローカル URL を表示し、サンドボックス内でブラウザーを開けない場合は、まず昇格してサンドボックス外で開くことをユーザーに確認します。ユーザーが拒否した場合は、手動で開けるよう URL を提示します。- インストール/セットアップのフローでは、ユーザーに代わってウェブフォームを送信または入力しないでください。手順のみを案内します。
- インストールに失敗し、CLI が再開コマンドを表示した場合は、次に表示された
nb init ... --resume ...コマンドを実行します。CLI から指示された場合、またはユーザーが明示的に希望した場合を除き、新しいセットアップをやり直さないでください。 - ユーザーが診断を明示的に依頼した場合を除き、個別の事前チェックを実行しないでください。
- コマンドが失敗した場合は、CLI 出力の重要な行と、CLI 出力に含まれる次のコマンド候補を返します。
- 環境の照会(
list/current)では、簡易手順を使用します。- 最初のコマンド:
nb env list - 現在の環境は、先頭に
*が付いた行です。
- 最初のコマンド:
- 環境の照会では、実行するコマンドを最小限にします。
- コマンドの確認が必要な場合は、
nb env --help/nb env list --helpを使用できます。
- コマンドの確認が必要な場合は、
- 環境の詳細確認とインストール後の検証では、
nb env info [name]を優先し、アプリ/データベース/API の状態を確認します。 env addでは、実行前に API のベース URL を正規化します。- URL がすでに
/apiで終わる場合は、そのまま使用します。 - それ以外の場合は、末尾に
/apiを追加します。
- URL がすでに
- CLI のメンテナンスでは、タスクで指定されたコマンドをそのまま実行します。
self-check→nb self check --jsonself-update→nb self update --yes
- skills のメンテナンスでは、タスクで指定されたコマンドをそのまま実行します。
skills-check→nb skills check --jsonskills-update→nb skills update --yes
- 結果を報告する際は、
nb self check --jsonとnb skills check --jsonの JSON 出力をそのまま保持します。 self-updateまたはskills-updateの後は、CLI からシェル/セッションを先に再起動するよう指示された場合を除き、対応するチェックコマンドを実行して変更を確認します。
意図の曖昧さの解消
ユーザーが対象を明示せずに一般的な状態確認/チェック/更新/アップグレードを求めた場合、コマンドを推測して実行しないでください。
曖昧な表現の例:
检查状态检查一下健康检查诊断一下检查更新升级更新修复
実行前に、どの対象かを確認してください。
你想检查/更新哪一类:NocoBase app/runtime/env、nb CLI,还是已安装 skills?
次のような場合は、対象が明確です。
nb self check --jsonのような明示的なコマンド文字列self-checkやskills-updateのような正確なタスク名检查 nb CLI、更新已安装 skills、升级 NocoBase app、检查当前环境のように対象を指定した表現
環境の解決ルール
upgrade/start/stop/restart/logs/down の場合:
runtime_env_nameが指定されている場合は、--env <env>を渡します。- 環境が指定されていない場合は、
--envを付けずにコマンドを実行し、CLI の応答に従います。 - CLI が環境が設定されていないと報告した場合は、そのメッセージを提示し、新しいアプリを作成するか環境を追加するかをユーザーに確認します。
ワークフロー
- 依頼されたタスクと、明示されている環境名、API ベース URL、認証方式、公式インストール URL を推測します。
- ステータス確認/チェック/更新/アップグレードの意図が、アプリ/ランタイム/環境、CLI、スキルのいずれを対象としている可能性もある場合、実行前に確認を求めます。
- 公式 URL が指定されたインストール依頼では、まず URL を読み、公式ガイドの手順に従います。
- 現在のコマンドマップまたは CLI が提示した続行ヒントに記載された、直接の
nbコマンドのみを実行します。 - 対話型のインストールコマンドは、完了、対応可能な失敗、またはユーザーによる中断まで実行し続けます。
- 該当する場合は、
nb env list、nb env info、およびアプリ/データベースのステータスで確認します。 - CLI/スキルのメンテナンスには、マップに記載されたとおりに
nb self/nb skillsコマンドを使用します。 - 実行したコマンド、重要な CLI 出力、次に行う具体的な操作を報告します。
コマンドマップ
install
nb init --ui
nb env list
nb env info
CLI が NocoBase is ready ... や Workspace init finished などの準備完了/完了を示すメッセージ、または現在の公式ガイドに相当する成功出力を報告した場合にのみ、インストール完了とします。
app-manage
list/current
nb env list
nb env info [name]
current については、nb env list の出力で先頭に * が付いた行から判断します。nb env current は呼び出さないでください。
CLI が次のように返した場合:
No envs configured.Run 'nb env add <name> --api-base-url <url>' to add one.
このメッセージをそのまま提示し、新しいアプリを作成する(nb init --ui)か、環境を追加するかを尋ねます。
add (oauth)
nb env add <name> --api-base-url <url> --auth-type oauth
<url> には正規化された値を使用します(/api がない場合は自動的に末尾に追加します)。
add (token)
nb env add <name> --api-base-url <url> --auth-type token --access-token <token>
<url> には正規化された値を使用します(/api がない場合は自動的に末尾に追加します)。
use
nb env use <name>
remove
nb env remove <name>
書き込み操作(add/use/remove)の後には、必ず次を実行します:
nb env list
nb env remove <name> -f は、ユーザーが明示的に確認した後にのみ使用します。
auth
nb env auth [name]
upgrade
nb app upgrade [--env <env>]
任意:
nb app upgrade [--env <env>] --skip-code-update
stop
nb app stop [--env <env>]
start
nb app start [--env <env>]
任意:
nb app start --env <env> --quickstart
nb app start --env <env> --port <port>
nb app start --env <env> --daemon
nb app start --env <env> --no-daemon
restart
nb app restart [--env <env>]
logs
nb app logs [--env <env>] [--tail <lines>] [--no-follow]
down
nb app down [--env <env>]
self-check
nb self check --json
nb CLI の健全性/バージョン/更新チェックに使用します。環境は不要です。
self-update
nb self update --yes
nb self check --json
まず更新コマンドを実行します。CLI が新しいシェル/セッションが必要だと示した場合を除き、その後に確認コマンドを実行して結果を読み返します。
skills-check
nb skills check --json
インストール済みの NocoBase スキルの健全性/バージョン/更新チェックに使用します。環境は不要です。
skills-update
nb skills update --yes
nb skills check --json
まず更新コマンドを実行します。CLI が新しいシェル/セッションが必要だと示した場合を除き、その後に確認コマンドを実行して結果を読み返します。
安全性
- 対象の環境が曖昧な場合、
upgradeを実行しないでください。 - ユーザーの意図が明確でない場合、
upgradeの前に明示的な確認を求めてください。 nb app downはランタイムコンテナーと保存済みのローカルアプリファイルを削除するため、破壊的な操作として扱います。実行前に必ず明示的な確認を求めてください。- ユーザーが明示的に指定しない限り、
nb app downに--allまたは--yesを渡さないでください。 nb self update --yesとnb skills update --yesは、ユーザーが CLI またはスキルの更新を明確に依頼した場合に限り、許可された更新の簡略コマンドとして扱います。nb self update --yesまたはnb skills update --yesの代わりに、パッケージマネージャーの更新コマンド(npm、pnpm、yarn)を使用しないでください。
確認テンプレート:
Confirm execution: nb app upgrade --env <env>. Reply confirm to continue.
安全性ゲート
次の場合は、実行前にユーザーの明示的な確認を求めます。
- 対象がアプリ/ランタイム/環境、CLI、スキルのいずれかである可能性がある、曖昧なステータス確認/チェック/更新/アップグレードの依頼。
- 対象の環境が曖昧な場合、またはユーザーがアップグレードを明確に依頼していない場合の
nb app upgrade。 - すべての
nb app down。 nb env remove <name> -f。--all、--yes、または強制削除フラグを含むコマンド。ただし、ユーザーがその更新を明確に依頼した場合の、正確にnb self update --yesまたはnb skills update --yesであるコマンドは除きます。
出力仕様
最終回答には、次の内容を必ず含めます。
- 選択したタスク
- 実行したコマンド
- 関連する CLI 出力。失敗時は JSON のチェック出力とエラー/ヒント行も含めます
- 正規化された API ベース URL(
env addの場合) - 次に行う操作
リファレンス読み込みマップ
| リファレンス | 使用する場面 |
|---|---|
| 使用ガイド | ユーザーの意図を現在の nb コマンドに対応付ける場合。 |
| インストール手順書 | インストール/ブートストラップのフローを実行する場合。特に公式 URL の確認と再開処理に使用します。 |
| アップグレード手順書 | nb app upgrade でアプリのランタイムをアップグレードする場合。 |
| 事前確認チェックリスト | 明示的に依頼された場合に、任意の診断を実施する場合。 |
| トラブルシューティング | CLI エラーやバージョン不一致の症状から復旧する場合。 |
検証チェックリスト
- 公式 URL の指定があるインストール依頼では、その URL を読み取り、最初にその URL に従いました。
- セットアップ URL が表示されただけの状態を、
nb init --uiの完了として扱いませんでした。 - CLI が提示した
nb init ... --resume ...による続行指示に従うか、続行を妨げる要因を提示しました。 - ランタイムのライフサイクルコマンドには
nb app ...を使用しました。 - 環境変数の操作には最終版の
nb env構文を使用しました。 - ステータス/チェック/更新/アップグレードに関する曖昧な表現は、コマンドの実行前に明確にしました。
- CLI のメンテナンスには
nb self check --jsonまたはnb self update --yesを使用しました。 - スキルのメンテナンスには
nb skills check --jsonまたはnb skills update --yesを使用しました。 - CLI で実行できる場合は、メンテナンス用の更新コマンドの後に、対応するチェックコマンドを実行しました。
- 最終確認には
nb env listを使用し、関連する場合はnb env infoも使用しました。