Claude-skill-registry sayt-cli
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/cli-bonisoft3-iris" ~/.claude/skills/majiayu000-claude-skill-registry-sayt-cli && rm -rf "$T"
manifest:
skills/data/cli-bonisoft3-iris/SKILL.mdsource content
setup / doctor — Tool Management with mise
sayt setup installs project toolchains. sayt doctor verifies each environment tier is ready.
How It Works
looks forsayt setup
in the current directory.mise.toml- Runs
to trust the configmise trust -y -a -q - Runs
to install all specified toolsmise install - Preloads vscode-task-runner (
) into the uvx cache for offline usevtr - If
exists, recursively calls it with.sayt.nu
for custom logicsetup
sayt doctor checks which environment tiers have their required tools available:
| Tier | Tools checked |
|---|---|
| pkg | mise (or scoop on Windows) |
| cli | cue, gomplate |
| ide | vtr (vscode-task-runner) |
| cnt | docker |
| k8s | kind, skaffold |
| cld | gcloud |
| xpl | crossplane |
.mise.toml
File Format
.mise.tomlmise uses TOML configuration to specify tool versions per project.
Structure
[settings] locked = true # Use lockfile for reproducible installs lockfile = true # Generate/use mise.lock experimental = true # Enable experimental features paranoid = false # Disable paranoid mode [tools] # Standard registry tools node = "22.14.0" go = "1.22" java = "openjdk-21.0" python = "3.12" # GitHub-hosted tools (not in default registry) "github:pnpm/pnpm" = "9.15.2" "github:sqlc-dev/sqlc" = "1.28.0" "github:bufbuild/buf" = "1.32.1"
Settings Reference
[settings] locked = true # Require lockfile to exist lockfile = true # Create/update mise.lock experimental = true # Needed for some plugin features paranoid = false # Don't verify checksums aggressively github.slsa = false # Skip SLSA provenance verification github.github_attestations = false # Skip GitHub attestations aqua.github_attestations = false # Skip aqua GitHub attestations aqua.cosign = false # Skip cosign verification aqua.slsa = false # Skip aqua SLSA verification aqua.minisign = false # Skip minisign verification
These security settings are commonly disabled during development for speed. Enable them in CI/production.
Common Tool Specs
Node.js project:
[tools] node = "22.14.0" "github:pnpm/pnpm" = "9.15.2"
Go project:
[tools] go = "1.22" "github:sqlc-dev/sqlc" = "1.28.0" "github:gotestyourself/gotestsum" = "1.12.0"
JVM project:
[tools] java = "openjdk-21.0"
Python project:
[tools] python = "3.12"
Multi-language project:
[tools] node = "22.14.0" go = "1.22" "github:bufbuild/buf" = "1.32.1"
Platform-Specific Stubs
sayt uses mise "tool stubs" for tools like CUE, Docker, and uvx. These have platform-specific TOML configs:
— Standard CUE stubcue.toml
— Alpine/musl Linux variantcue.musl.toml
/docker.toml
— Docker stubdocker.musl.toml
/uvx.toml
— Python uvx stubuvx.musl.toml
/nu.toml
— Nushell stubnu.musl.toml
The musl variant is automatically selected when running on musl-based Linux (e.g., Alpine containers).
Custom Setup Logic via .sayt.nu
.sayt.nuIf your project needs setup beyond what mise provides, create
.sayt.nu:
# .sayt.nu — Custom setup hooks def "main setup" [] { # Example: install Nix packages nix-env -iA nixpkgs.myTool # Example: run database migrations sqlc generate }
sayt automatically detects and runs
.sayt.nu setup after the mise-based setup completes.
Writing Good .mise.toml
Files
.mise.toml- Pin exact versions — Use
not"22.14.0"
for reproducibility"22" - Use lockfiles — Set
andlocked = truelockfile = true - Prefer registry names — Use
notnode
when available"github:nodejs/node" - Use
prefix — For tools not in the default mise registrygithub: - Keep settings section — Even if using defaults, be explicit about security settings
Current flags
!
sayt help setup 2>&1 || true
!sayt help doctor 2>&1 || true