用途:该技能用于仓库根目录尚无 okteto.yaml 或 okteto.yml、且用户希望把项目接入 Okteto(例如“把这个仓库放到 Okteto”“为它搭建开发环境”“创建 Okteto 清单”)时,自动探测项目结构并生成清单。若根目录已存在清单,或用户只是询问如何用现有清单,则不启用,改由现有 okteto 技能处理。启动前会先执行 ls okteto.yaml okteto.yml 2>/dev/null 做预检查。
主要能力:分阶段工作。发现阶段(Phase 1)按优先级读取信号:docker-compose.yml/compose.yaml、现有 Helm chart、k8s 清单、各服务 Dockerfile、语言清单(package.json、go.mod、pom.xml、pyproject.toml、Gemfile、Cargo.toml)、Procfile/Makefile,构建服务、构建上下文、端口、开发命令与部署产物的内部模型,并支持 compose 字段到 Okteto 清单字段的映射。协商阶段(Phase 2)在自适应阶梯上选择范围:Level 1 仅 dev:,Level 2 为 build:+deploy:+dev:,Level 3 增加 test:;并依据是否发现部署来源与测试给出推荐。草拟阶段(Phase 3–4)在仓库根目录写出 okteto.yaml,包含头部注释、build:、deploy:、dev:、test: 等区块,并给非显然选择加行内注释。
使用方式:有协作(默认,用户参与)与自主(无人值守,开 PR)两种模式。信息不足时一次只问一个针对性问题;自主模式则取最保守解释并在 PR 中标注歧义。
适用场景:将无清单的仓库接入 Okteto、生成部署与开发环境配置、为已有 compose/Helm/k8s 项目补充 dev: 或 test: 配置。
限制:不修改已有 chart 或 k8s 清单;无法确定部署来源或多个 compose 文件时需用户确认;语言清单未声明版本时不臆造具体次版本。