Run locally with livereload: bundle exec jekyll serve --livereload.
Run all tests: bundle exec rspec (or rake test); runs RSpec + Capybara/HTMLProofer checks.
Optional sanity: bundle exec rubocop for Ruby/Rake/Liquid linting and rake build_and_test to chain build + tests.
Coding Style & Naming Conventions
Ruby, Rake, and specs use 2-space indentation and RuboCop defaults (including rubocop-rspec). Prefer descriptive method names and snake_case files.
Jekyll pages: use kebab-case filenames in _pages/ and include YAML front matter for layout, title, and canonical URLs. Keep inline scripts/styles in assets when possible.
Prefer includes for repeated snippets and keep layout changes in _layouts/ to avoid copy/paste drift.
Testing Guidelines
Add or update specs in spec/pages/, spec/layouts/, etc. Mirror the page or helper name for clarity (e.g., spec/pages/404_spec.rb).
Feature tests should build the site first; when writing Capybara specs, point to _site/ output (as configured in spec_helper).
For HTML/SEO regressions, add HTMLProofer expectations; for helpers, add unit-level expectations.
Run bundle exec rspec before submitting; rerun bundle exec jekyll build if you touched layouts or includes to ensure Liquid compiles.
Commit & Pull Request Guidelines
Follow the existing history: short, imperative commits with optional Conventional Commit prefixes (feat:, fix:, test:). Commit related changes together (content, tests, and assets).
PRs should include: a concise summary of the change, linked issue/ticket if applicable, screenshots for visual changes, and notes on test coverage or manual verification.
Keep diffs focused; avoid committing _site/ artifacts or local caches. Mention any config changes (_config.yml, Gemfile) explicitly in the PR description.
Security & Configuration Tips
Do not place secrets or API keys in front matter, includes, or _config.yml; prefer environment variables and documented placeholders.
When updating gems, run bundle update selectively and verify Gemfile.lock diffs; note any security-related upgrades in the PR.