CLAUDE.md

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

Project Overview

BovPro landing page — a Jekyll static site for the BovPro cattle herd management mobile app. All content is in Brazilian Portuguese (PT-BR). Hosted at bovpro.com.br via HostGator FTP, deployed automatically through GitHub Actions on push to main.

Development Commands

# Install dependencies
./run-install.sh          # or: bundle install

# Development server with live reload (http://localhost:4000)
./run-dev.sh

# Production build (output to _site/)
./run-build.sh

./run-dev.sh uses both _config.yml and _config_dev.yml (dev overrides: no baseurl, livereload enabled, incremental builds, drafts enabled).

Architecture

Content Structure

Pages are Markdown files with YAML frontmatter:

Customization Points

Deployment

GitHub Actions workflow (.github/workflows/build.yml):

  1. Builds Jekyll site with JEKYLL_ENV=production and JEKYLL_URL=https://bovpro.com.br
  2. Deploys _site/ to HostGator via FTP (SamKirkland/FTP-Deploy-Action@v4.3.5)
  3. Requires repository secrets: FTP_SERVER, FTP_USERNAME, FTP_PASSWORD

FTP Configuration

The workflow uses these GitHub Secrets:

To test FTP connection locally:

# Using lftp (recommended)
brew install lftp
lftp -u username ftp://hostname

# Or using sftp with password auth
sftp -o PreferredAuthentications=password -o PubkeyAuthentication=no user@hostname

Conventions

Development Guidelines

Adding Content

  1. Create markdown file in root (pages) or subdirectory (collections)
  2. Include YAML frontmatter with layout and title
  3. For splash layout (landing page), include header section with overlay:
    header:
      overlay_color: "#2e7d32"
      overlay_filter: "0.5"
      overlay_image: /assets/images/hero-cattle.jpg
      actions:
        - label: "Button Text"
          url: "#section-id"
    
  4. For feature rows, use the feature_row include in layout

Updating Configuration

After changing _config.yml, restart the development server:

# Kill server (Ctrl+C), then restart:
./run-dev.sh

Assets

Built Assets

The _site/ directory is generated by Jekyll:

Testing

Local Testing

# Full build test
bundle exec jekyll build

# Development with live reload
./run-dev.sh

# Check for build warnings
bundle exec jekyll build 2>&1 | grep -i warning

Pre-Deployment Checklist

Contact & Branding

Known Issues / TODO

  1. Hero image: Current hero-cattle.jpg is an SVG placeholder. Replace with real cattle/pasture photo.
  2. Logo: Not yet added. Will be placed at assets/images/bovpro-logo.png when available.
  3. App Store links: Currently show “Em breve”. Update when app is published.
  4. index.markdown: Remove if still present (duplicate template file).
  5. Gemfile.lock: Should be in .gitignore (for consistency with other projects).

Quick Reference

Task Command
Install deps ./run-install.sh
Dev server ./run-dev.sh
Build ./run-build.sh
Full build bundle exec jekyll build
Check theme grep theme _config.yml

Deployment Checklist (Full)

Before first production deployment: