CLAUDE.md

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Session Start

At the start of every session, check .github/handover.md for active tasks, pending actions, or context from previous sessions. If there are outstanding items, briefly mention them to the user.

Project Overview

Static website for Warsaw Tactical (warsawtactical.com) — a firearms training business in Poland. Built with Jekyll, hosted on GitHub Pages, auto-deploys on push to main.

Development Commands

# Local development (requires Ruby + Bundler)
bundle config set --local path 'vendor/bundle'
bundle install
bundle exec jekyll serve --livereload
# → http://localhost:4000

# Or just push to main — GitHub Pages builds automatically in 1-2 minutes

No npm, no build tools, no linting, no tests. Pure Jekyll + HTML/CSS/JS.

Architecture

Jekyll static site with Liquid templating. All pages are flat HTML files at root level with YAML front matter (layout, title, description, show_announcement).

Template System

Data-Driven Content (key pattern)

JSON files in /data/ power dynamic content loaded via vanilla fetch():

FAQ Dual-Location Sync (critical)

FAQs must be updated in two places simultaneously:

  1. data/faqs.json — powers the visible FAQ display
  2. _includes/head.html (lines ~73-146) — static Schema.org FAQ markup for Google rich results

Blog System

SEO Engine v4 (.github/)

Automated blog article pipeline running on GitHub Actions cron (Mon + Thu 08:00 UTC):

Analytics

External Integrations

CSS Conventions

Single file: css/styles.css. Mobile-first with breakpoints at 768px (tablet), 1024px (desktop), and 1440px (large desktop). BEM-inspired class names (.btn, .btn-primary, .btn-secondary, .btn-small). Black/white aesthetic.

Adding a New Page

Create an HTML file at root with front matter:

---
layout: default
title: Page Title
description: Meta description
---
<section>
  <div class="container">...</div>
</section>

Sitemap is auto-generated by the jekyll-sitemap plugin.

Git Conventions

Important Notes

Questions?  Email us