コンテンツにスキップ

概要

1 つのコマンドがプロジェクトのライフサイクルをつなぎます。pw は最初のファイルを スキャフォールドし、テンプレートと SQL を Go へコンパイルし、開発ループを動かし、 データベースを管理して、リリースビルドを作ります。

Terminal window
pw help
Usage: pw <command> [arguments]
Commands:
init create a project in a new directory
add enable a capability in a project that declined it
new scaffold a handler or a page beside the ones you have
generate write everything a compiler needs, stopping before the compiler
check report generated files that are stale or missing
fmt format template sources into their canonical form
i18n reconcile message catalogs against the templates that use them
migrate inspect and apply database migrations
seed load seed datasets into the database
build run generate and then compile the project
dev watch, regenerate, rebuild, and restart
doctor report what a named environment will actually run
version print the version, revision, and toolchain
help print this message

インストールは Homebrew、Nix、リリースアーカイブ、Go ツールチェインのいずれかで行えます。 インストールを参照してください。

コマンド 用途
pw init 動くプロジェクトを作る
pw add init で断った機能をあとから追加する
pw new ハンドラ・ルート・テンプレートをまとめて追加する
pw generate ビルドに必要な入力を一式書き出し、コンパイラの手前で止まる
pw check 生成された Go が古いか欠けているかを報告する
pw fmt テンプレートとクエリのソースを正規形に整形する
pw i18n メッセージカタログを、それを使うテンプレートと突き合わせる
pw dev 監視、再生成、マイグレーション、再起動
pw build リリース用バイナリを作る
pw doctor その環境で何が動き、どこが間違っているかを報告する
pw rename テンプレートの宣言と、それを名指しているものすべてを改名する
pw lsp Language Server Protocol でエディタ向けの解析を提供する

pw fmtpw i18npw renamepw lsp には専用のページがなく、それぞれが属する作業の ページで扱っています。整形は pw check にあります。ビルドの中で 整形をどこで走らせるか、なぜ生成より前なのかを説明している場所だからです。カタログの コマンドはページの翻訳にあり、カタログが支えているメッセージ 構文のすぐ隣に置いてあります。pw renamepw lspエディタ対応にあります。 前者は普段エディタから触るもので、後者は自分では起動しないものだからです。

コマンド 用途
pw migrate マイグレーションの確認、適用、ロールバック
pw seed シードデータセットの読み込み

pw init 以外のコマンドにはプロジェクトが必要ですが、プロジェクトルートで実行する 必要はありません。pw は作業ディレクトリから上へたどって popcornweb.toml を 探すため、どのサブディレクトリからでも動きます。最上層まで見つからなければ popcornweb.toml not found で失敗します。

成功で 0、コマンドの失敗で 1、コマンドが与えられなかった場合は 2 です。エラーは pw: を前置して標準エラー出力に書かれます。

デプロイするバイナリには別のコマンドラインがあります。設定オプション、設定 スキャフォールドの出力、アプリケーション定義のサブコマンドです。この境界は カスタムコマンドで扱います。