用途:为每个仓库渲染自己的开发容器,各仓库独立文件,不涉及共享基础镜像。
主要产物:.devcontainer/devcontainer.json(VS Code/Cursor 打开的与 dev.sh 相同的 compose 服务)、.devcontainer/dck.toml(运行时、端口、层、agents 的真源)、docker/local/<service>/Dockerfile(基于官方镜像按 digest 固定,含 Neovim、DeepWorkPlan Vim --strict、Herdr、gh、herdr-peers,按需启用 agents 层)、docker/local/<service>/dck/ 构建脚本、docker/local/docker-compose.yaml(服务、回环端口、命名卷、宿主 SSH agent)、dev.sh(入口,bash dev.sh up)。
用法:先读 dck doctor --json 确认接口 2;若缺少 dck,仅告知用户并展示固定安装命令,不要擅自安装: git clone --branch v1.0.0 https://github.com/DailybotHQ/devcontainer-kit ./devcontainer-kit/install.sh 检测仓库并提出 service、runtime、端口、ssh/Herdr、agents、extras 等取值,展示后先确认再写。渲染用: dck init --dry-run --flavour <flavour> --port <name>=<port> [--agents --clis "<kinds>"] dck init --flavour <flavour> --port <name>=<port> [--agents --clis "<kinds>"] 用户同意 diff 后再加 --yes;dck init 保留其标记块之外的内容。验证需在同一共享机上一次只跑一个构建并加锁: lock="${DCK_BUILD_LOCK:-/tmp/dck-build.lock}" until mkdir "$lock" 2>/dev/null; do sleep 30; done trap 'rmdir "$lock"' EXIT docker build -t dck-check:<service> docker/local/<service> 随后在容器内检查 nvim、git 描述、herdr、herdr-peers,含 agents 时执行 ak doctor --json。构建或检查失败即失败,需报告错误。
适用场景:需为单仓库生成可复现、按 digest 固定、经真实构建验证的开发容器与环境。
限制与规则:不得在宿主安装、不写真实 HOME;不拼写 coding-agent 自主标志、不移除用户的 AGENTKIT_PERMISSIONS=ask;不将下载管道进 shell,git clone 固定 tag;不挂载宿主 ~/.ssh 或 ~/.gitconfig,不复制私钥;未经用户要求不将端口发布到回环之外。写入范围仅 .devcontainer/、docker/local/、dev.sh 与 .gitignore 块,且须经 dck init 在用户同意后进行;绝不推送镜像、docker system prune 或删除卷。容器内通过 ak 启动的 agents 默认自主运行(容器即沙箱),可用 docker/local/<service>/.env 中 AGENTKIT_PERMISSIONS=ask 退出。Git over SSH 使用宿主 SSH agent,不复制密钥。首次 dev.sh up 后按 README 验收清单核对。