Just Track It Website Owner's Manual

Audience: business owner and non-technical content editors | Updated: 2026-02-11

This is the complete operating guide for managing your website content through the CMS. It explains how the site is designed, how visitors move through it, and exactly how each CMS area maps to what customers see.

I. Quick Start Guide

Purpose: Get unblocked immediately for urgent content changes.

Access the CMS

Navigate to /keystatic route and sign in with your GitHub account.

Emergency Contact

For technical issues that block CMS access or publishing, escalate immediately to the development team with a screenshot and description.

5 Most Common Tasks

  1. Create/Edit an Event: Go to Events collection → Create or select existing → Fill required fields (slug, title, track, dates, pricing, run groups) → Save
  2. Update Homepage Hero Text: Go to Home Page singleton → Scroll to Hero section → Edit title/subtitle/button text → Save
  3. Add/Edit FAQ Question: Go to FAQ collection → Select category or create new → Add question/answer pairs → Save
  4. Update Contact Form Fields: Go to Contact Page singleton → Edit formFields section → Update labels/placeholders/subject options → Save
  5. Manage Track Information: Go to Tracks collection → Select track → Update name/location/stats/features → Save

Preview & Publish Workflow

  1. Make your edits in Keystatic CMS
  2. CMS creates a feature branch (naming: cms/*, content/*, or keystatic/*)
  3. Create a Pull Request from your branch
  4. Add CMS Preview Evidence section to PR body:
    • Preview URL: https://... (deployed preview link)
    • Checkbox: - [x] I reviewed/verified...
  5. Wait for all CI checks to pass (verify, E2E, security, validation)
  6. Get code owner approval (if required)
  7. Merge to publish changes live
High-Risk Changes: Homepage hero, navigation menus, company info email, event pricing, and registration URLs require extra care and stakeholder approval before publishing.

II. Understanding the Website

Business Logic

The site is built around a guided customer conversation:

Think of the site as a guided customer conversation: Introduce → Clarify → Build trust → Invite action.

Complete Page Inventory

The website has approximately 30 pages organized by category:

Core Marketing

Events

Tracks

Education

Programs

Requirements & Documentation

Legal

Recent Major Changes (February 2026)

Removed Features:

Added Features:

Updated Features:

III. CMS Fundamentals

What is Keystatic?

Keystatic is a GitHub-backed CMS that stores all content as structured files in the repository.

Collections vs Singletons

Collections: Repeatable content with multiple entries

Singletons: Single source of truth for site-wide or page-specific content

Total CMS Areas: 26 (7 collections + 19 singletons)

CMS Governance

All CMS changes must follow these rules:

Branch Naming Policy

Use one of these prefixes:

Preview Evidence Requirements

Every PR must include:

Code Owner Approval

Some changes require approval from designated code owners (defined in CODEOWNERS file).

CI Checks That Must Pass

If CI checks fail, do not force merge. Fix the issues or escalate to development team.

Field Types & Validation

Common Field Types

Custom Features

Validation Rules

Field Validation Patterns
Field Type Validation Rule Example
Slug/ID Lowercase letters, numbers, hyphens only mid-ohio-june-2026
Date YYYY-MM-DD format, valid calendar date 2026-06-15
External URL Must use https:// scheme https://example.com
Navigation href Relative path, https://, mailto:, or tel: /events, mailto:info@example.com
Run Groups (standard) Must include "instructor", cannot include "open" ["instructor", "advanced", "intermediate"]
Event dates End date must be on or after start date Start: 2026-06-15, End: 2026-06-16
When validation fails, Keystatic shows error messages inline. Read them carefully—they tell you exactly what to fix.

IV. Collections Deep-Dive

Collections are repeatable content types where you can create multiple entries.

Collections
Events
Tracks
Track Guides
Partners
FAQ
Run Groups
Asset Library

Events (13 entries)

barber-may-2026 Standard
road-atlanta-march-2026 Standard
roebling-april-2026 Standard
+ 10 more entries...
Keystatic CMS collections sidebar — click any collection to view and edit its entries

1. Events Collection

Purpose: Manage individual track day events with dates, pricing, registration, and track details.

Where it displays: /events.html (list), /events/[slug].html (detail), homepage event highlights

Key Fields

Events Collection Fields
Field Type Required Description
slug text URL-safe identifier (5-80 chars, kebab-case). Automation can generate this.
title text Event display name (e.g., "Mid-Ohio June 2026")
subtitle text Optional tagline or subheading
trackId relationship Link to track record. Select from dropdown.
location text Location string (e.g., "Lexington, OH")
dates.start date Event start date (YYYY-MM-DD)
dates.end date Event end date (must be on or after start)
duration text Human-readable duration (e.g., "2 Days")
eventProfile conditional Event type configuration (only "standard" available)
eventProfile.standard.pricing.base number Base event price
eventProfile.standard.pricing.instructorFee number Additional fee for instructor participants
eventProfile.standard.pricing.coDriverFee number Additional fee for co-driver registration
eventProfile.standard.runGroupsAvailable multiselect Run groups available at this event. Must include "instructor", cannot include "open".
eventProfile.standard.runGroupsSoldOut multiselect Run groups that are sold out (must be subset of available)
specialPrograms array Additional programs (e.g., Ladies program). Each has name, price, day, description, discount.
hotel object Hotel information (name, rate, booking deadline)
camping text Camping availability info
soundLimit text Track sound limit (e.g., "103 dB")
schedule array Custom event schedule (time, activity). Overrides the default sample schedule if present.
status select open | selling-fast | sold-out
image image Optional per-event hero photo. Falls back to track image if empty.
featured checkbox Display on homepage highlights
charitable checkbox Charitable event flag
registrationUrl text (https) External registration link (must be https://)

Event Workflow

  1. Open Events collection
  2. Click Create (or select existing event to edit)
  3. Apply template if offered (sets defaults)
  4. Fill required fields:
    • Slug (automation can generate)
    • Title and location
    • Select track from dropdown
    • Set start/end dates using date picker
    • Set duration
  5. Configure event profile:
    • Event Type: "Standard" (only option)
    • Pricing: base, instructor fee, co-driver fee
    • Run Groups Available: select from multiselect (must include "instructor", cannot include "open")
    • Run Groups Sold Out: select subset of available (optional)
  6. Add special programs (optional): Ladies program, co-driver sessions, etc.
  7. Add hotel/camping info (optional)
  8. Add custom schedule (optional) - overrides default sample schedule if present
  9. Upload event image (optional) - falls back to track image if empty
  10. Set status: open | selling-fast | sold-out
  11. Set featured checkbox (for homepage display)
  12. Add registration URL (must be https://)
  13. Save

Verification Checklist

Event Fields
Basic Info
Dates
Event Profile
Programs
Lodging
Schedule
Status

Create Event

barber-may-2026
Barber May 2026
barber-motorsports
525
https://clubregistration.net/...
Event editor form — all required fields must be filled before saving
Event Detail Page Layout
Hero Track image background, event title, dates, location
Pricing Card Base price, instructor/co-driver fees, register button
Run Groups Available groups with color badges, sold-out indicators
Special Programs Ladies program, co-driver sessions (if configured)
Schedule Per-event custom schedule, or default sample schedule from Event Detail Defaults singleton
Requirements Quick requirements checklist from Event Detail Defaults singleton
Track Info Track map, stats, accommodations, directions
Cancellation Policy Refund tiers from cancellation policy singleton
Insurance Card Track day insurance partner card from Event Detail Defaults singleton
Critical: Standard events must include "instructor" in runGroupsAvailable and cannot include "open". Validation will fail if these rules are violated.

2. Tracks Collection

Purpose: Define track records with location, stats, features, and accommodations.

Where it displays: /tracks.html, referenced on event detail pages, track guides

Key Fields

Tracks Collection Fields
Field Type Required Description
id text (locked) System identifier. Read-only after creation. Rename entry to change.
name text Track display name
displayName text Optional alternate display name
location text Location string
description text Short track description
overview array Array of overview paragraphs
length text Track length (e.g., "2.4 miles")
turns number Number of turns
soundLimit text Sound limit if applicable
camping text Camping availability
notes text Additional notes
image image Track photo (used as background for track guide hero)
stats array Track stats (value, label pairs)
features array Track features list
website text (https) Track website URL (optional)
directions text Directions text
map image Track map image (upload via CMS)
accommodations array Nearby accommodations (name, rate, distance, notes)

Special Behaviors

When you update a track, verify both the /tracks.html page and any events that reference this track.

3. Track Guides Collection

Purpose: Long-form instructional content for each track.

Where it displays: /tracks/[trackId]/guide.html

Key Fields

Track Guides Collection Fields
Field Type Required Description
slug text Must match track ID for routing
heroImage image Background image for track guide hero section (optional, falls back to track image)
content markdoc Markdown content with Markdoc extensions

Markdown Editing

Track guides use Markdoc, an extended markdown format. You can use:

Keep track guide content focused on turn-by-turn guidance, braking zones, and line recommendations. Use headings to break up sections.

4. Partners Collection

Purpose: Partner logos and offers for sponsors/affiliates.

Where it displays: /partners.html, homepage partner strip

Key Fields

Partners Collection Fields
Field Type Required Description
id text (locked) System identifier. Read-only after creation.
name text Partner name
category text Partner category (e.g., "Automotive", "Insurance")
description text Partner description
url text (https) Partner website URL
logo image Partner logo (uploaded to /assets/images/partners)
offer text Special offer text for members

Partner Ordering

Partners are ordered on the homepage by prominence. The order is defined in the homepage implementation based on partner IDs.

5. FAQ Collection

Purpose: Frequently asked questions organized by category.

Where it displays: /faq.html

Key Fields

FAQ Collection Fields
Field Type Required Description
slug text URL-safe identifier for the FAQ category
category text Category name (e.g., "Getting Started", "Registration", "On-Track", "Safety")
questions array Array of Q&A pairs (question, answer)

FAQ Best Practices

6. Run Groups Collection

Purpose: Define run group classifications with experience levels, passing rules, and features.

Where it displays: /run-groups.html, event detail pages, getting started page

Key Fields

Run Groups Collection Fields
Field Type Required Description
id text (locked) System identifier (e.g., "instructor", "advanced"). Read-only.
name text Full run group name
shortName text Abbreviated name for compact displays
color palette picker Brand color from approved palette (custom UI)
experienceRequired text Experience level description
description text Run group description
passingRules text Passing rules for this group
features array Feature list
additionalFee text (nullable) Additional fee if applicable (empty string transforms to null)
details array Detail cards (label, value, icon)
comparison object Comparison table data (experience, passingRules, instructor, fee)

Color Palette Picker

The color field uses a custom palette picker UI that displays approved brand colors with visual swatches. This ensures run group colors stay consistent with the site design.

Run Group Color Palette Picker

Select a brand color for this run group. The selected color appears on badges, cards, and comparison tables.

Red
Navy
Green
Amber
Purple
Blue
Coral
Gray

Currently selected: Navy (used by Advanced group)

7. Asset Library Collection

Purpose: Manage social media assets (images and videos) imported from Instagram.

Where it displays: Not currently displayed on public pages; used for asset management.

Key Fields

This collection is auto-generated by the asset sync script and is not typically edited manually. It contains:

The Asset Library is managed by automated scripts. Manual edits are not recommended unless you're updating captions or metadata.

V. Singletons Deep-Dive

Singletons are single-source-of-truth content areas for site-wide or page-specific configuration.

Singletons
Home Page
Contact Page
Ladies Intro Page
About Page
Getting Started
Navigation
Company Info
+ 12 more singletons

Singletons Overview

Singletons have exactly one entry each. Click any singleton to edit its content. Changes affect the corresponding page or site-wide element.

7 High-Priority — Home Page, Contact, Ladies Intro, About, Getting Started, Navigation, Company Info
12 Standard — Requirements, Instructors, Track Pass, Referral, Gift Cards, Media, Cancellation, Stats, Testimonials, Ladies Program, Community, Event Detail Defaults
Keystatic singletons panel — each singleton controls one page or site-wide content area

High-Priority Singletons (Full Documentation)

1. Home Page Singleton

Purpose: Complete homepage configuration including SEO, hero, sections, and CTAs.

Where it displays: / (homepage)

High-risk warning: Homepage changes are highly visible to all visitors. Preview carefully and get stakeholder approval before publishing.
Sections Overview
Home Page Sections
SEO
Organization
Hero
Upcoming Events
Why Section
Getting Started CTA
Run Groups
Testimonials
Ladies Section
Community
Partners

Hero Section

Southeast's Premier HPDE Organization
Experience the Thrill of
Professional Track Days
View Events
Home Page singleton — hero section editor with title, accent text, and button configuration
Homepage Section Layout (Top to Bottom)
Hero Badge, title with accent, subtitle, 2 CTA buttons
Upcoming Events Event cards pulled from Events collection (featured first)
Why JTI 4 icon cards explaining value propositions
Getting Started CTA Full-width call-to-action for new drivers
Run Groups Color-coded group cards from Run Groups collection
Testimonials Customer quotes + optional featured media link
Ladies Program Program teaser with image and features list
Partners Strip Partner logos from Partners collection
Hero Section Accent Styling

The hero titleAccent field displays in a highlighted color to draw attention. Use it for the key differentiator (e.g., "Professional HPDE").

Verification Steps
  1. Check all sections on live homepage
  2. Verify hero title/subtitle/buttons
  3. Verify upcoming events section pulls from events collection
  4. Verify why cards display with correct icons (Lucide icon names)
  5. Verify testimonials section pulls from testimonials singleton
  6. Verify ladies section (note: currently uses placeholder logic if no image)
  7. Verify community section (note: section hidden if no highlights)
  8. Verify partners strip pulls from partners collection
  9. Test SEO tags in browser inspector (View Source → <head>)

2. Contact Page Singleton

Purpose: Configure contact form fields, validation messages, success/error states, and info cards.

Where it displays: /contact.html

Sections Overview
Form Submission Flow

The contact form submits to the Formspree endpoint defined in Company Info singleton (formspreeEndpoint field). If form submission fails, check that endpoint is correct.

Subject Dropdown Options

The formFields.subjectOptions array is repeatable. Each option has value (internal) and label (displayed to user).

Verification Steps
  1. Check contact page layout and hero
  2. Verify all form field labels display correctly
  3. Test form submission with valid data (should show success message)
  4. Test form validation errors (leave fields empty, enter invalid email)
  5. Verify info cards display correct text and links
  6. Verify social links go to correct Facebook/Instagram profiles
Contact Page
SEO
Hero
Form Fields
Info Cards
Social
Validation

Form Fields

First Name
Email Address
General Inquiry
Event Registration
Sponsorship
Send Message
Contact Page singleton — form field labels, placeholders, and subject dropdown options
Contact Form (Live Page)
John
Smith
john@example.com
General Inquiry
Your message here...
Send Message

Form submits to Formspree endpoint defined in Company Info singleton

3. Ladies Intro Page Singleton

Purpose: Complete ladies program landing page configuration.

Where it displays: /ladies-intro.html

Sections Overview
Feature Image Upload

Upload feature image to /assets/images. Provide descriptive alt text for accessibility.

Pricing Card Features

The pricing.features array is repeatable. Each feature has title and description. These display as checkmark list items in the pricing card.

Verification Steps
  1. Check full page layout and all sections
  2. Verify feature image displays correctly (not squished or stretched)
  3. Verify pricing card shows correct price and features
  4. Verify schedule timeline displays in order
  5. Verify requirements cards and link to requirements page
  6. Test pricing CTA button and final CTA button
Ladies Intro Page
Hero
Feature Image
Pricing
Perfect For
Schedule
Requirements
CTA

Pricing Section

Ladies Intro to HPDE
199
Professional female instructors
Half-day program with classroom
All safety equipment explained
Register Now
Ladies Intro singleton — pricing section controls the prominent pricing card on the live page
Ladies Intro Pricing Card (Live Page)
Ladies Intro to HPDE
$199
Half-Day Program
Professional female instructors
Half-day program with classroom
All safety equipment explained
Loaner helmets available
Register Now

Price and features from the Pricing section; CTA links to registration URL

4. About Page Singleton

Purpose: Configure about page hero, story, stats, values, track cards, and CTA.

Where it displays: /about.html

Sections Overview
Track Cards Ordering

The tracks.items array defines the order of track cards on the about page. Each item has a trackId relationship to a track record.

5. Getting Started Page Singleton

Purpose: Configure getting started guide with sections for what you need, before event, event day, register, and CTA.

Where it displays: /getting-started.html

Sections Overview

6. Navigation Singleton

Purpose: Configure all navigation menus (header, mobile, footer).

Where it displays: All pages (site-wide)

High-risk warning: Navigation changes affect every page. Verify on multiple pages and get stakeholder approval.
Navigation Sections
Href Validation

Navigation hrefs accept:

Verification Steps
  1. Check header navigation on desktop
  2. Check mobile menu on small screen
  3. Check footer on multiple pages
  4. Test all links open correct destinations
  5. Verify social icons display correctly

7. Company Info Singleton

Purpose: Business details, mission statement, Formspree endpoint, highlights, safety credentials.

Where it displays: /about.html, /contact.html, footer

High-risk warning: Email and formspreeEndpoint changes affect contact form functionality across the site.
Key Fields
Company Info Singleton Fields
Field Type Required Description
name text Company name
tagline text Company tagline
founded text Founding year
region text Operating region
eventCount text Annual event count
email text Public contact email
formspreeEndpoint text (https) Formspree form submission endpoint (required for contact form)
registrationPlatform text Registration platform name
mission text Mission statement (displayed on about page)
highlights array Company highlights list
safetyCredentials array Safety credentials list
Formspree Endpoint

The contact form submits to this endpoint. Only change it when migrating to a new Formspree form. Test thoroughly after changing.

Standard Singletons (Brief Documentation)

8. Requirements Singleton

Purpose: Driver and vehicle requirements.

Where it displays: /requirements.html

9. Instructor Requirements Singleton

Purpose: Instructor qualification criteria, benefits, and page content.

Where it displays: /instructors.html

10. Track Pass Singleton

Purpose: Track pass value, pricing, and offer content.

Where it displays: /track-pass.html

11. Referral Program Singleton

Purpose: Referral structure and terms.

Where it displays: /referral-program.html

12. Gift Cards Singleton

Purpose: Gift card messaging and purchase info.

Where it displays: /gift-cards.html

13. Media Singleton

Purpose: Featured media, photography partner, and press contact.

Where it displays: /media.html

14. Cancellation Policy Singleton

Purpose: Refund and credit policy.

Where it displays: /terms.html, event detail pages

Cancellation policy is shared across terms page and all event detail pages. Verify both after editing.

15. Stats Singleton

Purpose: Homepage credibility stats.

Where it displays: Homepage stats section

16. Testimonials Singleton

Purpose: Customer testimonials and featured media.

Where it displays: Homepage testimonials section

17. Ladies Program Singleton

Purpose: Ladies program homepage teaser content.

Where it displays: Homepage ladies section

18. Community Section Singleton

Purpose: Community messaging for homepage.

Where it displays: Homepage community section

Note: Community section is currently hidden on homepage if no highlights are present.

19. Event Detail Defaults Singleton

Purpose: Shared content for all event detail pages (schedule, requirements, insurance, questions).

Where it displays: All event detail pages (/events/[slug].html)

Event Detail Defaults are shared across all event pages. Individual events can override the schedule by adding items to their own schedule field. If an event has a custom schedule, the section title changes from "Sample Schedule" to "Event Schedule."

VI. Common Workflows

Step-by-step guides for the 10 most frequent content tasks.

Content Change Workflow
1
Edit
Open CMS, make changes, save
2
Branch
CMS creates feature branch
3
PR + Preview
Create PR, add preview evidence
4
Merge
Approve, merge, verify live

1. Create a Standard Event

  1. Open Events collection in Keystatic CMS
  2. Click Create button
  3. Apply template if offered (sets default values)
  4. Fill required fields:
    • Slug: Enter URL-safe identifier (automation can generate)
    • Title: Event name (e.g., "Mid-Ohio June 2026")
    • Track ID: Select track from dropdown relationship
    • Location: Location string
    • Dates: Start and end dates (use date picker, YYYY-MM-DD)
    • Duration: Duration text (e.g., "2 Days")
  5. Configure event profile:
    • Event Type: Select "Standard" (only option)
    • Pricing: Base price, instructor fee, co-driver fee
    • Run Groups Available: Select from multiselect (must include "instructor", cannot include "open")
    • Run Groups Sold Out: Select subset if applicable
  6. Add special programs (optional): Ladies program, co-driver sessions, etc.
  7. Add hotel/camping info (optional)
  8. Upload event image (optional) - if empty, falls back to track image
  9. Set status: open | selling-fast | sold-out
  10. Set featured checkbox (for homepage display)
  11. Add registration URL (must be https://)
  12. Click Save
  13. Create PR with preview evidence
  14. Verify in preview:
    • Event list page: /events.html
    • Event detail page: /events/[slug].html
    • Pricing displays correctly
    • Dates format correctly
    • Run groups available/sold out display correctly
    • Registration link works
    • If featured, check homepage event highlights
  15. Merge PR to publish
Validation: Standard events must include "instructor" in runGroupsAvailable and cannot include "open". The save will fail if these rules are violated.

2. Edit Homepage Hero

  1. Open Home Page singleton
  2. Scroll to Hero section
  3. Edit fields:
    • badgeText - Small badge above title
    • titleLineOne - First line of title
    • titleAccent - Highlighted accent line
    • subtitle - Subtitle text
    • primaryButtonText and primaryButtonHref
    • secondaryButtonText and secondaryButtonHref
  4. Click Save
  5. Create PR with preview evidence
  6. Preview homepage hero section - take screenshot for before/after comparison
  7. Risk assessment: High-visibility change, requires stakeholder review
  8. Get approval before merging
  9. Merge PR to publish

3. Add/Edit FAQ

  1. Open FAQ collection
  2. Select existing FAQ category or create new
  3. Edit fields:
    • slug - URL-safe category identifier
    • category - Category display name
    • questions array - Add Q&A pairs
  4. For each question:
    • Write question in customer's voice
    • Write concise, direct answer (1-3 sentences for simple, 1-2 paragraphs for complex)
  5. Click Save
  6. Create PR with preview evidence
  7. Verify FAQ page readability on desktop and mobile (accordion UI)
  8. Merge PR to publish

4. Update Contact Form

  1. Open Contact Page singleton
  2. Edit formFields section:
    • Update field labels (first name, last name, email, subject, message)
    • Update placeholders
    • Add/remove/edit subject dropdown options
    • Update submit button text
  3. Edit validationMessages section (optional):
    • Update error messages for required fields, invalid email, etc.
  4. Click Save
  5. Create PR with preview evidence
  6. Test form in preview:
    • Verify all labels display correctly
    • Test validation errors (empty fields, invalid email)
    • Test successful submission (optional - may send test email)
  7. Merge PR to publish

5. Manage Track Information

  1. Open Tracks collection
  2. Select track to edit
  3. Update fields:
    • name, location, description
    • length, turns
    • stats array - Track stats (value, label pairs)
    • features array - Track features list
    • accommodations array - Nearby hotels (name, rate, distance, notes)
    • image - Track photo (also used as track guide hero background)
  4. Click Save
  5. Create PR with preview evidence
  6. Verify in preview:
    • Tracks page: /tracks.html
    • Track guide page: /tracks/[trackId]/guide.html
    • Any events that reference this track
  7. Merge PR to publish

6. Configure Navigation Menus

  1. Open Navigation singleton
  2. Edit navigation sections:
    • main - Desktop header navigation
    • mobile - Mobile menu navigation
    • footer - Footer links (quickLinks, programs, company, ourTracks, legal, social)
  3. For each nav link:
    • label - Link text
    • href - Link destination (relative path, https://, mailto:, tel:)
    • icon (for social links) - Icon name
  4. Click Save
  5. Create PR with preview evidence
  6. Risk assessment: Site-wide impact
  7. Verify on multiple pages:
    • Desktop header navigation
    • Mobile menu (test on small screen)
    • Footer (check all sections)
    • Test all links open correct destinations
  8. Get approval before merging
  9. Merge PR to publish

7. Add a Partner

  1. Open Partners collection
  2. Click Create
  3. Fill fields:
    • id - System identifier (locked after creation)
    • name - Partner name
    • category - Partner category
    • description - Partner description
    • url - Partner website (must be https://)
    • logo - Upload partner logo
    • offer - Special offer text (optional)
  4. Click Save
  5. Create PR with preview evidence
  6. Verify in preview:
    • Partners page: /partners.html
    • Homepage partner strip
    • Logo displays correctly
    • Link opens correct partner website
  7. Merge PR to publish

8. Update Run Group Details

  1. Open Run Groups collection
  2. Select run group to edit
  3. Edit fields:
    • name, shortName
    • color - Use color palette picker UI
    • experienceRequired, description, passingRules
    • features array
    • additionalFee (optional)
    • details array - Detail cards
    • comparison object - Comparison table data
  4. Click Save
  5. Create PR with preview evidence
  6. Verify in preview:
    • Run groups page: /run-groups.html
    • Comparison table displays correctly
    • Color displays correctly
    • Any events that reference this run group
  7. Merge PR to publish

9. Create a Ladies Intro Event

  1. Open Events collection
  2. Create standard event (follow workflow #1)
  3. In specialPrograms array, add entry:
    • name - "Ladies" or "Ladies Intro"
    • price - Ladies program price
    • day - Day offered (e.g., "Friday")
    • description - Program description
    • discount - Discount amount if applicable
  4. Save event
  5. Create PR with preview evidence
  6. Verify event detail page shows ladies program in special programs section
  7. Optionally update Ladies Intro Page singleton to link to this event
  8. Merge PR to publish

10. Edit Track Guide Content

  1. Open Track Guides collection
  2. Select track guide to edit (slug must match track ID)
  3. Edit fields:
    • heroImage - Optional hero background image (falls back to track image)
    • content - Markdoc editor for long-form content
  4. In Markdoc editor, use:
    • Headings for sections (# Heading 1, ## Heading 2)
    • Lists for turn-by-turn guidance
    • Bold/italic for emphasis
    • Links for references
  5. Click Save
  6. Create PR with preview evidence
  7. Verify track guide page: /tracks/[trackId]/guide.html
  8. Check hero background image (should use track image if heroImage empty)
  9. Merge PR to publish
Quick Reference: Common Task Workflows
1
Create Event

Events collection → Create → Fill fields → Save → PR → Verify list + detail pages

2
Edit Homepage

Home Page singleton → Edit section → Save → PR → Get stakeholder approval

3
Update FAQ

FAQ collection → Select category → Add/edit Q&A → Save → PR → Test accordion

4
Manage Tracks

Tracks collection → Edit fields → Save → PR → Verify tracks page + events + guide

5
Change Navigation

Navigation singleton → Edit menus → Save → PR → Verify on multiple pages (high risk)

VII. Quality Assurance & Verification

Ensure changes are correct before publishing.

Before You Save Checklist

After You Save - Preview Verification

  1. Create feature branch with correct naming (cms/*, content/*, keystatic/*)
  2. Deploy preview environment (automatic via CI)
  3. Check changed pages in preview
  4. Test interactive elements (forms, links, accordions)
  5. Mobile responsive check (test on small screen or resize browser)
  6. Screenshot before/after for PR (especially for high-visibility changes)

High-Risk Changes (Extra Review Required)

High-Risk Change Types
Change Type Why High-Risk Extra Steps
Homepage hero Highest visibility, affects all visitors Get stakeholder approval, take before/after screenshots
Navigation menus Site-wide impact, affects every page Test on multiple pages, verify all links
Company info email Affects contact form, footer display Test contact form submission after change
Event pricing Financial accuracy critical Double-check against approved pricing sheet
Registration URLs Must be functional, customers can't register if broken Click through to external registration platform
Formspree endpoint Breaks contact form if incorrect Test form submission, verify email delivery
Escalation: High-risk changes require stakeholder approval before PR merge. Do not merge without explicit sign-off.

Multi-Page Verification Matrix

Multi-Page Impact Guide
Change Type Pages to Check Specific Elements
Edit Event Event detail, events list, homepage (if featured) Pricing, dates, run groups, registration link, featured badge
Edit Track Tracks page, track guide, events linking to track Stats, features, accommodations, track image, hero background
Edit Home Page Homepage only (but high visibility) All sections, partner strip, hero, stats, testimonials, CTAs
Edit Navigation All pages Header nav, mobile menu, footer (all sections)
Edit Company Info About, contact, footer Email, mission, highlights, Formspree endpoint
Edit Run Groups Run groups page, events, getting started Colors, descriptions, comparison table, features
Edit Cancellation Policy Terms page, all event detail pages Policy text, refund timelines

PR Checklist (Before Merge)

A change is not complete until verified on the live website after merge.

VIII. Troubleshooting

Common CMS Errors

Error Messages & Solutions
Error Message Cause Solution
"Slug already exists" Another entry uses this slug Rename to unique slug (e.g., add date or track name)
"Invalid date format" Date not in YYYY-MM-DD format Use date picker field or manually format as YYYY-MM-DD
"Track not found" Track relationship broken or deleted Re-select track from dropdown
"Validation failed: must include Instructor" Standard events require "instructor" run group Add "instructor" to runGroupsAvailable multiselect
"URL must be HTTPS" External URL uses http:// instead of https:// Change http:// to https://
"Preview evidence missing" PR body doesn't have required sections Add "## CMS Preview Evidence", "Preview URL: https://...", and checkbox
"dates.end must be on or after dates.start" End date is before start date Correct dates so end >= start
"Standard events cannot include 'open' in runGroupsAvailable" Standard events exclude "open" run group Remove "open" from runGroupsAvailable

Build/Deploy Failures

CI Failure Troubleshooting
CI Check Failed What to Check How to Fix
Verify check failed Build logs for Zod validation errors Review validation error message, fix field values, push update
E2E tests failed Playwright logs for UI regressions Check if content change broke expected UI behavior, revert or fix
Security scan failed Secret detected in content (API keys, passwords) Remove secret immediately, replace with placeholder or env var reference
CMS validation failed Schema mismatch or governance violation Check field types match schema, verify branch naming, add preview evidence

When to Escalate to Development

Escalate immediately for these scenarios:

Support Packet Format

When escalating, provide:

  1. What changed: Specific field/collection edited
  2. Expected behavior: What you expected to happen
  3. Actual behavior: What actually happened
  4. Steps to reproduce: Exact steps to trigger the issue
  5. Screenshots: CMS interface showing the problem
  6. Preview URL: Link to preview deployment (if available)
  7. Browser/device info: Browser version, OS, screen size
  8. Error messages: Full text of any error messages
The more context you provide in your support packet, the faster the development team can diagnose and fix the issue.

IX. Appendices

A. Complete Field Reference

Alphabetical list of all CMS fields across collections and singletons:

Note: This is a condensed reference. See sections IV and V for full field documentation.

Events Collection Fields

slug, title, subtitle, trackId, location, dates.start, dates.end, duration, eventProfile.discriminant, eventProfile.standard.pricing.base, eventProfile.standard.pricing.instructorFee, eventProfile.standard.pricing.coDriverFee, eventProfile.standard.runGroupsAvailable, eventProfile.standard.runGroupsSoldOut, specialPrograms, hotel, camping, soundLimit, schedule, status, image, featured, charitable, registrationUrl

Tracks Collection Fields

id, name, displayName, location, description, overview, length, turns, soundLimit, camping, notes, image, stats, features, website, directions, map, accommodations

Home Page Singleton Fields

seo, organization, hero, upcomingEvents, whySection, gettingStartedCta, runGroupsSection, testimonialsSection, ladiesSection, communitySection, partnersSection

Contact Page Singleton Fields

seo, hero, formSection, formFields, infoCards, social, validationMessages

See sections IV and V for complete field definitions for all collections and singletons.

B. URL Safety Practices

Rules for URL fields in CMS:

Relative Paths (Internal Links)

HTTPS URLs (External Links)

Special URL Schemes

Forbidden URL Schemes

C. Accessibility Guidelines

Content editors control these accessibility aspects:

Alt Text for Images

Link Text

Heading Hierarchy

Color Contrast

Readability

D. Markdown Formatting Guide (Track Guides)

Track guides use Markdoc, an extended markdown format. Common syntax:

Headings

# Heading 1
## Heading 2
### Heading 3

Lists

- Bulleted item
- Another item

1. Numbered item
2. Another item

Links

[Link text](https://example.com)

Bold/Italic

**bold text**
*italic text*

Code Blocks

```
Code block content
```

Blockquotes

> Quote text

Horizontal Rules

---

E. Glossary

CMS Terms

Site Terms

Workflow Terms

F. Maintenance Recommendations

Weekly Tasks

Monthly Tasks

Quarterly Tasks

Recommended Ownership Model

With this maintenance cadence, content quality stays stable and urgent fixes become rare.

G. Visual Guides Index

Annotated CMS mockups and page layout diagrams are embedded throughout this manual at the relevant sections:

Last updated: 2026-02-18 | Document version: 2.1 | Covers site state as of Feb 2026