Main entry point for configuring and diagnosing all development tools in China's network environment. Detects installed tools (pip/uv/poetry, npm/yarn/pnpm,...
One-stop configuration and diagnostics for all development tools in China. Diagnose first, then apply fixes.
All setup scripts are bundled under this skill's scripts/ directory as resources — they are not loaded into context but invoked via bash.
1. Determine SKILL_DIR
All script paths are relative to this skill's directory:
SKILL_DIR="<absolute path to skills/bootstrap-china-network>"
Use the directory where this SKILL.md resides.
2. Diagnose (if user wants diagnostics or troubleshooting)
If the user wants to diagnose their environment, check what's configured, or understand why things are slow:
bash "$SKILL_DIR/scripts/diagnose.sh"
This will:
After diagnostics, review the recommendations and offer to apply fixes for unconfigured tools.
3. Quick environment scan (for direct configuration)
# Detect installed tools
for tool in pip uv npm yarn pnpm docker cargo go conda flutter brew; do
which $tool 2>/dev/null && echo "✓ $tool" || true
done
# Check proxy conflicts
[[ -n "$HTTP_PROXY$HTTPS_PROXY$http_proxy$https_proxy" ]] && echo "⚠️ Proxy detected"
4. Check for proxy conflicts
If HTTP_PROXY or HTTPS_PROXY is set, warn the user:
Proxy environment variables are set. In China, using a VPN/proxy alongside mirrors can cause conflicts. Consider:
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
5. Apply mirror configurations
For each detected tool, run the corresponding script. Ask the user for preferences or use sensible defaults:
| Tool | Script (relative to SKILL_DIR) | Default Mirror |
|---|---|---|
| pip/uv/poetry | scripts/python/setup.sh | tuna |
| npm/yarn/pnpm | scripts/node/setup.sh | npmmirror |
| APT (Ubuntu/Debian) | sudo scripts/apt/setup.sh | tuna |
| Docker CE + Hub | sudo scripts/docker/setup.sh | tuna |
| Homebrew | scripts/homebrew/setup.sh | tuna |
| Conda/Anaconda | scripts/conda/setup.sh | tuna |
| Cargo/Rust | scripts/rust/setup.sh | ustc |
| Go modules | scripts/go/setup.sh | goproxy |
| Flutter/Dart | scripts/flutter/setup.sh | tuna |
| GitHub Releases/Clone | scripts/github/setup.sh | tuna (支持 --proxy-clone 全局加速 clone) |
All scripts support these flags:
-m / --mirror <name> — choose mirror source-f / --force — force overwrite-d / --dry-run — preview changes without applying-y / --yes — skip confirmation promptsRun scripts for detected tools. Each script is idempotent — safe to run multiple times.
Example:
bash "$SKILL_DIR/scripts/python/setup.sh" --mirror tuna
bash "$SKILL_DIR/scripts/node/setup.sh" --mirror npmmirror
sudo bash "$SKILL_DIR/scripts/apt/setup.sh" --mirror tuna
6. Verify configurations
After applying, run a quick verification for each configured tool:
pip config get global.index-url 2>/dev/null
npm config get registry 2>/dev/null
go env GOPROXY 2>/dev/null
cat ~/.cargo/config.toml 2>/dev/null | grep index
7. Provide summary
Report:
bash "$SKILL_DIR/scripts/restore_config.sh" --tool <name> --latestIf the user wants to preview changes first, add --dry-run to each script:
bash "$SKILL_DIR/scripts/python/setup.sh" --dry-run
bash "$SKILL_DIR/scripts/node/setup.sh" --dry-run
Backups are stored in ~/.china-mirror-backup/.
# Backup all tool configs
bash "$SKILL_DIR/scripts/backup_config.sh" --all
# Backup specific tool
bash "$SKILL_DIR/scripts/backup_config.sh" --tool pip
# Restore latest backup for a tool
bash "$SKILL_DIR/scripts/restore_config.sh" --tool pip --latest
# List all backups
bash "$SKILL_DIR/scripts/restore_config.sh" --list
ZIP package — ready to use