CLI リファレンス
CLI リファレンス
Section titled “CLI リファレンス”Wippy ランタイムのコマンドラインインターフェース。
グローバルフラグ
Section titled “グローバルフラグ”全てのコマンドで使用可能:
| フラグ | 短縮形 | 説明 |
|---|---|---|
--config | 設定ファイル (デフォルト: .wippy.yaml) | |
--verbose | -v | デバッグログを有効化 |
--very-verbose | スタックトレース付きデバッグ | |
--console | -c | カラフルなコンソールログ |
--silent | -s | コンソールログを無効化 |
--event-streams | -e | イベントバスへログをストリーム |
--profiler | -p | localhost:6060 で pprof を有効化 |
--memory-limit | -m | メモリ制限 (例: 1G, 512M) |
メモリ制限の優先順位: --memory-limit フラグ > GOMEMLIMIT 環境変数 > デフォルト 1GB。
wippy init
Section titled “wippy init”新しいロックファイルを作成する。
wippy initwippy init --src-dir ./src --modules-dir .wippy| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--src-dir | -d | ./src | ソースディレクトリ |
--modules-dir | .wippy | モジュールディレクトリ | |
--lock-file | -l | wippy.lock | ロックファイルのパス |
wippy run
Section titled “wippy run”ランタイムを起動するか、コマンドを実行する。
wippy run # ランタイムを起動wippy run list # 利用可能なコマンドを一覧表示wippy run test # テストを実行wippy run snapshot.wapp # パックファイルから実行wippy run acme/http # ハブからモジュールを実行wippy run acme/http@1.2.3 # 特定バージョンを実行wippy run --exec app:worker # ランタイムを起動し単一プロセスを実行| フラグ | 短縮形 | 説明 |
|---|---|---|
--override | -o | エントリの値を上書き (namespace:entry:field=value);field に kind を指定するとエントリの種類を変更 |
--set | 設定値を上書き (section.path=value、繰り返し可能、設定ファイルより優先) | |
--exec | -x | プロセスを実行して終了 (namespace:entry) |
--host | --exec 用のターミナルホスト ID (terminal.host が 1 つしか存在しない場合は自動検出) | |
--registry | ハブモジュール用のレジストリ URL |
--set はコマンドラインから任意のランタイム設定値を書き込み、.wippy.yaml にリーフ単位でマージされます:
wippy run --set cluster.enabled=true \ --set cluster.membership.join_addrs=node-2:7946,node-3:7946 \ --set cluster.raft.bootstrap_expect=3値は形に応じて変換されます: true/false はブール、整数と浮動小数点は数値、それ以外は文字列のまま(オプションが期待する場合、5s のような期間は解析されます)。
wippy lint
Section titled “wippy lint”Lua コードの型エラーや警告をチェックする。
wippy lintwippy lint --level warningwippy lint --jsonwippy lint --rules全ての Lua エントリを検証: function.lua、library.lua、process.lua、workflow.lua (それらの .bc バリアントを含む)。
| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--lock-file | -l | wippy.lock | ロックファイルのパス |
--level | warning | 最小重大度: error、warning、hint | |
--ns | 名前空間パターンでフィルタ (例: app、lib.*) | ||
--code | エラーコードでフィルタ (例: E0001,E0004) | ||
--rules | false | スタイル/品質 lint ルールを有効化 | |
--summary | false | エラーコードで出力をグループ化 | |
--limit | 0 | 表示する最大診断数 (0 = 無制限) | |
--json | false | JSON 出力 | |
--no-color | false | カラー出力を無効化 | |
--cache-reset | false | lint 前に Lua キャッシュをクリア |
wippy add
Section titled “wippy add”モジュール依存関係を追加する。
wippy add acme/httpwippy add acme/http@1.2.3wippy add acme/http@latest| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--lock-file | -l | wippy.lock | ロックファイルのパス |
--registry | レジストリ URL |
wippy install
Section titled “wippy install”ロックファイルから依存関係をインストールする。
wippy install # すべてをインストールwippy install acme/http # 特定のモジュールをインストールwippy install --refresh acme/http # 特定のモジュールを再取得| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--lock-file | -l | wippy.lock | ロックファイルのパス |
--refresh | false | 全モジュールを再取得し、キャッシュをバイパス | |
--force | false | --refresh のエイリアス | |
--repair | false | --refresh のエイリアス | |
--registry | レジストリ URL |
wippy update
Section titled “wippy update”依存関係を更新し、ロックファイルを再生成する。
wippy update # 全て更新wippy update acme/http # 特定のモジュールを更新wippy update acme/http demo/sql # 複数を更新| フラグ | 短縮形 | デフォルト | 説明 |
|---|---|---|---|
--lock-file | -l | wippy.lock | ロックファイルのパス |
--src-dir | -d | ./src | ソースディレクトリ |
--modules-dir | .wippy | モジュールディレクトリ | |
--registry | レジストリ URL |
wippy pack
Section titled “wippy pack”スナップショットパック (.wapp ファイル) を作成する。
wippy pack snapshot.wappwippy pack release.wapp --description "Release 1.0"wippy pack app.wapp --embed app:assets --bytecode **| フラグ | 短縮形 | 説明 |
|---|---|---|
--lock-file | -l | ロックファイルのパス |
--description | -d | パックの説明 |
--tags | -t | パックのタグ (カンマ区切り) |
--meta | カスタムメタデータ (key=value) | |
--embed | fs.directory エントリを埋め込む (パターン) | |
--list | fs.directory エントリを一覧表示 (ドライラン) | |
--exclude-ns | 名前空間を除外 (パターン) | |
--exclude | エントリを除外 (パターン) | |
--bytecode | Lua をバイトコードにコンパイル (** で全て) |
wippy publish
Section titled “wippy publish”モジュールをハブに公開する。
wippy publishwippy publish --version 1.0.0wippy publish --dry-runカレントディレクトリの wippy.yaml を読み込む。
| フラグ | 説明 |
|---|---|
--version | 公開するバージョン |
--dry-run | 公開せずに検証のみ実行 |
--label | バージョンの代わりに可変ラベルとして公開 |
--release-notes | リリースノート |
--protected | バージョンを保護済みとしてマーク |
--embed | fs.directory エントリを ID または名前で埋め込む |
--config | wippy.yaml を含むディレクトリのパス (デフォルト: .) |
--registry | レジストリ URL |
--create | モジュールがレジストリに存在しない場合に作成 |
--module-visibility | 新規作成モジュールの公開設定 (--create のみ): public または private (デフォルト: private) |
--module-type | 新規作成モジュールのタイプ (--create のみ): library、application、agent、または plugin (デフォルト: application) |
--module-display-name | 新規作成モジュールの表示名 (--create のみ) |
wippy search
Section titled “wippy search”ハブでモジュールを検索する。
wippy search httpwippy search "sql driver" --limit 20wippy search auth --json| フラグ | デフォルト | 説明 |
|---|---|---|
--json | false | JSON として出力 |
--limit | 20 | 最大結果数 |
--registry | レジストリ URL |
wippy auth
Section titled “wippy auth”レジストリ認証を管理する。
wippy auth login
Section titled “wippy auth login”wippy auth loginwippy auth login --token YOUR_TOKEN| フラグ | 説明 |
|---|---|
--token | API トークン |
--registry | レジストリ URL |
--local | 資格情報をローカルに保存 |
wippy auth logout
Section titled “wippy auth logout”wippy auth logout| フラグ | 説明 |
|---|---|
--registry | レジストリ URL |
--local | ローカルの資格情報を削除 |
wippy auth status
Section titled “wippy auth status”wippy auth statuswippy auth status --json| フラグ | 説明 |
|---|---|
--json | JSON として出力 |
wippy readme
Section titled “wippy readme”ハブからモジュールの README を取得する。
wippy readme wippy/terminalwippy readme wippy/terminal@1.2.3wippy readme --json wippy/terminal@latest| フラグ | 説明 |
|---|---|
--json | JSON として出力 |
--registry | レジストリ URL(デフォルト: 資格情報から) |
wippy registry
Section titled “wippy registry”レジストリエントリを照会・検査する。
wippy registry list
Section titled “wippy registry list”wippy registry listwippy registry list --kind "function.lua.*"wippy registry list --ns "app.*" --jsonwippy registry list --meta "type=api" --meta "enabled=true"| フラグ | 短縮形 | 説明 |
|---|---|---|
--kind | -k | 種類でフィルタ (glob パターン) |
--ns | -n | 名前空間でフィルタ (glob パターン) |
--name | 名前でフィルタ (glob パターン) | |
--meta | メタデータでフィルタ (繰り返し可) | |
--json | JSON として出力 | |
--yaml | YAML として出力 | |
--lock-file | -l | ロックファイルのパス |
--meta のメタデータ演算子:
| 演算子 | 意味 |
|---|---|
field=value | 完全一致 |
field~regex | 正規表現マッチ |
field*substr | 部分文字列を含む |
field^prefix | プレフィックスで始まる |
field$suffix | サフィックスで終わる |
wippy registry show
Section titled “wippy registry show”wippy registry show app:http:handlerwippy registry show app:config --yaml| フラグ | 短縮形 | 説明 |
|---|---|---|
--field | -f | 特定のフィールドを表示 |
--json | JSON として出力 | |
--yaml | YAML として出力 | |
--raw | 生出力 | |
--lock-file | -l | ロックファイルのパス |
wippy version
Section titled “wippy version”バージョン情報を表示する。
wippy versionwippy version --shortカスタムコマンド
Section titled “カスタムコマンド”process.lua または process.wasm エントリは、command メタデータを追加することで名前付きコマンドとして登録できる:
entries: - name: test_runner kind: process.lua meta: command: name: test short: Run application tests source: file://runner.lua method: main modules: - io - registry - funcs以下のコマンドで実行する:
wippy run test利用可能な全コマンドを一覧表示する:
wippy run listコマンドメタデータフィールド
Section titled “コマンドメタデータフィールド”| フィールド | 必須 | 説明 |
|---|---|---|
name | はい | wippy run <name> で使用するコマンド名 |
short | いいえ | wippy run list に表示される短い説明 |
main | いいえ | このエントリをデフォルトコマンドとしてマーク (単一コマンドを提供するパックやハブモジュールで自動選択される) |
任意のプロセスエントリ種類 (process.lua、process.wasm) が使用可能。コマンド名はロードされた全エントリ間で一意でなければならない。コマンド名の後の引数は文字列ペイロードとしてプロセスに渡される。
開発ワークフロー
Section titled “開発ワークフロー”# プロジェクトを初期化wippy initwippy add wippy/http wippy/sqlwippy install
# エラーをチェックwippy lint
# デバッグ出力付きで実行wippy run -c -v
# ローカル開発用に設定を上書きwippy run -o app:db:host=localhost -o app:db:port=5432本番デプロイ
Section titled “本番デプロイ”# バイトコード付きリリースパックを作成wippy pack release.wapp --bytecode ** --exclude-ns test.**
# メモリ制限付きでパックから実行wippy run release.wapp -m 2G# 単一プロセスを実行wippy run --exec app:worker
# プロファイラを有効にして実行wippy run -p -v# 確認: go tool pprof http://localhost:6060/debug/pprof/heap依存関係管理
Section titled “依存関係管理”# 新しい依存関係を追加wippy add acme/http@latest
# 強制的に再ダウンロードwippy install --force
# 特定のモジュールを更新wippy update acme/http# ハブにログインwippy auth login
# モジュールを検証wippy publish --dry-run
# 公開wippy publish --version 1.0.0 --release-notes "Initial release"設定ファイル
Section titled “設定ファイル”永続的な設定のために .wippy.yaml を作成する:
logger: encoding: console
logmanager: min_level: -1 # debug
profiler: enabled: true address: localhost:6060
override: app:gateway:addr: ":9090" app:db:host: "localhost"