Recipe Commands
List recipes
Section titled “List recipes”sparkrun recipe list [query]sparkrun list [query] # aliasList available recipes from all configured registries. Optionally filter by a search query.
Options
Section titled “Options”| Option | Description |
|---|---|
--all / -a | Include recipes from hidden registries |
--runtime | Filter by runtime (e.g., vllm, sglang) |
--registry | Filter by registry name |
--json | Emit machine-readable JSON instead of the table |
The output table includes:
| Column | Description |
|---|---|
| Name | Recipe display name |
| Runtime | Inference runtime (vllm, sglang, llama-cpp, trtllm) |
| TP | Default tensor parallelism setting (- if not set) |
| Nodes | Minimum node count (min_nodes) |
| GPU Mem | Default gpu_memory_utilization setting (- if not set) |
| Registry | Source registry name or local |
| File | Recipe filename stem |
Scoping to a registry
Section titled “Scoping to a registry”The query itself accepts the same @registry syntax recipe names use:
sparkrun list @community # same as --registry communitysparkrun list @community/ # samesparkrun list @community/qwen # --registry community, query "qwen"Naming a registry implies --all, so its recipes appear even if the registry
is hidden by default. An unknown or disabled registry — whether named via the
shorthand or --registry — is reported as an error listing the available
registries, rather than silently yielding “No recipes found”. Combining a
conflicting @scope with --registry is also an error.
list vs search
Section titled “list vs search”Both scan the same sources; they differ in how duplicates are treated.
listshows one row per unqualified name, preferring working-directory recipes.searchshows every copy.
That distinction matters because a registry’s recipe directory is scanned
recursively, so 3x-spark-cluster/foo.yaml and 4x-spark-cluster/foo.yaml are
genuinely different recipes that share a name. Only literal repeats of the same
file are ever dropped.
Show recipe details
Section titled “Show recipe details”sparkrun recipe show <recipe>sparkrun show <recipe> # aliasDisplay detailed recipe information including defaults, metadata, and VRAM estimation. The VRAM estimator auto-detects model architecture from HuggingFace.
Recipes can be local names, file paths, URLs, or Spark Arena shortcuts:
# Show a local/registry recipesparkrun show qwen3-1.7b-vllm
# Show a Spark Arena recipesparkrun show @spark-arena/<recipe-id>To save a copy of a recipe for customization, use sparkrun export recipe:
sparkrun export recipe @spark-arena/<recipe-id> --save my-recipe.yamlOptions
Section titled “Options”| Option | Description |
|---|---|
--no-vram | Skip VRAM estimation display |
--tp / --tensor-parallel | Override tensor parallelism for VRAM estimate |
--gpu-mem | Override GPU memory utilization (0.0-1.0) for VRAM estimate |
Search recipes
Section titled “Search recipes”sparkrun recipe search <query>sparkrun search <query> # aliasSearch for recipes by name, model, or description across all registries.
Options
Section titled “Options”| Option | Description |
|---|---|
--all / -a | Include recipes from hidden registries |
--runtime | Filter by runtime (e.g., vllm, sglang) |
--registry | Filter by registry name |
--json | Emit machine-readable JSON instead of the table |
The output table includes:
| Column | Description |
|---|---|
| Name | Recipe display name |
| Runtime | Inference runtime |
| TP | Default tensor parallelism setting (- if not set) |
| Nodes | Minimum node count |
| GPU Mem | Default gpu_memory_utilization setting (- if not set) |
| Model | HuggingFace model identifier |
| Registry | Source registry name |
Validate a recipe
Section titled “Validate a recipe”sparkrun recipe validate <recipe>Check a recipe file for issues:
- Missing required fields (
model,runtime) - Invalid
modevalues min_nodes/max_nodesconsistency- Valid
metadata.model_paramsandmetadata.model_dtype - Runtime-specific validation
Update recipes
Section titled “Update recipes”sparkrun recipe updatesparkrun recipe update --registry community # just oneRefreshes the configured recipe registries from git, so newly published
recipes become resolvable. sparkrun update does this too, alongside upgrading
sparkrun itself.
Estimate VRAM usage
Section titled “Estimate VRAM usage”sparkrun recipe vram <recipe> [options]| Option | Description |
|---|---|
--tp / --tensor-parallel | Override tensor parallelism |
--max-model-len | Override max sequence length |
--gpu-mem | Override gpu_memory_utilization (0.0-1.0) |
--no-auto-detect | Skip HuggingFace model auto-detection |