Guide: Managing Language-Specific CLIs¶
The soup harness command is used to manage the lifecycle of language-specific implementations of the TofuSoup CLI, such as soup-go. These binaries provide feature parity with the main Python CLI and serve as the canonical reference for conformance tests.
Listing CLIs¶
To see a list of available language-specific CLIs and their current build status, use the list command.
Building CLIs¶
The build command compiles the source code for the language-specific CLIs and places the executables in a standardized location (tofusoup/src/tofusoup/harness/go/bin/).
# Build all available CLIs
soup harness build --all
# Build a specific CLI, for example soup-go
soup harness build soup-go
# Force a rebuild even if the binary already exists
soup harness build soup-go --force-rebuild
Build behavior, such as Go build flags and environment variables, can be customized in soup.toml.
Verifying CLIs¶
After building, you can run a basic verification check to ensure the CLI is functional.
Cleaning CLIs¶
The clean command removes the compiled binary artifacts for one or more CLIs.