Skip to content
Back to skills

Add Dev Environment Setup

CSecurity

Use when Node, git or gh CLI are missing, or Node is older than 22.19.0 — detects OS, diagnoses gaps, installs missing tools.

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
developmentshellbashnodenodejsgit

Works with

  • vscode
  • terminal
  • cli

Security analysis

C71/100
  • criticalPipes output to a shell interpreter
  • mediumUses curl or wget to download content
  • criticalDownloads and executes remote scripts — classic supply chain attack

Pro shows the line behind each finding and how to fix it

Scanned October 7, 2026

npx -y skills add brabos-ai/code-addiction --skill add--dev-environment-setup --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Dev Environment Setup?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add  Dev Environment Setup
[![Security: C — Skills Directory](https://www.skillsdirectory.com/api/skills/brabos-ai-add-dev-environment-setup/badge)](https://www.skillsdirectory.com/skills/brabos-ai-add-dev-environment-setup)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: add--dev-environment-setup
description: Use when Node, git or gh CLI are missing, or Node is older than 22.19.0 — detects OS, diagnoses gaps, installs missing tools.
---

# Dev Environment Setup

<!-- uses:
- script: status.cjs
-->

## Overview

Detect OS → diagnose silently → confirm → install → verify.
**Node (>=22.19.0) is the one runtime every shipped entry needs — no Bash, WSL or Git Bash. Never
assume what's installed. Never install without confirmation. Never overwrite settings.json.**

---

## When to Use

- User asks about environment setup or "how do I run the scripts"
- `node`, `git`, or `gh` not found
- Node is present but older than 22.19.0
- `status.cjs` fails because Node is missing or too old

## When NOT to Use

- All tools already installed and verified
- Container or CI environment (ephemeral; tools provisioned by image/workflow)

---

## ⛔ ABSOLUTE PROHIBITIONS

```
⛔ NEVER use Bash tool for sudo/apt/dnf/pacman/brew/curl|bash/gh auth login (hangs on password or interactive prompt)
⛔ NEVER overwrite .vscode/settings.json, or proceed after user says N
✅ ALWAYS show install commands in code blocks → user runs manually → verify with non-sudo `--version` checks
```

---

## STEP 1: DETECT OS (MANDATORY FIRST)

```bash
uname -s          # macOS → Darwin | Linux → Linux
$env:OS           # Windows PowerShell → Windows_NT
```

⛔ DO NOT proceed without `TARGET_OS = windows | macos | linux`.

---

## STEP 2: DIAGNOSE (silent — no prompts yet)

| Tool | Check | Note |
|------|-------|------|
| node | `node --version` | MUST be >= 22.19.0 — the shipped entries are native CommonJS and need no other runtime |
| git  | `git --version` | branches, worktrees and commits |
| gh   | `gh --version` | pull requests; optional if the user never opens one |

**No shell is a dependency.** Bash, WSL and Git Bash are not required to run any shipped entry:
`node .codeadd/scripts/<entry>.cjs` is the one invocation form on every platform.

---

## STEP 3: REPORT

Show what is missing vs already installed:

```
✅ node: v24.11.0 (>= 22.19.0)
❌ git: not found
✅ gh: installed
```

---

## STEP 4: CONFIRM

SAY: "I'll show you the commands to install. You run them in the terminal and let me know when you're done."

⛔ IF user says N → STOP.

---

## STEP 5: INSTRUCT USER TO INSTALL

⛔ DO NOT USE Bash tool for ANY command in this step.
⛔ ALL commands below are SHOWN to the user in code blocks — user copies and runs manually.
⛔ AFTER each sub-step, WAIT for user confirmation before proceeding to the next.
✅ AFTER user confirms execution → proceed to STEP 6 (VERIFY) using non-sudo checks.

### Windows

**5.1 — Node (>=22.19.0; Node 24 LTS recommended)**

SAY: "Run in PowerShell:"

```powershell
winget install OpenJS.NodeJS.LTS
```

If `winget` is unavailable, direct the user to the official installer at
<https://nodejs.org/en/download>. Open a NEW terminal after install so `node` reaches `PATH`.

**5.2 — git and gh**

```powershell
winget install --id Git.Git
winget install --id GitHub.cli
```

**5.3 — gh auth login**

SAY: "Run in the terminal:"

```bash
gh auth login
```

SAY: "Select: GitHub.com → HTTPS → Login with a web browser. Paste the code in the browser."

### Unix (macOS + Linux)

⛔ DO NOT USE Bash tool. SHOW all commands to user.

| OS | Install command |
|----|-----------------|
| macOS (Homebrew) | `brew install node git gh` (install Homebrew first if missing — see below) |
| Debian/Ubuntu | `sudo apt update && sudo apt install -y nodejs npm git curl` then the official gh repo (below) |
| Fedora/RHEL | `sudo dnf install -y nodejs git gh` |
| Arch | `sudo pacman -S nodejs npm git github-cli` |

**Node version matters.** A distro package older than 22.19.0 must be replaced by nvm or the
official installer:

```bash
# nvm — the version-manager route when the distro package is too old
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
nvm install --lts
```

```bash
# macOS — install Homebrew if missing
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```

After install, in all cases:

```bash
gh auth login
```

---

## STEP 6: VERIFY

✅ This step CAN use Bash tool — verification commands are non-sudo, non-interactive.

```bash
node --version && git --version && gh --version && echo "✅ All tools ready"
```

⛔ IF `node` is older than 22.19.0, or any tool is still missing → diagnose the installation error.
DO NOT declare success.

---

## Common Mistakes

| Mistake | Fix |
|---------|-----|
| Distro `nodejs` older than 22.19.0 | Replace it with nvm or the official installer — check `node --version` |
| `sudo apt-get install gh` | Use the official gh CLI repo — the apt version is outdated |
| `node` not found after install on Windows | Open a NEW terminal so `PATH` is refreshed |
| Overwriting settings.json | Always READ → MERGE → WRITE |
| Proceeding after user says N | Stop immediately, show manual commands only |
| Declaring success before verifying | Run STEP 6 first, including the Node floor |
| Running sudo/apt/brew via Bash tool | Agent hangs — sudo requires password. SHOW commands, user runs manually |
| Running `gh auth login` via Bash tool | Agent hangs — interactive prompt. SHOW command, guide user step by step |
| Running `curl \| bash` via Bash tool | Agent hangs — interactive installer. SHOW command, user runs manually |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.