CLAUDE.md
Project Overview
SweetHawk marketing website — a Jekyll static site deployed to GitHub Pages at sweethawk.com.
Dev Environment Setup
bundle install # Install Ruby dependencies
Common Commands
bundle exec jekyll serve # Local dev server at http://localhost:4000 (with live reload)
bundle exec jekyll build # Build site to _site/
JEKYLL_ENV=production bundle exec jekyll build # Production build
Project Structure
_config.yml— Jekyll configuration (site metadata, collections, plugins, defaults)_apps/— Markdown files for each Zendesk app (collection, outputs to/zendesk-apps/:name)_posts/— Blog posts (layout:post)_layouts/— Page templates:default,app,post,solution,customer-story,redirect_includes/— Partials:nav.html,footer.html,app-card.html_sass/— Stylesheets:_variables.scss,_base.scss,_layout.scss,_components.scss_plugins/redirect_generator.rb— Custom plugin for generating redirect pagesassets/— Static assets (CSS, JS, images)redirects.csv— URL redirect mappings (processed during CI build)- Top-level HTML pages:
index.html,pricing.html,partners.html, etc.
Key Details
- Sass: Entry point is
assets/css/main.scss, imports from_sass/. Uses@import(deprecated but functional). - Collections:
appscollection defined in_config.ymlwith permalink/zendesk-apps/:name. - Layouts: Apps default to
applayout, posts default topostlayout (set in_config.ymldefaults). - Plugins:
jekyll-feed,jekyll-seo-tag,jekyll-sitemap. - Deployment: Pushes to
mastertrigger GitHub Actions → build → deploy to GitHub Pages. - Custom domain:
sweethawk.com(configured viaCNAMEfile).
Public Access (ngrok)
To expose the local dev server publicly, set NGROK_DOMAIN in .env.local (gitignored):
NGROK_DOMAIN=maestro-website.ngrok.io
Then use the /serve-public skill, or manually:
source .env.local
bundle exec jekyll serve --port 4000 --detach
ngrok http 4000 --domain="$NGROK_DOMAIN"
Verification
After making changes, always run:
bundle exec jekyll build 2>&1
The build must complete without errors. Sass deprecation warnings about @import and darken() are expected and can be ignored.