用途:判断当前机器能否继续执行相关开发任务,不能时基于现有能力尽量自动补齐。基础版本要求 Java/Javac 主版本 25 或以上,Maven 3.9.10 或以上。
使用方式:先确认办公地(重庆用 --office cq,北京用 --office bj),未确认时只做诊断和非 hosts 修复。先运行 report 模式诊断,返回码 2 表示环境未就绪而非脚本异常:python3 scripts/bootstrap_env.py --mode report --office cq。确认后运行 apply 模式修复:python3 scripts/bootstrap_env.py --mode apply --office cq。仅当后续任务要操作内部平台时才加 --install-internal-clis。修复后再运行一次 report 输出最终状态。
主要能力:识别操作系统、平台、架构、Shell、PATH、home、hosts 路径;识别 git、python3、node、npm、npx、pipx、jq、rg、mvn、pnpm、java、javac、curl、wget、sudo 等工具;识别 SDKMAN 与 brew、apt-get、dnf、yum、pacman、zypper、winget、choco 等包管理器;扫描 eliteforge-* skill 的 ## Environment Variables 章节,只报告变量名与缺失状态,不打印变量值;尝试安装必备命令,Java/Javac 与 Maven 优先经 SDKMAN,失败再退回系统包管理器;通过 pipx 安装 pre-commit;配置 ~/.npmrc 与 ~/.pip/pip.conf 私有源;检查 Git 全局配置(user.name、user.email 非占位符,init.defaultBranch=master 等);按办公地维护 /etc/hosts。
参数:--mode report|apply、--office cq|bj、--package-manager、--home-dir、--hosts-file、--skills-root、--skip-install、--install-internal-clis。
限制与安全:不硬编码、提交或打印密码与 Token;Git 身份需用户手动执行 git config --global user.name 与 user.email;hosts 同域名已指向其他 IP 时不覆盖并报告冲突,只维护脚本标记块;需交互式 sudo、管理员权限、账号开通或项目授权时报告阻塞,不伪造安装成功;git.cisdigital.cn 优先 HTTPS,禁止要求改用 SSH。输出需覆盖 system、SDKMAN、package manager、tools、hosts、npm/pip mirrors、git global config、git https rewrite、pipx packages、skill_env_vars、remaining blockers。