Skip to content
Get started

Install the CLI

Get the intropy CLI installed in about a minute.

  • A supported OS: macOS 13+, Linux x86_64/arm64, or Windows 11 (WSL2)
  • .NET 10 SDK — every Component and system host is a .NET 10 project
  • Docker Desktop 27+ — or another OCI-compatible engine (Rancher Desktop, Colima, podman). The local run starts its broker and service mocks as containers. If docker info returns a socket permission error on Linux, use Docker’s Linux post-install steps
  • Dapr CLI 1.16 — runs the local sidecars every Intropy Component depends on
  • Task — optional. Scaffolded projects ship a Taskfile.yml wrapping the common commands; everything it wraps can also be run by hand with dotnet

Install the CLI from the Homebrew formula:

Terminal window
brew install integrio-intropy/tap/intropy

The formula installs the intropy binary and shell completions for bash, zsh, and fish.

Prefer not to use Homebrew? The install script under the Linux tab works on macOS too.

The Dapr CLI is a separate install from the intropy CLI. Install it from the same environment that runs the tutorials:

Terminal window
brew install dapr/tap/dapr-cli

After installing the Dapr CLI, bootstrap the local Dapr environment once — from the same environment that runs the tutorials: inside WSL on Windows, in your shell on macOS and Linux:

Terminal window
dapr init

dapr init installs the runtime (daprd) that every local sidecar is launched from. The Dapr CLI alone is not enough: without this step every sidecar the tutorials start exits immediately. Verify with dapr --version; it should print a runtime version as well as a CLI version.

Terminal window
intropy --version
dapr --version

You should see a version line for intropy, for example intropy version 2.0.0, and a Dapr Runtime version line alongside the CLI version — the runtime line confirms dapr init has run. intropy --help lists the commands; the CLI reference describes each one.

Quoted command output across the tutorials and the CLI reference is captured from real runs at the template release noted on each page. Your runs will show the release you fetch, so the version strings may differ from the quoted ones — yours are the ones to trust.

The tutorials are written for intropy CLI 2.1.1 and intropy-templates 2.0.0. CLI 2.0 wires Components by message name and cannot read a workspace scaffolded with CLI 1.x; it fails with this record predates the scalar message DSL. To keep working on such a workspace without migrating it, install CLI 1.0.1 beside 2.0 and pin the templates to v1.0.3, the last release that CLI understands. The release notes list what changed.

Install CLI 1.0.1 into its own directory, so it does not replace the 2.0 binary on your PATH. The script works on macOS, Linux and WSL:

Terminal window
curl -fsSL https://github.com/integrio-intropy/intropy-cli/releases/download/v1.0.1/install.sh \
| /bin/bash -s -- --version v1.0.1 --prefix ~/.local/intropy-1.0.1
alias intropy1="$HOME/.local/intropy-1.0.1/intropy"

The script warns that the directory is not on your PATH; the alias replaces that. It also writes 1.0.1 shell completions into any shared completion directory it finds (/etc/bash_completion.d, /usr/local/share/zsh/site-functions, ~/.zsh/completions, ~/.config/fish/completions). Regenerate the 2.0 completions there with intropy completion <shell> if you use them.

Run intropy1 from the existing workspace and pass --template-version v1.0.3 to every command that fetches templates: int create, sys create, sys update, the manifests commands, template and dashboard.

Terminal window
intropy1 int create extractor --template-version v1.0.3

Without the pin, CLI 1.0.1 fetches the latest template release, which is written for CLI 2.0.