LifeStarter

LifeStarter

Jekyll static site on GitHub Pages — consumer life-stages content with financial calculators (calculators/, fin_calc/, tools/) organised around life events: first apartment, college freshman, new parent, retirement.

Commands

make serve    # local preview
make build    # jekyll build
make lint     # stylelint (assets/css) + markdownlint (_posts)
make check    # lint + test  ← the gate; run before committing
make test     # build, then htmlproofer + frontmatter/content checks
              # + scripts/check-rendered-affiliate.sh on the built _site
make clean

Gotchas

  • Uses the github-pages gem, not plain Jekyll. Plugin versions are pinned by GitHub, so a plugin that works locally can still be unsupported on Pages. Add plugins only if github-pages already bundles them.
  • Content is YMYL (financial advice adjacent). Calculator logic and any figure presented as guidance needs a real source, not a plausible number. This is the category where an invented rate becomes someone’s actual decision.
  • llms.txt and the “For AI Agents” footer link are deliberate, added for AI discoverability — do not remove them as cruft.
  • _site/ is build output; gitignored, never edit.

SEO pre-commit hooks

This repo is audited by the shared tooling in ~/Sites/epm-seo-audit:

~/Sites/epm-seo-audit/.venv/bin/python3 \
  ~/Sites/epm-seo-audit/pre-commit/audit_frontmatter.py --repo-path . --only-staged
~/Sites/epm-seo-audit/.venv/bin/python3 \
  ~/Sites/epm-seo-audit/pre-commit/audit_content.py --repo-path . --only-staged

Frontmatter completeness and content quality are enforced there, not in make lint.