docker-claude-skill

一个强制在Docker容器内执行Node.js/NPM命令的Claude技能,确保主机环境纯净。

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:docker-claude-skill。
它的用途是:一个强制在Docker容器内执行Node.js/NPM命令的Claude技能,确保主机环境纯净。
完整的 Skill 内容见:https://321skill.com/skills/docker-claude-skill/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

“请帮我安装这个项目的依赖。” 它会先检查Docker容器状态,然后自动执行 `docker exec my-project-dev-1 npm install` 来在容器内安装。或者你说:“运行一下测试。” 它会转换为 `docker exec my-project-dev-1 npm test` 来执行测试套件,确保测试环境与开发环境完全一致。

介绍

这个技能解决了开发者在本地主机上直接运行npm installnode等命令导致的全局依赖污染、环境不一致和潜在的安全问题。它通过强制所有包安装和代码执行都在Docker容器内完成,将开发环境与主机隔离。

使用时,你需要在项目根目录创建一个.claude/docker-config.json配置文件,指定容器名称、基础镜像等信息。之后,当你向Claude发出如“安装依赖”、“运行测试”等指令时,它会自动将命令转换为docker exec <容器名> <命令>的形式来执行,而非在主机上直接运行。

它非常适合需要保持主机环境干净、团队协作要求环境统一、或项目依赖复杂易冲突的开发者。无论是前端、后端还是全栈开发,只要项目基于Node.js生态,都可以从中受益。

建议在项目初期就配置此技能,并根据项目是否包含原生模块(如sqlite、sharp)来正确选择slimalpine基础镜像。对于已有项目,迁移时需注意清理主机上已有的node_modules,并确保Docker配置与项目现有的docker-compose.yml或Dockerfile兼容。

核心特点

与仅提供Docker命令参考的助手不同,此技能通过内置的“执行前检查”和“规则强制执行”机制,主动拦截并重写可能在主机上运行的`npm`、`node`等命令,从根本上杜绝环境污染,确保开发流程的规范性。

注意事项

不适合不需要Docker或环境隔离要求极低的超小型脚本项目,且要求用户已具备基础的Docker使用知识。

常见问题

项目里有原生模块(比如bcrypt)该选什么基础镜像?

选择 `node:xx-slim` 镜像(如 node:20-slim),因为它基于Debian,包含glibc,能兼容大多数原生模块。

如何知道我的命令是在容器里还是主机上运行的?

技能会进行“预检”,并在执行命令前明确提示将使用 `docker exec`。任何试图在主机直接运行node/npm的命令都会被拦截并建议转换。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/docker-claude-skill/raw/index.md 读取 docker-claude-skill 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。