@juicedresume/mcp 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +23 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -215,6 +215,23 @@ var TEMPLATE_IDS = [
215
215
  "oneline",
216
216
  "rolodex"
217
217
  ];
218
+ var MULTI_COLUMN_TEMPLATES = [
219
+ "aurora",
220
+ "coral",
221
+ "prism",
222
+ "deedy",
223
+ "nova",
224
+ "axis",
225
+ "kintsugi",
226
+ "portrait",
227
+ "cameo",
228
+ "bauhaus",
229
+ "europass",
230
+ "rolodex"
231
+ ];
232
+ function isMultiColumnTemplate(template) {
233
+ return !!template && MULTI_COLUMN_TEMPLATES.includes(template);
234
+ }
218
235
  var Styling = z.object({
219
236
  template: z.enum(TEMPLATE_IDS).default("aurora"),
220
237
  colorMode: z.enum(["light", "dark"]).default("light"),
@@ -1499,16 +1516,15 @@ function dobAgePenalty(resume) {
1499
1516
  };
1500
1517
  }
1501
1518
  function singleColumnHard(resume) {
1502
- const layout = resume.styling?.layout;
1503
- const twoCol = resume.sections.some((s) => s.columns === 2) || layout === "two-column" || layout === "sidebar-left" || layout === "sidebar-right";
1519
+ const twoCol = isMultiColumnTemplate(resume.styling?.template);
1504
1520
  return {
1505
1521
  dim: "ats",
1506
1522
  check: hardCheck(
1507
1523
  "AT12.single-column-hard",
1508
1524
  "Single-column layout (ATS-critical)",
1509
1525
  twoCol ? 0 : 1,
1510
- twoCol ? "Two-column / sidebar layout detected \u2014 #1 cause of ATS parse failure. Workday concatenates columns into gibberish." : "Single-column layout \u2014 every ATS parses this cleanly.",
1511
- "Switch to a single-column template (Jake, Harvard, Classic). Multi-column is the top score-destroyer in ATS systems."
1526
+ twoCol ? "Two-column / sidebar template \u2014 a top cause of ATS parse failure. Workday can concatenate columns into gibberish. (The ATS-PDF export is always single-column, but the visual PDF is not.)" : "Single-column layout \u2014 every ATS parses this cleanly.",
1527
+ "Switch to a single-column template (Jake, Harvard, Classic) in the Templates tab. Multi-column is a top score-destroyer in ATS systems."
1512
1528
  )
1513
1529
  };
1514
1530
  }
@@ -2524,7 +2540,7 @@ function atsChecks(resume, b) {
2524
2540
  const s = resume.styling;
2525
2541
  const p = resume.personal;
2526
2542
  const allText = b.bullets.map((x) => x.text).join(" ");
2527
- const isSingleCol = s.layout === "single";
2543
+ const isSingleCol = !isMultiColumnTemplate(s.template);
2528
2544
  const isSafeFont = SAFE_FONTS.has(s.fontHeading) && SAFE_FONTS.has(s.fontBody);
2529
2545
  const fontSizeOK = s.fontSize >= 9.5 && s.fontSize <= 12;
2530
2546
  const safeBullet = SAFE_BULLET_GLYPHS.has(s.bulletGlyph === "disc" ? "\u2022" : s.bulletGlyph === "dash" ? "-" : "");
@@ -2563,7 +2579,7 @@ function atsChecks(resume, b) {
2563
2579
  isSingleCol ? 1 : 0,
2564
2580
  isSingleCol ? "Layout is single-column." : "Multi-column layout \u2014 many ATS parsers scramble reading order.",
2565
2581
  [],
2566
- !isSingleCol ? "Switch to a single-column template (Customize \u2192 Layout \u2192 single)." : void 0,
2582
+ !isSingleCol ? "Pick a single-column template (e.g. Jake, Harvard, Classic) in the Templates tab." : void 0,
2567
2583
  !isSingleCol ? "hard" : "soft"
2568
2584
  ),
2569
2585
  mk(
@@ -3325,7 +3341,7 @@ function runOnce(cmd, args, cwd) {
3325
3341
  import { promises as fs3 } from "fs";
3326
3342
  import path3 from "path";
3327
3343
  var server = new Server(
3328
- { name: "juiced-resume", version: "0.3.0" },
3344
+ { name: "juiced-resume", version: "0.3.1" },
3329
3345
  { capabilities: { tools: {} } }
3330
3346
  );
3331
3347
  var idArg = z2.object({ id: z2.string() });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juicedresume/mcp",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Model Context Protocol server for JuicedResume — score, tailor, and edit your resume from any MCP client (Claude Code, Claude Desktop, Cursor).",
5
5
  "keywords": [
6
6
  "mcp",