コマンドラインインターフェース
SpecForgeツールのコア機能は、コマンドラインインターフェース(CLI)を介してアクセスできます。
SpecForge CLIを追加の引数なしで実行すると、利用可能なコマンドのリストが表示されます。以下はコマンドの簡単な概要です。
serve: VSCode拡張機能とPython SDKを介したインタラクティブ開発のためのSpecForgeサーバーを起動します。init: サンプルのlilo.tomlファイルとサンプル仕様を含む新しいLiloプロジェクトをセットアップします。parse: 指定されたLiloファイルのリストが構文的に正しいか確認します。check: 指定されたLiloファイルのリストを型検査します。format: 指定されたLiloファイルのリストをフォーマットし、場合によっては仕様をインライン化します。export: Lilo仕様を別の形式(例:.jsonまたは.lilo)にエクスポートします。eval: 指定された入力信号でLilo仕様を評価します。つまり、入力信号の最初のタイムスタンプで仕様の値を決定します。monitor: 指定された入力信号でLilo仕様を監視します。つまり、入力信号のすべてのタイムスタンプで仕様を評価することにより、出力信号を生成します。streammon: ストリーミングモードでLilo仕様を監視します。このモードは、標準入力からJSONLレコードとして入力信号を1行ずつ読み取り、(該当する場合)仕様の値をストリーミング方式で出力します。
各CLIツールのドキュメントは、コマンドで--helpフラグを使用して直接アクセスする必要があります。以下は例です:
$ cabal exec specforge -- monitor --help
Usage: specforge monitor PROJDIR SYSTEM DATAFILE PARAMFILE DEFNAME
[--file-format FORMAT] [RECORD_ENCODING]
Monitor a spec file
Available options:
PROJDIR Path to the project directory
SYSTEM System in which the spec lives
DATAFILE Path to the data file
PARAMFILE Path to the param file
DEFNAME Name of the definition to monitor
--file-format FORMAT One of these formats: csv, json, jsonl
-h,--help Show this help text
Record Encodings:
flat Flat JSON with separator
nested Nested JSON