setup-wsl-dev-environment
정보
이 스킬은 Windows에서 WSL2 개발 환경을 자동으로 설정하며, 셸 설정, 코어 도구, Git, SSH 키, Node.js 및 Python과 같은 언어 런타임을 구성합니다. 새로운 Windows/WSL 머신 초기화, 기존 설정에 도구 추가, 또는 크로스 플랫폼 워크플로 구축을 위해 설계되었습니다. 개발자들은 이를 통해 표준화되고 생산적인 개발 환경을 빠르게 부트스트랩할 수 있습니다.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-wsl-dev-environmentClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
Set Up WSL Dev Env
WSL2 dev env → cross-platform work.
Use When
- New Windows machine → dev setup
- First WSL2 config
- Add dev tools → existing WSL
- WSL + Windows tool workflows
In
- Required: Windows 10/11 w/ WSL2
- Optional: Linux distro (default: Ubuntu)
- Optional: Langs (Node, Python, R)
- Optional: Extra tools (Docker, tmux, fzf)
Do
Step 1: Install WSL2
PowerShell (Admin):
wsl --install
wsl --set-default-version 2
Reboot if asked. Ubuntu = default.
Got: wsl --list --verbose → distro under WSL v2. wsl → Linux shell.
If err: Install fails → enable "Virtual Machine Platform" + "Windows Subsystem for Linux" via optionalfeatures.exe. Old Win10 → kernel update from MS.
Step 2: WSL Resource Limits
~/.wslconfig in Windows home:
[wsl2]
memory=8GB
processors=4
localhostForwarding=true
Got: .wslconfig in Windows home (e.g. C:\Users\Name\.wslconfig). After wsl --shutdown + restart → limits applied.
If err: No effect → file in wrong dir (Windows home, not WSL home). wsl --shutdown + reopen.
Step 3: Update + Essentials
sudo apt update && sudo apt upgrade -y
sudo apt install -y \
build-essential \
curl \
wget \
git \
git-lfs \
vim \
htop \
tree \
jq \
ripgrep \
fd-find \
unzip \
zip
Aliases:
echo 'alias fd="fdfind"' >> ~/.bashrc
Got: All install. git --version, jq --version, rg --version, tree work.
If err: apt install fails → sudo apt update first. Pkg not found → check Ubuntu ver, alt sources (snap, cargo, manual).
Step 4: Git
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global init.defaultBranch main
git config --global core.autocrlf input
git config --global color.ui auto
git config --global core.editor vim
Got: git config --list → name, email, branch (main), autocrlf (input), editor.
If err: Not applied → used --local not --global. Check ~/.gitconfig.
Step 5: SSH Keys
ssh-keygen -t ed25519 -C "[email protected]"
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
cat ~/.ssh/id_ed25519.pub
# Add to GitHub: Settings > SSH and GPG keys
Test: ssh -T [email protected]
Got: ssh -T [email protected] → "Hi username! You've successfully authenticated." Keys at ~/.ssh/id_ed25519{,.pub}.
If err: Auth fails → pubkey added to GitHub? ssh-agent running? ssh-add -l → key loaded? Add eval "$(ssh-agent -s)" → ~/.bashrc.
Step 6: Node.js (nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
Got: node --version + npm --version → LTS. nvm ls → default marked.
If err: nvm not found → source ~/.bashrc or new term. Script fails → review + run manually.
Step 7: Python (pyenv)
# Install build dependencies
sudo apt install -y make libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev libncursesw5-dev xz-utils \
tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
curl https://pyenv.run | bash
# Add to ~/.bashrc
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv install 3.12
pyenv global 3.12
Got: python --version → 3.12.x. pyenv versions → set global.
If err: Build err → missing deps from apt install. libssl-dev | zlib1g-dev = most common cause.
Step 8: Shell
~/.bashrc:
# History
export HISTSIZE=10000
export HISTFILESIZE=20000
export HISTCONTROL=ignoredups:erasedups
shopt -s histappend
# Navigation aliases
alias ll='ls -alF'
alias la='ls -A'
alias ..='cd ..'
alias ...='cd ../..'
# Development paths
export DEV_HOME="/mnt/d/dev/p"
alias dev='cd $DEV_HOME'
# Functions
mkcd() { mkdir -p "$1" && cd "$1"; }
# PATH additions
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
Got: After source ~/.bashrc → aliases (ll, la, .., dev) work, mkcd creates+enters, $DEV_HOME set.
If err: Aliases missing → check appended to ~/.bashrc (not ~/.bash_profile | ~/.profile). source ~/.bashrc.
Step 9: Claude Code CLI
# Add Claude CLI to PATH (after installation)
echo 'export PATH="$HOME/.claude/local/node_modules/.bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Verify
which claude
Got: which claude → path (e.g. ~/.claude/local/node_modules/.bin/claude). claude --version → ver.
If err: Not found → PATH export in ~/.bashrc + sourced? Installed at ~/.claude/local/? Else install first.
Step 10: Cross-Platform Paths
| Windows | WSL |
|---|---|
C:\Users\Name | /mnt/c/Users/Name |
D:\dev\projects | /mnt/d/dev/projects |
%APPDATA% | /mnt/c/Users/Name/AppData/Roaming |
Explorer from WSL: explorer.exe .
Got: Path table understood + tested (ls /mnt/c/Users/, explorer.exe . opens current dir).
If err: /mnt/c/ inaccessible → automount config? /etc/wsl.conf [automount]. wsl --shutdown + restart.
Check
- WSL2 running w/ correct distro
- Git config'd w/ identity
- SSH key on GitHub + verified
- Node.js works
- Python works
- Shell aliases + funcs work
- Claude Code CLI accessible
Traps
- Slow
/mnt/access: Hot projects → WSL fs (~/)./mnt/only for Windows-shared. - Line endings:
core.autocrlf=inputprevents CRLF. Editors → LF. - Permissions:
/mnt/shows wrong perms →/etc/wsl.conf[automount]\noptions = "metadata,umask=22,fmask=11". - Windows Defender: Exclude WSL dirs from real-time scan.
→
configure-git-repository— Git repo setupconfigure-mcp-server— MCP needs WSL envwrite-claude-md— configure AI assistant
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
