Installation
Homebrew (macOS)
brew install carina-rs/tap/carinaThis installs both carina (CLI) and carina-lsp (Language Server).
GitHub Releases
Download pre-built binaries from GitHub Releases. Available for macOS (aarch64, x86_64) and Linux (aarch64, x86_64). Each archive contains both carina and carina-lsp.
# macOS (Apple Silicon)curl -LO https://github.com/carina-rs/carina/releases/latest/download/carina-0.3.0-macos-aarch64.tar.gztar xzf carina-0.3.0-macos-aarch64.tar.gzsudo mv carina carina-lsp /usr/local/bin/Build from source
Prerequisites:
- Rust toolchain (stable) — install via rustup
- wasm32-wasip2 target — required for building provider plugins
rustup target add wasm32-wasip2Clone the repository and build in release mode:
git clone https://github.com/carina-rs/carina.gitcd carinacargo build --releaseThe binary is at target/release/carina. Add it to your PATH or copy it to a directory already on your PATH.
Provider plugins
Carina uses WASM-based provider plugins. When you specify a source and version in your .crn file, Carina automatically downloads the provider plugin from GitHub Releases on first use:
provider awscc { source = 'github.com/carina-rs/carina-provider-awscc' version = '0.3.0' region = 'ap-northeast-1'}The two official providers are:
| Provider | Source |
|---|---|
| AWSCC (Cloud Control API) | github.com/carina-rs/carina-provider-awscc |
| AWS (native SDK) | github.com/carina-rs/carina-provider-aws |
Building from source (optional)
If you need to build providers from source:
git clone https://github.com/carina-rs/carina-provider-awscc.gitcd carina-provider-awscccargo build -p carina-provider-awscc --target wasm32-wasip2 --releaseThe WASM component is at target/wasm32-wasip2/release/carina_provider_awscc.wasm.
Building the AWS provider
git clone https://github.com/carina-rs/carina-provider-aws.gitcd carina-provider-awscargo build -p carina-provider-aws --target wasm32-wasip2 --releaseThe WASM component is at target/wasm32-wasip2/release/carina_provider_aws.wasm.
Shell completions
# Bashcarina completions bash > ~/.local/share/bash-completion/completions/carina
# Zshmkdir -p ~/.zfunccarina completions zsh > ~/.zfunc/_carina# Add to .zshrc: fpath=(~/.zfunc $fpath); autoload -Uz compinit; compinit
# Fishcarina completions fish > ~/.config/fish/completions/carina.fishVerify the installation
carina --help