SuperAPI AI 工具集

kmcp-dev-build-test

部署与运维

查看项目

更新于 10-15 22:40

技能介绍

用途:为 kairos-mcp 仓库提供权威的构建、部署与测试执行路径,适用于需要构建、部署或测试该仓库的场景。仓库要求 Node 24 LTS 及以上,使用 TypeScript、Qdrant、Redis,可选 Keycloak。

主要能力与规则:在 git worktree 中需确保 .env* 存在或从 main 复制,且 PORT / METRICS_PORT 不与同主机其他检出冲突;首次构建/测试前始终用 npm ci 安装依赖;测试前必须先部署,因为集成测试依赖运行中的 dev 栈;构建、部署、测试、lint 只以 npm 脚本作为默认接口;迭代时优先只跑一个集成文件,再扩大范围。

规范流程:npm ci;npm run dev:deploy(CI=true 时导入 Qdrant 测试快照);npm run dev:test -- tests/integration/<file>.test.ts(迭代);npm run dev:test(PR 前/交接);npm run handoff(需要完整维护者验证时)。

硬性限制:不得将直接 Jest 调用(npx jest、jest …、node …/jest.js)作为默认路径,应使用 npm run dev:test(可带文件过滤)。

Qdrant 测试快照:用于预置已训练适配器,避免测试中重复训练。CI=true 时 deploy-run-env.sh 触发 import-test-snapshot.sh,从 .local/qdrant-snapshot/ 恢复 kairos_ci 与 kairos_ci_traces 集合,含 76+ 适配器。创建/更新用 npm run test:seed-snapshot(dev 模式带认证)或在 dev_simple 模式自动播种;脚本为 scripts/seed-test-snapshot.sh(导出)与 scripts/import-test-snapshot.sh(恢复)。除非更新快照内容,不要手动调用播种/导入脚本。

认证变体:无 Keycloak 时 AUTH_ENABLED=false npm run dev:test;带 Keycloak 时先 npm run dev:deploy,再 KEYCLOAK_URL= AUTH_ENABLED=true npm run dev:test -- tests/integration/auth-keycloak.test.ts。

代理策略:用户要求跑测试时,除非明确跳过部署,否则先运行 npm run dev:deploy;与临时命令冲突时遵循本技能并说明原因;失败时报告套件与可能原因,不得改用裸 Jest 来“变绿”。Fork 同样适用先部署后测试与 npm 脚本策略,脚本名不同时先映射等价命令并记录。相关维护者技能包括 kmcp-dev-worktree-env、kmcp-dev-mcp-qa-e2e、kmcp-dev-bugfix-ship、kmcp-dev-release-semver。