Skip to content

v0.1.11: Application Kit document order, ATS Simple resume layout, and typography - #5

Merged
sparshsam merged 1 commit into
mainfrom
feature/kit-order-ats-layout-typography
Oct 21, 2026
Merged

sparshsam merged 1 commit into
mainfrom
feature/kit-order-ats-layout-typography

Conversation

@sparshsam

@sparshsam sparshsam commented Oct 21, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements three improvements for v0.1.11.

1. Application Kit document order

  • The kit toolbar gains a Document order select: Cover Letter → Resume (default) or Resume → Cover Letter.
  • Both combined exports honour it:
    • PDF appends pages in the chosen order, keeping each document's own page size.
    • DOCX emits the two documents in order, with an explicit page break inside one section when geometry matches, or two nextPage Word sections when page sizes or margins differ.
  • Preserves selectable PDF text, editable DOCX text, accents, formatting, and page breaks.
  • The setting is session-only React state (ApplicationKitOrder in src/types/applicationKit.ts); it is not part of either document template and is never stored.
  • Separate downloads are unchanged.

2. ATS Simple resume layout

  • ResumeTemplate.layout now selects Professional Two-Column (default, unchanged) or ATS Simple.
  • ATS Simple is one full-width column: every enabled section appears in the author's section order, ignoring section.column, with conventional uppercase headings, left-aligned text, real Word bullets, and no tables or positioned columns.
  • The DOCX exporter checks Layout.variant and emits a linear paragraph flow (no <w:tbl>) for ATS Simple.
  • All existing sections, formatting controls, page sizes, and all nine accents work. Column spacing is hidden for ATS Simple because it has no second column.
  • Switching layouts preserves content; tests assert the word multiset is identical across templates.
  • Normalization defaults missing or unknown layouts to twoColumn, so existing templates are unchanged.
  • The UI states that no layout can guarantee compatibility with a specific applicant tracking system.

3. Typography and spacing

  • Secondary text (contact lines, dates, locations) goes from 8.4 pt to 8.8 pt with leading at 1.38.
  • Muted document ink darkens from #555555 to #4A4A4A (AAA contrast on white).
  • Section separation increases to 12/16/22 pt before and 3.5/5/7 pt after.
  • Experience entries begin 9 pt apart at balanced density, composing with the density multiplier.
  • The rich sample resume stays on one page in the professional two-column layout.
  • Preview, PDF, and DOCX still read the same resolveMetrics() values; tests compare PDF Tf sizes, DOCX half-points, DOCX twips, and layout metrics.

Test results

npm run format:check   ✓
npm run lint           ✓
npm run typecheck      ✓
npm run test           ✓  329 passed across 26 files (+50)
npm run build          ✓
coverage               95.15% statements / 97.08% lines (thresholds 80)

New regression coverage: tests/atsLayout.test.ts, tests/exportAts.test.ts, tests/applicationKitOrder.test.ts, tests/typography.test.ts, plus UI tests in tests/App.test.tsx.

Programmatic export tests cover text extraction (<w:t> and raw PDF streams), document and section ordering, page-break placement, Word section types, page sizes, accent colours, and typography parity across formats.

Documentation

README.md, ARCHITECTURE.md, CHANGELOG.md, CLAUDE.md, AGENTS.md, docs/formatting.md, docs/interface.md, and docs/deployment.md are updated. Version is 0.1.11.

Notes

  • No document persistence was added; the kit order and layout follow the existing session-only model.
  • No new runtime dependencies.
  • Manual product QA (browser navigation, visual review, downloaded-file inspection) is intentionally left to the product owner.

🤖 Generated with Claude Code

…ements

Application Kit document order:
- Add an ApplicationKitOrder type (coverLetterFirst default, resumeFirst)
- Expose a Document order select in the kit toolbar
- Honour the order in combined PDF and DOCX exports, preserving each
  document's page sizes, page breaks, accents, and selectable/editable text
- Keep the setting in session-only App state, outside both templates

ATS Simple resume layout:
- Add template.layout (twoColumn default, atsSimple) with normalization
- Reuse the shared section/item block builders in a single full-width column
- Emit author-order sections, conventional headings, and no tables
- Teach the DOCX exporter to produce a linear paragraph flow via Layout.variant
- Hide column spacing and the per-section Main/Side selector when inactive
- Preserve all content, formatting, accents, page sizes, and kit workflows

Typography and spacing:
- Raise secondary text to 8.8 pt with 1.38 leading
- Darken muted document ink to #4A4A4A (AAA contrast on white)
- Increase section separation and experience-entry spacing
- Keep preview, PDF, and DOCX reading the same resolved metrics

Tests: 329 pass across 26 files (+50 regression tests) covering layout
normalization, single-column geometry, reading order, content preservation,
document ordering, page breaks, page sizes, accents, PDF/DOCX text
extraction, and cross-format typography parity.

Version 0.1.11. Documentation updated across README, ARCHITECTURE,
CHANGELOG, CLAUDE, AGENTS, and docs/.

Co-Authored-By: Claude Code <[email protected]>
@vercel

vercel Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
openresume Ready Ready Preview Oct 21, 2026 11:45pm UTC

@sparshsam
sparshsam merged commit fe9cf12 into main Oct 21, 2026
3 checks passed
@sparshsam
sparshsam deleted the feature/kit-order-ats-layout-typography branch October 21, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant