setup-env

Provisions isolated userspace development toolchains per project using uv, conda-forge, and publisher archives.

2|2|Updated Jun 21, 2026
One-click install
npx skills add https://github.com/BTreeMap/SKILLs --skill setup-env-btreemap
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: setup-env
Source: https://github.com/BTreeMap/SKILLs/tree/main/setup-env
Command: npx skills add https://github.com/BTreeMap/SKILLs --skill setup-env-btreemap

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires btm-corekit, certifi, httpx, and includes scripts (resource) and references (resource) components.

What problem does it solve? Building or testing a project often fails because the machine lacks the right language toolchains, root access, or docker. This Skill installs complete development environments (Python, Go, Rust, JVM, Android, Haskell, and more) into one disposable per-project root without sudo, without touching HOME or global caches, and without assuming anything but uv. ## Core Features & Use Cases - Tag-based provisioning: Name toolchains as tags like [email protected], kotlin:android@35, or go:cgo; one command plans, installs, and verifies them with probes. - Hermetic isolation: Activation scripts redirect HOME, TMPDIR, XDG dirs, and every toolchain cache under the environment root, so nothing reads or writes caller state. - Cross-architecture support: Foreign-architecture binaries (e.g., x86_64 aapt2 on linux/arm64) run via qemu user-mode emulation or Rosetta 2, decided centrally. - Use Case: On a bare CI-like Linux box with only uv installed, run btm-setup-env provision [email protected] rust to get a working, verified Python and Rust environment, then source the printed activate.sh and build. ## Quick Start Ask the agent to provision the toolchains your project needs, for example: set up a development environment with python 3.12 and go for this project using the setup-env skill.

Frequently Asked Questions about setup-env

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I install a development toolchain without sudo or root access?

Run `btm-setup-env provision` with tags like `[email protected] go rust`; everything installs into one disposable root in userspace using uv, micromamba, and publisher archives. Source the printed activate.sh to use the tools.

How do I set up an Android build environment on linux/arm64?

Use the tag `kotlin:android@35` or `java:android@35`, which installs the JDK, Android SDK cmdline-tools, platform, and build-tools. The x86_64-only aapt2 binary is wrapped in qemu user-mode emulation and registered via android.aapt2FromMavenOverride.

Does setup-env work on Windows or macOS?

Linux and macOS on x86_64/arm64 are first class; Windows x86_64 is best effort, with haskell, bash, c, and cpp unavailable there. On macOS/arm64, osx-64 binaries run transparently through Rosetta 2.

What happens if a provisioning run is interrupted or fails?

Re-run the same provision command; every executor checks its own postcondition and skips completed work, so re-running is the documented repair. A failed probe still exits 0 with `ok` false and a `next` field naming the repair.

Will provisioning modify my HOME directory or global caches?

No. The activation script redirects HOME, TMPDIR, XDG directories, and every toolchain cache variable under the environment root. Nothing reads the caller's dotfiles or global toolchains, and the project checkout only receives generated ignored files like local.properties.

When should I not use this tool for environment setup?

Do not use it for CI images, system packages, or deployment; those belong to the project's own tooling. It serves local builds and tests, and the root is ephemeral under the system temp dir, so re-provision after a reboot.