About live-dev-init
live-dev-init is a development skill that prepares an environment and checks prerequisites before deployment or configuration work. It covers toolchain readiness, project state, and strict handling of secrets.
Key features
- 01Preflight checks for required tools
- 02Node version validation
- 03Project files and branch repair
- 04Secret storage and commit safeguards
Use cases
- 01Preparing a repository before deployment
- 02Checking local tools and authentication
- 03Preventing secrets from entering commits
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ drgarbage/ ag-course-index --skill live-dev-initAfter installing, type/live-dev-initin Claude Code to confirm it loaded.
Bundled filesREADME.md
Details
From the project READMElive-dev-init
This skill initializes the development environment and performs preflight checks before any other deployment or configuration tasks are run.
bash blocks are POSIX (Git Bash on Windows). Any logic beyond one command/pipe lives in resources/*.js (if applicable), never in shell control flow. If your Bash tool is cmd.exe or PowerShell, translate each snippet before running it.
1. Preflight (run silently, before planning)
| Check | Probe | On fail |
|---|---|---|
| git, gh | command -v git, command -v gh, gh auth status | run scripts/install-git-gh-macos.command | scripts/install-git-gh-windows.ps1. Never improvise install steps. |
| node | node --version ≥ scripts/toolchain/catalog.json:node_lts_major | scripts/course-toolchain-macos.command base | scripts/course-toolchain-windows.ps1 -Profile base |
| vercel, firebase | npx vercel whoami, npx firebase login:list | npm install -D vercel@latest firebase-tools (never -g: EACCES). Login must pass before setting up config or deploying. |
| gitleaks | command -v gitleaks | install per table below, re-probe, never skip the scan gate |
| OS | Install | Fallback |
|---|---|---|
| macOS | brew install gitleaks — brew may NOT exist (course installer uses Xcode CLT + curl, not brew) | curl latest release gitleaks_*_darwin_$(uname -m).tar.gz → extract to ~/.local/bin (mkdir + append to shell profile if absent). No sudo, no /usr/local/bin. |
| Windows | winget install gitleaks.gitleaks | download gitleaks_*_windows_x64.zip → extract gitleaks.exe → %USERPROFILE%\bin → setx PATH "%PATH%;%USERPROFILE%\bin". ~/.local/bin and shell profiles do not apply here. |
Then repair project state:
| File / state | Required value | Note |
|---|---|---|
.nvmrc | catalog.json:node_lts_major | Sole source of truth. resources/vercel-preview.yml reads node-version-file: '.nvmrc' — never hardcode a Node major in the yml. |
.gitignore | .env, .env.local, .env*.local, service-account JSON glob | Repair before the first commit ever exists — the vault policy assumes these are ignored. |
| branch | develop exists (else propose from main); work on feature/<name> off develop |
Secret Vault Policy (hard rule, no override). Credentials live only in Vercel Env Vars / GitHub Secrets / gitignored .env.local. Never hardcode in code, never commit real .env values, never print a real secret to chat, logs, or commit messages.