shine-cli 1.3.0

Cross-platform CLI for managed shell commands, app configs, and machine setup
Documentation

Shine

A cross-platform Rust CLI for managing shell commands, application configuration, system resources, layered environments, and repeatable machine setup.

Shine packages useful presets in one self-contained binary. Managed files are tracked through manifests so they can be inspected, updated, and safely removed without taking ownership of unrelated user content. You can also maintain external preset repositories and selective overlays.

Documentation: English · 简体中文

Highlights

  • Install portable shell commands and application configuration with dry-run and modification guards.
  • Bootstrap development environments on macOS, Ubuntu, and Windows.
  • Manage layered environment values and encrypt workspace secrets with GPG or age.
  • Save personal tasks, synchronize terminal themes, and serve managed local resources.
  • Forward selected values, broker local secrets, and transfer files through shine ssh sessions.
  • Extend built-in presets through an external source or path-level overlay.

Installation

macOS and Linux:

curl -fsSL https://github.com/biulight/shine/releases/latest/download/install.sh | sh

Windows PowerShell:

irm https://github.com/biulight/shine/releases/latest/download/install.ps1 | iex

From crates.io with Rust 1.88 or later:

cargo install shine-cli

Quick example

shine list --available
shine info shell/proxy
shine install shell/proxy
shine update
shine upgrade shell/proxy

Resources use canonical targets such as app/starship, shell/proxy, and sys/split-dns. See the quick start and command reference for the complete workflow.

Development

Toolchain versions are pinned in mise.toml:

mise install
bun install --frozen-lockfile
cargo nextest run --all-features
cargo clippy --all-targets --all-features --tests --benches -- -D warnings
cargo fmt --check
bun run check:ts

The public documentation site is isolated under website/:

cd website
pnpm install --frozen-lockfile
pnpm check:locales
pnpm typecheck
pnpm build

Planning uses the issue workflow in docs/PLAN.md. Contributor architecture, invariants, and verification rules live in AGENTS.md and docs/kb/.

Regular development targets release. Version tags are created from release, and the release workflow opens the post-release synchronization PR to main.

License

MIT OR Apache-2.0