Skip to content

Recipe Commands

Terminal window
sparkrun recipe list [query]
sparkrun list [query] # alias

List available recipes from all configured registries. Optionally filter by a search query.

OptionDescription
--all / -aInclude recipes from hidden registries
--runtimeFilter by runtime (e.g., vllm, sglang)
--registryFilter by registry name
--jsonEmit machine-readable JSON instead of the table

The output table includes:

ColumnDescription
NameRecipe display name
RuntimeInference runtime (vllm, sglang, llama-cpp, trtllm)
TPDefault tensor parallelism setting (- if not set)
NodesMinimum node count (min_nodes)
GPU MemDefault gpu_memory_utilization setting (- if not set)
RegistrySource registry name or local
FileRecipe filename stem

The query itself accepts the same @registry syntax recipe names use:

Terminal window
sparkrun list @community # same as --registry community
sparkrun list @community/ # same
sparkrun 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.

Both scan the same sources; they differ in how duplicates are treated.

  • list shows one row per unqualified name, preferring working-directory recipes.
  • search shows 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.

Terminal window
sparkrun recipe show <recipe>
sparkrun show <recipe> # alias

Display 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:

Terminal window
# Show a local/registry recipe
sparkrun show qwen3-1.7b-vllm
# Show a Spark Arena recipe
sparkrun show @spark-arena/<recipe-id>

To save a copy of a recipe for customization, use sparkrun export recipe:

Terminal window
sparkrun export recipe @spark-arena/<recipe-id> --save my-recipe.yaml
OptionDescription
--no-vramSkip VRAM estimation display
--tp / --tensor-parallelOverride tensor parallelism for VRAM estimate
--gpu-memOverride GPU memory utilization (0.0-1.0) for VRAM estimate
Terminal window
sparkrun recipe search <query>
sparkrun search <query> # alias

Search for recipes by name, model, or description across all registries.

OptionDescription
--all / -aInclude recipes from hidden registries
--runtimeFilter by runtime (e.g., vllm, sglang)
--registryFilter by registry name
--jsonEmit machine-readable JSON instead of the table

The output table includes:

ColumnDescription
NameRecipe display name
RuntimeInference runtime
TPDefault tensor parallelism setting (- if not set)
NodesMinimum node count
GPU MemDefault gpu_memory_utilization setting (- if not set)
ModelHuggingFace model identifier
RegistrySource registry name
Terminal window
sparkrun recipe validate <recipe>

Check a recipe file for issues:

  • Missing required fields (model, runtime)
  • Invalid mode values
  • min_nodes / max_nodes consistency
  • Valid metadata.model_params and metadata.model_dtype
  • Runtime-specific validation
Terminal window
sparkrun recipe update
sparkrun recipe update --registry community # just one

Refreshes the configured recipe registries from git, so newly published recipes become resolvable. sparkrun update does this too, alongside upgrading sparkrun itself.

Terminal window
sparkrun recipe vram <recipe> [options]
OptionDescription
--tp / --tensor-parallelOverride tensor parallelism
--max-model-lenOverride max sequence length
--gpu-memOverride gpu_memory_utilization (0.0-1.0)
--no-auto-detectSkip HuggingFace model auto-detection