mcpField
N
nocobase-env-manage

nocobase-env-manage

github.com/nocobaseクラウド・DevOps55171 回インストール8 週間前に更新
リポジトリ

nocobase-env-manage について

nocobase-env-manage は、`nb` コマンドラインで NocoBase 環境を操作するスキルです。ガイド付きセットアップ、環境選択、アプリのライフサイクル管理、CLI とインストール済みスキルの保守を扱い、直接の `nb` コマンドのみを使います。

主な機能

  1. 01`nb init` による NocoBase のガイド付きセットアップ
  2. 02保存済みコマンドライン環境の管理
  3. 03アプリの起動・停止・再起動・確認
  4. 04`nb` CLI の確認と更新
  5. 05インストール済みスキルの確認と更新

活用シーン

  1. 01NocoBase 環境の初期セットアップ
  2. 02保存済みアプリ環境の選択や確認
  3. 03アプリの実行管理とログの確認
  4. 04CLI またはインストール済みスキルの保守

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nocobase/skills --skill nocobase-env-manage

インストール後、Claude Code で/nocobase-env-manageを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

agents/
openai.yaml
references/
install-runbook.md
preflight-checklist.md
troubleshooting.md
upgrade-runbook.md
usage-guide.md

詳細

目標

nb CLI のみを使用して、NocoBase のブートストラップ、ライフサイクル、メンテナンスの操作を完了します。

対象範囲

  • nb init を通じて NocoBase 環境をブートストラップまたは接続します。
  • nb env を通じて保存済みの CLI 環境を管理します。
  • nb app を通じてアプリのランタイムライフサイクルを管理します。
  • nb self を通じて nb CLI を確認および更新します。
  • 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 の出力とヒントをユーザーに直接提示します。

対応タスク

  • install
  • app-manage
  • upgrade
  • stop
  • start
  • restart
  • logs
  • down
  • self-check
  • self-update
  • skills-check
  • skills-update

入力仕様

入力必須デフォルト備考
taskはい推定install/app-manage/upgrade/start/stop/restart/logs/down/self-check/self-update/skills-check/skills-update のいずれか
app_env_actiontask=app-manage の場合listadd/use/current/list/remove のいずれか。current は list の出力から判断します
app_env_name条件付きなしadd/use/remove で必須
app_base_url条件付きなしadd で必須。/api の有無を問わず URL を受け付けます(自動正規化)
cli_auth_mode環境の追加時oauthoauth/token のいずれか
app_token条件付きなしcli_auth_mode=token の場合に必須
runtime_env_nameupgrade/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 を追加します。
  • CLI のメンテナンスでは、タスクで指定されたコマンドをそのまま実行します。
    • self-check → nb self check --json
    • self-update → nb self update --yes
  • skills のメンテナンスでは、タスクで指定されたコマンドをそのまま実行します。
    • skills-check → nb skills check --json
    • skills-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 の場合:

  1. runtime_env_name が指定されている場合は、--env <env> を渡します。
  2. 環境が指定されていない場合は、--env を付けずにコマンドを実行し、CLI の応答に従います。
  3. CLI が環境が設定されていないと報告した場合は、そのメッセージを提示し、新しいアプリを作成するか環境を追加するかをユーザーに確認します。

ワークフロー

  1. 依頼されたタスクと、明示されている環境名、API ベース URL、認証方式、公式インストール URL を推測します。
  2. ステータス確認/チェック/更新/アップグレードの意図が、アプリ/ランタイム/環境、CLI、スキルのいずれを対象としている可能性もある場合、実行前に確認を求めます。
  3. 公式 URL が指定されたインストール依頼では、まず URL を読み、公式ガイドの手順に従います。
  4. 現在のコマンドマップまたは CLI が提示した続行ヒントに記載された、直接の nb コマンドのみを実行します。
  5. 対話型のインストールコマンドは、完了、対応可能な失敗、またはユーザーによる中断まで実行し続けます。
  6. 該当する場合は、nb env list、nb env info、およびアプリ/データベースのステータスで確認します。
  7. CLI/スキルのメンテナンスには、マップに記載されたとおりに nb self/nb skills コマンドを使用します。
  8. 実行したコマンド、重要な 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 も使用しました。

リファレンス

コメント