agentleFS
gear-foundationgear-foundation/vara-skills/skills/sails-dev-env/SKILL.md

sails-dev-env

Skill17 starsChanged 7 months agoMITView on GitHub

Use when a builder needs to prepare or repair a local macOS, Linux, or Windows machine for standard Gear/Vara Sails Rust development before building, testing, or running a local node. Do not use for live-network deployment, app-specific feature work, or Vara.eth/ethexe-only setup.

  • Pipes a download into a shell
  • Installs packages

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 1 is distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If rustup is missing, install it with the official bootstrap for that platform.

    line 15
  2. Very specific:

    Verify the toolchain with rustup show, cargo sails --version, and gear --version.

    line 19
  3. Very specific:

    Prefer the latest official gear release binary over building the node from source unless the user asks for a specific tag or source build.

    line 94
  4. Very specific:

    Treat base package-manager bootstrap as outside scope.

    line 95
  5. Very specific:

    Do not assume Node.js, npm, or sails-cli are part of this skill.

    line 96
  6. Distinctive:

    Do not pin an arbitrary nightly date unless the target repository already requires one through a toolchain file or a failing build.

    line 97

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Sails Dev Env

Goal

Get the machine to a verified baseline for standard Sails Rust work: rustup, Rust toolchains, Wasm targets, cargo-sails, and the latest official gear binary.

Sequence

  1. Detect whether the builder is on macOS, Linux, or Windows.
  2. If rustup is missing, install it with the official bootstrap for that platform.
  3. Install or update the stable and nightly toolchains, then add wasm32-unknown-unknown and wasm32v1-none.
  4. Install the Sails Rust CLI with cargo install sails-cli --locked, which provides cargo-sails and the standard greenfield bootstrap command cargo sails new <project-name>.
  5. Install the latest official gear release binary from https://get.gear.rs/ (see Commands below for platform-specific download).
  6. Verify the toolchain with rustup show, cargo sails --version, and gear --version.
  7. Route back into ../sails-new-app/SKILL.md, ../ship-sails-app/SKILL.md, ../sails-gtest/SKILL.md, or ../sails-local-smoke/SKILL.md depending on the builder's next task.

Commands

macOS or Linux

command -v rustup >/dev/null 2>&1 || curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# After fresh install, restart the shell or source the env so cargo/rustc resolve:
. "${HOME}/.cargo/env"

rustup toolchain install stable
rustup toolchain install nightly
rustup default stable
rustup target add wasm32-unknown-unknown --toolchain stable
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup target add wasm32v1-none --toolchain stable
rustup target add wasm32v1-none --toolchain nightly

cargo install sails-cli --locked

# Install gear binary from official releases (auto-detect architecture)
GEAR_VERSION="v1.10.0"
case "$(uname -s)-$(uname -m)" in
  Darwin-arm64)  GEAR_ARCH="aarch64-apple-darwin" ;;
  Darwin-x86_64) GEAR_ARCH="x86_64-apple-darwin" ;;
  Linux-x86_64)  GEAR_ARCH="x86_64-unknown-linux-gnu" ;;
  Linux-aarch64) GEAR_ARCH="aarch64-unknown-linux-gnu" ;;
  *) echo "Unsupported platform: $(uname -s)-$(uname -m)"; exit 1 ;;
esac
mkdir -p "${HOME}/.local/bin"
curl -sSf "https://get.gear.rs/gear-${GEAR_VERSION}-${GEAR_ARCH}.tar.xz" | tar -xJ -C "${HOME}/.local/bin"
export PATH="${HOME}/.local/bin:${PATH}"

rustup show
cargo sails --version
cargo sails --help
gear --version

Windows

if (-not (Get-Command rustup -ErrorAction SilentlyContinue)) {
  winget install Rustlang.Rustup
}

rustup toolchain install stable
rustup toolchain install nightly
rustup default stable
rustup target add wasm32-unknown-unknown --toolchain stable
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup target add wasm32v1-none --toolchain stable
rustup target add wasm32v1-none --toolchain nightly

cargo install sails-cli --locked

# Install gear binary from official releases
$GearVersion = "v1.10.0"
$GearDest = "$env:USERPROFILE\AppData\Local\Programs\gear\bin"
New-Item -ItemType Directory -Force -Path $GearDest | Out-Null
Invoke-WebRequest -Uri "https://get.gear.rs/gear-$GearVersion-x86_64-pc-windows-msvc.zip" -OutFile "$env:TEMP\gear.zip"
Expand-Archive -Path "$env:TEMP\gear.zip" -DestinationPath $GearDest -Force
$env:PATH = "$GearDest;$env:PATH"

rustup show
cargo sails --version
cargo sails --help
gear --version

Guardrails

  • Keep this skill self-contained. Do not depend on a sibling gear checkout or machine-local scripts outside this skill directory. The gear binary is downloaded directly from https://get.gear.rs/ official releases. The scripts/install-gear.sh and scripts/install-gear.ps1 helpers in this skill directory are available as an alternative when a more flexible install is needed (e.g., custom tags or targets).
  • Prefer the latest official gear release binary over building the node from source unless the user asks for a specific tag or source build.
  • Treat base package-manager bootstrap as outside scope. If host tools such as curl, tar, xz, or winget are missing, install them with the platform package manager, then continue.
  • Do not assume Node.js, npm, or sails-cli are part of this skill. Install JS tooling separately only when the active workflow actually needs it.
  • Do not pin an arbitrary nightly date unless the target repository already requires one through a toolchain file or a failing build.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.