MCP HubMCP Hub
Volver a habilidades

setup-wsl-dev-environment

pjt222
Actualizado 5 days ago
6 vistas
17
2
17
Ver en GitHub
Desarrolloautomation

Acerca de

Esta habilidad automatiza la configuración de un entorno de desarrollo integral con WSL2 en Windows, incluyendo la configuración del shell, Git, claves SSH, Node.js y Python. Es ideal para la configuración inicial de la máquina, configurar WSL2 por primera vez o mejorar una instalación existente con herramientas esenciales. La configuración también gestiona rutas multiplataforma para integrar los flujos de trabajo de herramientas de WSL y Windows.

Instalación rápida

Claude Code

Recomendado
Principal
npx skills add pjt222/agent-almanac -a claude-code
Comando PluginAlternativo
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternativo
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/setup-wsl-dev-environment

Copia y pega este comando en Claude Code para instalar esta habilidad

Documentación

設定 WSL 開發環境

完整配置 WSL2 開發環境,以行跨平台之事。

適用時機

  • 新置 Windows 機器以供開發
  • 首次配置 WSL2
  • 為既有 WSL 安裝添加開發工具
  • 設立跨平台工作流(WSL 與 Windows 工具並用)

輸入

  • 必要:Windows 10/11 且支援 WSL2
  • 選擇性:偏好之 Linux 發行版(預設:Ubuntu)
  • 選擇性:欲設之語言(Node.js、Python、R)
  • 選擇性:附加工具(Docker、tmux、fzf)

步驟

步驟一:安裝 WSL2

於 PowerShell(管理員)中:

wsl --install
wsl --set-default-version 2

如有提示則重啟。Ubuntu 為預設安裝。

預期: 重啟後,wsl --list --verbose 顯示發行版運行於 WSL 第二版。wsl 指令開啟 Linux shell。

失敗時: 若 WSL2 安裝失敗,透過 optionalfeatures.exe 手動啟用「虛擬機平台」與「適用於 Linux 的 Windows 子系統」之 Windows 功能。於較舊之 Windows 10 版本,可能需自微軟取得核心更新。

步驟二:配置 WSL 資源限制

於 Windows 家目錄中建立 ~/.wslconfig

[wsl2]
memory=8GB
processors=4
localhostForwarding=true

預期: .wslconfig 文件存於 Windows 用戶家目錄(例:C:\Users\Name\.wslconfig)。執行 wsl --shutdown 並重啟 WSL 後,資源限制即生效。

失敗時: 若配置無效,驗證文件位於正確位置(Windows 家目錄,非 WSL 家目錄)。執行 wsl --shutdown 並重開 WSL 以使變更生效。

步驟三:更新並安裝必備項

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

建立有用之別名:

echo 'alias fd="fdfind"' >> ~/.bashrc

預期: 所有套件無誤安裝。git --versionjq --versionrg --versiontree 等指令皆可成功執行。

失敗時:apt install 失敗,先執行 sudo apt update 以更新套件清單。對於找不到之套件,檢查當前 Ubuntu 版本是否支援,或自其他來源安裝(如 snap、cargo 或手動下載)。

步驟四:配置 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

預期: git config --list 顯示正確之用戶名、電郵、預設分支(main)、autocrlf(input)與編輯器設定。

失敗時: 若設定未生效,驗證已用 --global(非僅作用於當前倉庫之 --local)。檢查 ~/.gitconfig 是否含預期條目。

步驟五:設立 SSH 金鑰

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

測試:ssh -T [email protected]

預期: ssh -T [email protected] 回應「Hi username! You've successfully authenticated.」SSH 金鑰對存於 ~/.ssh/id_ed25519~/.ssh/id_ed25519.pub

失敗時: 若驗證失敗,確認公鑰已加至 GitHub(Settings > SSH and GPG keys)。檢查 ssh-agent 是否運行,並以 ssh-add -l 確認金鑰已載入。若代理未運行,於 ~/.bashrc 加入 eval "$(ssh-agent -s)"

步驟六:安裝 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

預期: node --versionnpm --version 回傳當前 LTS 版本。nvm ls 顯示所裝版本標為預設。

失敗時: 若安裝後找不到 nvm,執行 source ~/.bashrc 或開新終端。若安裝腳本失敗,審視腳本內容後手動下載並執行。

步驟七:安裝 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

預期: python --version 回傳 Python 3.12.x。pyenv versions 顯示所裝版本設為全域。

失敗時:pyenv install 因建置錯誤而失敗,確保 apt install 指令中所有建置依賴皆已安裝。缺少程式庫(尤其 libssl-devzlib1g-dev)為 Python 建置失敗最常見之因。

步驟八:配置 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"

預期: 執行 source ~/.bashrc 後,所有別名(llla..dev)皆可運作,mkcd 函式可建立並進入目錄,$DEV_HOME 指向開發目錄。

失敗時: 若別名不可用,驗證已附加至 ~/.bashrc(非 ~/.bash_profile~/.profile)。執行 source ~/.bashrc 以重載而無需開新終端。

步驟九:設立 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

預期: which claude 回傳 Claude Code CLI 二進位之路徑(例:~/.claude/local/node_modules/.bin/claude)。執行 claude --version 印出所裝版本。

失敗時: 若找不到 claude,驗證 PATH 匯出已加入 ~/.bashrc 並已 source。檢查 Claude Code 是否確實安裝於 ~/.claude/local/。若未安裝,先依 Claude Code 安裝指引行事。

步驟十:跨平台路徑對照

WindowsWSL
C:\Users\Name/mnt/c/Users/Name
D:\dev\projects/mnt/d/dev/projects
%APPDATA%/mnt/c/Users/Name/AppData/Roaming

自 WSL 開啟 Windows 檔案總管:explorer.exe .

預期: 已理解並驗證路徑轉換表:自 WSL 存取 Windows 路徑可行(如 ls /mnt/c/Users/),且 explorer.exe . 可開啟 Windows 檔案總管至當前 WSL 目錄。

失敗時: 若無法存取 /mnt/c/,驗證 WSL 之 automount 已配置。檢查 /etc/wsl.conf[automount] 設定。若掛載點陳舊,執行 wsl --shutdown 並重啟。

驗證

  • WSL2 以正確發行版運行
  • Git 已配置正確身份
  • SSH 金鑰已加至 GitHub 且連線已驗證
  • Node.js 已安裝且可運作
  • Python 已安裝且可運作
  • Shell 別名與函式皆可運作
  • Claude Code CLI 可存取

常見陷阱

  • /mnt/ 上文件存取緩慢:將頻繁存取之專案置於 WSL 檔案系統(~/)以求更佳效能。/mnt/ 用於與 Windows 工具共享之專案。
  • 行尾換行core.autocrlf=input 可避 CRLF 問題。配置編輯器使用 LF。
  • 權限問題/mnt/ 上之文件可能顯示錯誤權限。於 /etc/wsl.conf 加入:[automount]\noptions = "metadata,umask=22,fmask=11"
  • Windows Defender:將 WSL 目錄排除於即時掃描之外以求更佳效能。

相關技能

  • configure-git-repository — Git 倉庫詳細設置
  • configure-mcp-server — MCP 設置需 WSL 環境
  • write-claude-md — 為專案配置 AI 助手

Repositorio GitHub

pjt222/agent-almanac
Ruta: i18n/wenyan-lite/skills/setup-wsl-dev-environment
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Habilidades relacionadas

qmd

Desarrollo

qmd es una herramienta CLI de búsqueda e indexación local que permite a los desarrolladores indexar y buscar en archivos locales mediante búsqueda híbrida que combina BM25, embeddings vectoriales y reranking. Es compatible tanto con uso desde la línea de comandos como con modo MCP (Model Context Protocol) para integración con Claude. La herramienta utiliza Ollama para los embeddings y almacena los índices localmente, lo que la hace ideal para buscar documentación o bases de código directamente desde la terminal.

Ver habilidad

subagent-driven-development

Desarrollo

Esta habilidad ejecuta planes de implementación asignando un nuevo subagente para cada tarea independiente, con revisión de código entre tareas. Permite una iteración rápida mientras mantiene controles de calidad a través de este proceso de revisión. Úsala cuando trabajes en tareas mayormente independientes dentro de la misma sesión para garantizar un progreso continuo con verificaciones de calidad integradas.

Ver habilidad

mcporter

Desarrollo

La habilidad mcporter permite a los desarrolladores gestionar y llamar servidores del Protocolo de Contexto de Modelo (MCP) directamente desde Claude. Proporciona comandos para listar servidores disponibles, llamar a sus herramientas con argumentos, y manejar la autenticación y el ciclo de vida del daemon. Utiliza esta habilidad para integrar y probar la funcionalidad de servidores MCP en tu flujo de trabajo de desarrollo.

Ver habilidad

adk-deployment-specialist

Desarrollo

Esta habilidad despliega y orquesta agentes Vertex AI ADK utilizando el protocolo A2A, gestionando el descubrimiento de AgentCard, el envío de tareas y soportando herramientas como el Sandbox de Ejecución de Código y el Banco de Memoria. Permite construir sistemas multiagente con patrones de orquestación secuencial, paralela o en bucle en Python, Java o Go. Úsela cuando se le solicite desplegar agentes ADK u orquestar flujos de trabajo de agentes en Google Cloud.

Ver habilidad