Taubyte CLI prerequisites (hard gate)
Purpose
Run this skill
before any other Taubyte skill. It ensures
Node.js,
Docker (engine running — needed for
Dream, inject, and local container workflows),
/
, and (when GitHub work is in scope)
authenticated profile are in place.
Stop conditions (read first)
| Situation | Action |
|---|
| Node missing and cannot be installed from this environment | Stop; give OS-specific install instructions; do not run without . |
| Docker missing, daemon not running, and cannot be fixed from this environment | Stop; give install/start instructions (see Docker section). |
| GitHub-backed work needed but no profile / login incomplete | Stop; follow (browser login hard stop applies there). |
| or still broken after install attempts | Stop; log attempts in (or project context log per ). |
Workflow order
- Node.js — detect; install automatically when possible (see §1).
- Docker — detect CLI + daemon; install or start when possible (see §2).
- / — detect; install from npm packages when missing (see §3).
- / profile — for all login policy; quick gate here (see §4).
- Verify after any install (see §5).
1. Node.js
Detect
bash
command -v node >/dev/null 2>&1 && node --version
command -v npm >/dev/null 2>&1 && npm --version
If is missing or fails
Prefer installing Node for the user when the environment supports it (network, permissions, non-interactive package managers):
-
Windows (e.g.
available):
bash
winget install -e --id OpenJS.NodeJS.LTS --accept-package-agreements --accept-source-agreements
-
-
Linux (Debian/Ubuntu family, when
is usable):
bash
sudo apt-get update && sudo apt-get install -y nodejs npm
If automated install
fails, is
blocked (no sudo, no winget/brew, CI sandbox), or the OS is
unclear,
stop and ask the user to install
Node.js LTS from
https://nodejs.org/ (or their distro’s Node LTS packages), then
open a new terminal and rerun this skill.
Do not run
or
until
and
work.
2. Docker
Docker is required for
Dream,
, and other
local container-backed Taubyte flows (see
taubyte-dream-local-operations
,
). You need both the
CLI and a
running daemon (
succeeds).
Detect
bash
command -v docker >/dev/null 2>&1 && docker version
docker info
- If is not in PATH → treat as not installed; try install workflow below.
- If fails with connection / daemon errors but shows a client → the engine is stopped or the user lacks permission. Prefer starting Docker Desktop (Windows/macOS) or
sudo systemctl start docker
(Linux), or sudo usermod -aG docker $USER
+ re-login when the error is permission-related. Do not assume a fresh install fixes a stopped daemon.
Install when the CLI is missing (automate when possible)
-
bash
winget install -e --id Docker.DockerDesktop --accept-package-agreements --accept-source-agreements
After install, the user may need to
start Docker Desktop once (or reboot). Re-run
after they confirm it is running.
-
bash
brew install --cask docker
Then start
Docker Desktop from Applications and re-check
.
-
Linux (Debian/Ubuntu, when
+ sudo work):
bash
sudo apt-get update && sudo apt-get install -y docker.io
sudo systemctl enable --now docker
If builds still fail with permission errors, document
sudo usermod -aG docker <user>
and logging out/in, or use
only to confirm the daemon — long-term, the user should be in the
group.
If install is
not possible (no admin, winget/brew/apt unavailable, headless policy),
stop and point the user to
https://docs.docker.com/get-docker/ for
Docker Engine or
Docker Desktop, then rerun this skill once
works.
3. Taubyte CLIs on npm ( scope)
Official
and
Dream packages are published on npm under the
organization, for example:
- — provides the command (wrapper downloads the platform binary as needed).
- — local cloud / Dream CLI.
Detect
bash
command -v tau >/dev/null 2>&1 && tau version
command -v dream >/dev/null 2>&1 && (dream --version || dream --help) || true
If
fails but Node works, a broken shell
alias may point to a missing binary. Try:
bash
node "$(npm root -g)/@taubyte/dream/index.js" --help
Install when missing (Node + npm must work)
Default: global npm:
bash
npm i -g @taubyte/cli
npm i -g @taubyte/dream
Alternative (e.g. npm global path blocked):
bash
curl https://get.tau.link/cli | sh
curl https://get.tau.link/dream | sh
If install fails, stop immediately (see stop conditions).
4. Auth and (defer to )
Any flow that touches
GitHub (clone,
,
, generated repos) needs a valid Taubyte
profile and GitHub auth.
Do not improvise login policy here. Load and follow
for:
- , , , ,
- Browser-based login (tell user, stop until done — see that skill)
- Non-interactive patterns with
Minimal gate check in this skill only:
Inspect
Profile (and cloud if needed). If there is
no profile and the upcoming work
requires GitHub, apply
and do
not continue to project create, push, import, or website repo operations until auth is resolved.
If the user refuses or cannot complete required login, stop the Taubyte workflow.
5. Verify after installs
bash
node --version
npm --version
docker version
docker info
tau version
dream --version || dream --help || node "$(npm root -g)/@taubyte/dream/index.js" --help
Hard stops (summary)
- No Node (and install not possible or failed): stop; no global npm installs.
- No working Docker (CLI missing and install failed, or daemon not running / no permission after user guidance): stop before Dream / inject / local container work.
- GitHub work without completed auth per : stop.
- / still failing after install: stop; log diagnostics to .
- Do not proceed to cloud / project / resource operations until this gate passes.