{"record":{"id":"5b5a7e06081b9954","repo":"ruvnet/ruflo","slug":"deployment-type-target-type-not-yet-implemented","errorCode":null,"errorMessage":"Deployment type ${target.type} not yet implemented","messagePattern":"Deployment type (.+?) not yet implemented","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"v3/@claude-flow/deployment/src/index.ts","lineNumber":86,"sourceCode":"  });\n}\n\n/**\n * Legacy deploy function\n * @deprecated Use publishToNpm from publisher instead\n */\nexport async function deploy(target: DeploymentTarget): Promise<void> {\n  if (target.type === 'npm') {\n    const { Publisher } = await import('./publisher.js');\n    const publisher = new Publisher();\n\n    await publisher.publishToNpm({\n      tag: (target.config.tag as string) || 'latest',\n      dryRun: (target.config.dryRun as boolean) || false\n    });\n  } else {\n    console.log(`Deploying to ${target.name} (${target.type})`);\n    throw new Error(`Deployment type ${target.type} not yet implemented`);\n  }\n}\n","sourceCodeStart":68,"sourceCodeEnd":89,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/deployment/src/index.ts#L68-L89","documentation":"The legacy deploy() helper only implements target.type === 'npm' (it delegates to Publisher.publishToNpm with tag/dryRun from config). The DeploymentTarget union also declares 'docker' and 'github-release', but those branches only log the target name and throw 'not yet implemented'.","triggerScenarios":"deploy({ name: 'container', type: 'docker', config: {} }) or deploy({ name: 'gh', type: 'github-release', config: {} }) — any call whose target.type is not 'npm'.","commonSituations":"Deployment configs written against the full union because the type suggests all three are supported; scripts migrated from docs or examples that list docker/github-release targets; upgrading versions expecting the other providers to have landed.","solutions":["Use type: 'npm' with config { tag, dryRun } — the only implemented target","For GitHub releases or Docker images, run those steps outside this helper (e.g. `gh release create`, `docker buildx build`) after publishing via npm","Prefer the non-deprecated publishToNpm() export instead of deploy(); deploy() is marked @deprecated"],"exampleFix":"// before\nawait deploy({ name: 'gh', type: 'github-release', config: { tag: 'v1.2.3' } }); // throws\n\n// after\nawait publishToNpm({ tag: 'latest' });\nawait execSync('gh release create v1.2.3 --generate-notes');","handlingStrategy":"type-guard","validationCode":null,"typeGuard":"interface DeploymentTarget { name: string; type: 'npm' | 'docker' | 'github-release'; config: Record<string, unknown>; }\nfunction isNpmTarget(t: DeploymentTarget): t is DeploymentTarget & { type: 'npm' } {\n  return t.type === 'npm';\n}\nif (!isNpmTarget(target)) throw new Error(`unsupported deploy target: ${target.type}`);\nawait deploy(target);","tryCatchPattern":null,"preventionTips":["Check the DeploymentTarget union in deployment/src/index.ts — only 'npm' is implemented","Route docker/github-release steps outside deploy(); it is a @deprecated legacy helper"],"tags":["deployment","not-implemented","npm","legacy-api"],"backgroundTag":"feature-not-implemented","analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}