|
| 1 | +--- |
| 2 | +name: isaaclab-installing-isaac-lab |
| 3 | +description: Installs Isaac Lab end-to-end with minimal user interaction. Auto-detects the system with read-only checks, picks the right install method (automatic uv, downloaded Isaac Sim, source build, Isaac Lab wheel, legacy isaaclab.sh, managed Python env, or Docker) from the install docs, shows one consolidated plan, and after a single confirmation executes the docs-prescribed commands unattended through verification. Use when installing Isaac Lab for the first time, picking between install combinations, or asking for install commands for a specific platform. |
| 4 | +audience: user |
| 5 | +status: experimental |
| 6 | +owners: |
| 7 | + - isaaclab-maintainers |
| 8 | +--- |
| 9 | + |
| 10 | +# Installing Isaac Lab |
| 11 | + |
| 12 | +## When To Use |
| 13 | + |
| 14 | +Use this skill when a user wants to install Isaac Lab from scratch. The default mode is the express flow: auto-detect, auto-pick, one confirmation, then unattended execution. Users should not have to answer setup questions unless the system genuinely forces a choice. |
| 15 | + |
| 16 | +This skill operates on the currently-checked-out Isaac Lab ref. If the user wants to install a different ref (a specific branch or tag), have them check that ref out first, then invoke the skill. |
| 17 | + |
| 18 | +Do not use this skill for post-install issues. Use `isaaclab-setup-troubleshooting` for import failures, launch failures, verification failures, and other diagnostic questions after the install completed. |
| 19 | + |
| 20 | +Do not vendor install commands, version pins, or troubleshooting steps into this skill. The install pages under `docs/source/setup/installation/index.rst` and their siblings are the source of truth for commands and minimums alike. |
| 21 | + |
| 22 | +## Workflow |
| 23 | + |
| 24 | +The express flow asks the user at most one question: the final go/no-go. Do not interview the user about use case, env manager, or install method unless a rule below explicitly says to ask. |
| 25 | + |
| 26 | +1. Run the read-only preflight detection commands listed in [reference.md](reference.md) to gather OS, arch, GLIBC, GPU and driver, Python, env managers, RAM, disk, and existing install artifacts. Nothing in this step changes system state. |
| 27 | +2. Read the "System requirements" section and the install-method comparison from `docs/source/setup/installation/index.rst` in the checkout — never from memory — compare against the detected facts, and route to the correct section anchor in `index.rst` using the mapping in [reference.md](reference.md). |
| 28 | +3. If a hard blocker exists (no NVIDIA GPU or driver, driver below the documented minimum, insufficient disk), stop before any state-changing command. Report each blocker with its fix and the documented alternative (the legacy Newton-only installer at `installation-legacy-installer` for no-Isaac-Sim machines). Do not attempt driver installs unattended. If existing install artifacts were found, hand off to `isaaclab-setup-troubleshooting` instead of reinstalling over them. |
| 29 | +4. Auto-pick the remaining choices, honoring stated preferences. A preference the user already stated (conda, Docker, source build, Newton-only, a specific env name or directory) always wins and must not be re-asked. Otherwise pick without asking: the docs-Recommended method (automatic uv from the checkout); uv if present, else conda if present, else the docs' uv install step; install into the current checkout with the docs-default env name. |
| 30 | +5. Read the routed section of `index.rst` (and any `.inc` fragments it includes) from the checkout and extract its commands verbatim for this platform. Do not paraphrase, reorder, or substitute steps. |
| 31 | +6. Show one consolidated confirmation: detected system in two or three lines, chosen method and why, the exact commands in order, which steps need sudo, and rough download size. Ask one go/no-go question. This is the only question in the flow. |
| 32 | +7. On yes, execute every step in order without further prompts, streaming output and appending everything to `~/.isaaclab/logs/install-<timestamp>.log`. Announce sudo steps as they run; the password prompt is expected, not a question. On the "Downloaded Isaac Sim package" route only, pause at the manual Isaac Sim download step with the URL from the docs section and resume when the user confirms — the one unavoidable manual step. |
| 33 | +8. On a step failure, check the failure routing table in [reference.md](reference.md), apply at most one documented fix, and retry the step once. If it still fails, stop and hand off to `isaaclab-setup-troubleshooting` with the log path. |
| 34 | +9. Run the docs-defined minimal verification command for the chosen method, then hand over: how to activate the env, how to run a first demo from the docs quickstart, and the log file path. Save a short summary of facts, route, and commands run to `~/.isaaclab/install_profile.yaml` for reproducibility. |
| 35 | + |
| 36 | +## Validation |
| 37 | + |
| 38 | +Use this checklist: |
| 39 | + |
| 40 | +1. Preflight detection ran before any state-changing command, and blockers were empty or resolved by the user. |
| 41 | +2. The chosen route matches the comparison table in `docs/source/setup/installation/index.rst` for the detected platform, driver, and GLIBC — with minimums read from the checkout docs, not memory. |
| 42 | +3. Any preference the user stated in their request was honored without re-asking. |
| 43 | +4. Exactly one confirmation question was asked before execution (plus the binary-download pause when on the binary route). |
| 44 | +5. Commands came verbatim from the routed install page in the checkout. |
| 45 | +6. The docs-defined minimal verification command ran before any examples, training, or rendering. Use the command documented by the chosen install page — for binary installs, that's the bundled-Python verification on the binary page (not `uv run`); for Docker installs, run the documented verification inside the container. |
| 46 | +7. If verification fails, hand off to `isaaclab-setup-troubleshooting` with the install log path. |
| 47 | + |
| 48 | +For skill changes, run: |
| 49 | + |
| 50 | +```bash |
| 51 | +uv run --no-project python tools/skills/cli.py check |
| 52 | +``` |
| 53 | + |
| 54 | +## Maintenance |
| 55 | + |
| 56 | +Keep this skill synchronized with the following install docs. If commands or version pins change in the docs, update the docs, not this skill: |
| 57 | + |
| 58 | +- `docs/source/setup/installation/index.rst` — the installation entrypoint. Every install method is a section on this page with a stable ref anchor. Contains "System requirements" (driver minimums, GLIBC, Python, OS support), the method-picker cards, and the per-method command sequences. |
| 59 | +- `docs/source/setup/installation/uv_run_details.inc` — steps included by `installation-method-uv`. |
| 60 | +- `docs/source/setup/installation/legacy_installer_details.inc` — steps included by `installation-legacy-installer` (Newton-only default without Isaac Sim). |
| 61 | +- `docs/source/setup/installation/pip_details.inc` — steps included by `installation-method-python-env` (managed venv/conda + pip Isaac Sim). |
| 62 | +- `docs/source/setup/installation/wheel_details.inc` — steps included by `installation-method-wheel` (Isaac Lab Python package for external projects). |
| 63 | +- `docs/source/setup/installation/binaries_details.inc` — steps included by `installation-method-binary` (downloaded Isaac Sim package). |
| 64 | +- `docs/source/setup/installation/source_details.inc` — steps included by `installation-method-source` (Isaac Sim source build). |
| 65 | +- `docs/source/setup/installation/asset_caching_details.inc` — asset caching notes. |
| 66 | +- `docs/source/setup/installation/include/` — verification and shared helper snippets. |
| 67 | +- `docs/source/features/docker_cloud.rst` — Docker and cloud-workstation deep dive; complements `installation-method-container` and `installation-method-cloud` in `index.rst`. |
| 68 | +- `docs/source/refs/troubleshooting.rst` — hand-off target for post-install diagnostics. |
| 69 | + |
| 70 | +This skill is a router and executor, not a copy of the install pages. Adding install methods, changing version pins, or updating command sequences belongs in the docs above, not in this file. |
| 71 | + |
| 72 | +## References |
| 73 | + |
| 74 | +- [Evaluations](evaluations.md) |
| 75 | +- [Reference](reference.md) |
| 76 | +- [Examples](examples.md) |
| 77 | +- Installation entrypoint: `docs/source/setup/installation/index.rst` |
| 78 | +- Automatic setup with uv (docs-Recommended): section `installation-method-uv` in `index.rst` |
| 79 | +- Legacy isaaclab.sh installer (Newton-only default): section `installation-legacy-installer` in `index.rst` |
| 80 | +- Python environment with Isaac Sim (venv/conda + pip): section `installation-method-python-env` in `index.rst` |
| 81 | +- Isaac Lab Python package (external projects): section `installation-method-wheel` in `index.rst` |
| 82 | +- Downloaded Isaac Sim package (older distros): section `installation-method-binary` in `index.rst` |
| 83 | +- Isaac Sim source build: section `installation-method-source` in `index.rst` |
| 84 | +- Docker and HPC clusters: section `installation-method-container` in `index.rst`, deep-dive in `docs/source/features/docker_cloud.rst` |
| 85 | +- Cloud workstations: section `installation-method-cloud` in `index.rst` |
| 86 | +- Troubleshooting: `docs/source/refs/troubleshooting.rst` |
| 87 | +- Cross-skill hand-off for post-install issues: `isaaclab-setup-troubleshooting`. |
0 commit comments