run-package
$
npx mdskill add kurtosis-tech/kurtosis/run-packageExecute Starlark packages locally or from GitHub with full control.
- Runs Starlark scripts with flags for dry-run, parallel execution, and production mode.
- Depends on the kurtosis CLI engine for package management and execution.
- Determines execution context by parsing local paths, GitHub URLs, or argument files.
- Outputs execution logs and enclave status based on selected verbosity levels.
SKILL.md
.github/skills/run-packageView on GitHub ↗
---
name: run-package
description: Run Starlark scripts and packages with kurtosis run. Covers all flags including dry-run, args-file, parallel execution, image download modes, verbosity levels, and production mode. Use when executing Kurtosis packages locally or from GitHub.
compatibility: Requires kurtosis CLI with a running engine.
metadata:
author: ethpandaops
version: "1.0"
---
# Run Package
Execute Starlark scripts and packages with `kurtosis run`.
## Basic usage
```bash
# Run a local package
kurtosis run ./my-package
# Run a local .star script
kurtosis run ./script.star
# Run a remote package from GitHub
kurtosis run github.com/ethpandaops/ethereum-package
# Run with inline args
kurtosis run github.com/ethpandaops/ethereum-package '{"participants": [{"el_type": "geth", "cl_type": "lighthouse"}]}'
# Run with args from a file (JSON or YAML)
kurtosis run github.com/ethpandaops/ethereum-package --args-file config.yaml
```
## Named enclaves
```bash
# Run in a specific enclave (created if it doesn't exist)
kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package
# Re-run in an existing enclave (adds to it)
kurtosis run --enclave my-testnet ./additional-services.star
```
## Dry run
Preview what will execute without making changes:
```bash
kurtosis run --dry-run github.com/ethpandaops/ethereum-package --args-file config.yaml
```
## Verbosity levels
```bash
# Default — concise description of what happens
kurtosis run ./my-package
# Brief — concise but explicit
kurtosis run -v brief ./my-package
# Detailed — all arguments for each instruction
kurtosis run -v detailed ./my-package
# Executable — generates copy-pasteable Starlark
kurtosis run -v executable ./my-package
# Output only — just the return value
kurtosis run -v output_only ./my-package
```
## Image handling
```bash
# Default: only pull if image doesn't exist locally
kurtosis run ./my-package
# Always pull latest image tags
kurtosis run --image-download always ./my-package
```
## Parallel execution
```bash
# Run instructions in parallel (as soon as dependencies resolve)
kurtosis run --parallel ./my-package
# Set parallelism level
kurtosis run --parallel --parallelism 8 ./my-package
```
## Advanced options
```bash
# Production mode — services auto-restart on failure
kurtosis run -p ./my-package
# Custom entry point file
kurtosis run --main-file deploy.star ./my-package
# Custom main function
kurtosis run --main-function-name setup ./my-package
# Don't forward ports locally
kurtosis run --no-connect ./my-package
# Show dependency graph
kurtosis run --output-graph ./my-package
# List image and package dependencies
kurtosis run --dependencies ./my-package
# Pull all dependencies locally
kurtosis run --pull --dependencies ./my-package
# Skip enclave inspect output
kurtosis run --show-enclave-inspect=false ./my-package
```
## Safe deployment workflow
Preview, execute, then verify:
```bash
# 1. Dry run — validate the plan without making changes
kurtosis run --dry-run --enclave my-testnet github.com/ethpandaops/ethereum-package --args-file config.yaml
# 2. Execute — run the package for real
kurtosis run --enclave my-testnet github.com/ethpandaops/ethereum-package --args-file config.yaml
# 3. Verify — confirm services are running correctly
kurtosis enclave inspect my-testnet
```
## Debug mode
```bash
# Run with debug engine images
kurtosis --debug-mode run ./my-package
# Increase CLI log verbosity
kurtosis --cli-log-level debug run ./my-package
```