{"record":{"id":"faaef8786a5d84f4","repo":"santifer/career-ops","slug":"unknown-template-kind-kind","errorCode":null,"errorMessage":"Unknown template kind: ${kind}","messagePattern":"Unknown template kind: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cv-templates.mjs","lineNumber":83,"sourceCode":"  let text;\n  try {\n    text = readFileSync(path, 'utf-8');\n  } catch {\n    return {};\n  }\n  const block = text.match(/<!--\\s*career-ops-template\\s*([\\s\\S]*?)-->/);\n  if (!block) return {};\n  const meta = {};\n  for (const line of block[1].split(/\\r?\\n/)) {\n    const kv = line.match(/^\\s*([a-zA-Z_]+)\\s*:\\s*(.+?)\\s*$/);\n    if (kv) meta[kv[1].toLowerCase()] = kv[2];\n  }\n  return meta;\n}\n\nexport function listTemplates(kind, { dir = DEFAULT_TEMPLATES_DIR, format = 'html' } = {}) {\n  const cfg = KINDS[kind];\n  if (!cfg) throw new Error(`Unknown template kind: ${kind}`);\n  assertFormat(format);\n  if (!existsSync(dir)) return [];\n  const out = [];\n  for (const file of readdirSync(dir)) {\n    const parsed = parseFilename(cfg.prefix, file);\n    if (!parsed || parsed.format !== format) continue;\n    const path = resolve(dir, file);\n    const meta = parseMeta(path);\n    out.push({\n      name: parsed.name,\n      displayName: meta.name || prettify(parsed.name),\n      path,\n      format: parsed.format,\n      meta,\n    });\n  }\n  return out.sort((a, b) => a.name.localeCompare(b.name));\n}","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/santifer/career-ops/blob/9b17a8ac97b398a496b38e423ae24e433b43254f/cv-templates.mjs#L65-L101","documentation":"Error \"Unknown template kind: ${kind}\" thrown in santifer/career-ops.","triggerScenarios":"Thrown at cv-templates.mjs:83 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a known template kind (e.g. html or tex) defined in cv-templates.mjs."],"exampleFix":"kind: html","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b17a8ac97b398a496b38e423ae24e433b43254f","analyzedAt":"2026-08-13T00:48:39.135Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}