TemplateConfig
The main template configuration type that defines all aspects of a resume template.types.ts
Fields
Unique identifier for the template. Built-in templates use IDs like
classic, modern, minimal. AI-generated templates use IDs like custom-modern-blue-1234567890.Display name shown in the template selector (e.g., “Modern Blue”, “Classic Professional”).
Brief description of the template’s style and characteristics (1-2 sentences).
Complete theme configuration including colors, typography, and spacing. See ThemeConfig below.
Layout type:
single-column: Traditional top-to-bottom layouttwo-column: Sidebar layout with two columns
CSS grid columns value (e.g.,
"35% 1fr"). Only used for two-column layouts.Position of the sidebar. Only used for two-column layouts. Default:
left.Array of section IDs to render in the sidebar. Only used for two-column layouts.
Array of section IDs to render in the main content area. For single-column layouts, this contains all sections.
Mapping of section IDs to their visual variants. See SectionVariant below.
ThemeConfig
Defines the visual theme including colors, typography, and spacing.template.ts
Color fields
Primary accent color (hex code, e.g.,
#2563eb). Used for section headers and highlights.Secondary accent color (hex code). Often the same as primary or a lighter/darker variant.
Page background color (typically
#ffffff for white).Main text color (hex code, e.g.,
#1a1a1a or #333333).Muted text color for secondary information (hex code, e.g.,
#666666).Border color for section dividers (hex code, e.g.,
#e0e0e0).Text color for sidebar content in two-column layouts. If omitted, uses
text color.Typography fields
Base font family (CSS font stack, e.g.,
"Inter, sans-serif" or "Merriweather, serif").Font family for headings. If omitted, uses
fontFamily.Base font size (e.g.,
"10pt" or "11pt"). Use point units for print optimization.Base line height (e.g.,
"1.5" or "1.6"). Unitless values are recommended.Spacing fields
Gap between major sections (e.g.,
"1.5rem" or "2rem").Gap between items within a section (e.g.,
"1rem").Page padding (e.g.,
"2.5cm" or "2rem"). Can be a single value or multiple (e.g., "3rem 2.5rem").SectionVariant
Visual style variant for rendering a section.template.ts
Variants by section
Not all variants are valid for all sections. Here’s the mapping:personal-info
personal-info
default: Left-aligned contact info with icon labelscentered: Centered name and contact infominimal: Minimal spacing with inline contact items
summary
summary
default: Standard paragraph format
experience
experience
default: Standard job entry with company, title, datestimeline: Timeline-style with date markersminimal: Compact format with reduced spacingcompact: Ultra-compact single-line entries
education
education
default: Standard education entry with school, degree, datesminimal: Compact format with reduced spacing
skills
skills
default: Comma-separated listtags: Inline tags with bordersbubbles: Rounded bubble-style tagsbullet-list: Bulleted list formatsidebar: Optimized for sidebar display (vertical list)
projects
projects
default: Standard project entry with name, description, linksgrid: Grid layout for multiple projects (2 columns)
customSections
customSections
default: Standard format matching experience layout
CustomTemplate
Extended template config with metadata for custom (AI-generated) templates.useCustomTemplates.tsx
ISO 8601 timestamp of when the template was created (e.g.,
"2024-03-04T12:00:00.000Z").Example configurations
Single-column template
classic.json
Two-column template
modern.json
Related pages
Resume data types
Core data types for resume content
Section types
Type definitions for resume sections
Template system
How the template system works
Creating templates
Guide to building custom templates

