[package]
name = "alp-cli"
version.workspace = true
edition.workspace = true
license.workspace = true
repository = "https://github.com/alplabai/alp-sdk-vscode/tree/main/cli-rs"
rust-version.workspace = true
readme = "README.md"
description = "The native `alp` CLI for ALP SDK embedded projects: board.yaml validate/generate, project scaffolding, toolchain bootstrap, and west build/flash with a stable JSON envelope."

# cargo-binstall: fetch the prebuilt archive from the GitHub release instead of
# compiling. The archive layout matches release-cli-rs.yml (tag `cli-rs-v<ver>`,
# `alp-<target>.tar.gz`, binary at the root). Unlisted targets fall back to a
# from-source `cargo install`.
# NB: the URL is the repo root (NOT `{ repo }`) — `repository` above points at the
# cli-rs subdirectory for crates.io, but the release assets live at the repo root.
[package.metadata.binstall]
pkg-url = "https://github.com/alplabai/alp-sdk-vscode/releases/download/cli-rs-v{ version }/alp-{ target }.tar.gz"
pkg-fmt = "tgz"
bin-dir = "{ bin }{ binary-ext }"

[[bin]]
name = "alp"
path = "src/main.rs"

[dependencies]
# path for local builds; version lets crates.io resolve the dep. Keep the
# version in lockstep with the workspace on a minor/major bump.
alp-core = { path = "../alp-core", version = "0.1.6" }
clap.workspace = true
inquire.workspace = true
serde.workspace = true
serde_json.workspace = true
ureq.workspace = true
anyhow.workspace = true
owo-colors.workspace = true
indicatif.workspace = true
