- Add server.js to ESLint globalIgnores (CJS file for Passenger)
- Remove unused cn import from QuoteBlock
- Configure underscore-prefix pattern for unused vars
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All non-root routes were returning Apache 500 because Passenger
was not handling them. This .htaccess enables Passenger for all
requests through Apache on Hetzner 2.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Passenger loads server.js via require(), not as a shell script.
The shebang causes SyntaxError: Invalid or unexpected token.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Required by Plesk Node.js Manager to start the Next.js production server
via Phusion Passenger. Uses CommonJS for Passenger compatibility.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
git config overwrites previous insteadOf value without --add flag.
Need both git@github.com: (SCP) and ssh://git@github.com/ patterns.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Pass GH_PAT via env var instead of secrets expression
in shell command for reliable git insteadOf config.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
pnpm resolves github: deps via git@github.com: (SSH), which fails
without SSH keys. Rewrite to HTTPS with GH_PAT token instead.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Runs lint and build on push to develop/main and on PRs.
Uses GH_PAT secret for private @c2s/payload-contracts dependency.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Tailwind v4 theme config with Definity colors (accent #2CAADF, dark #111)
- Montserrat + Open Sans font setup via next/font/google
- UI components: Button (6 variants), Container, SectionHeader
- Navigation with transparent-to-solid scroll behavior
- Footer with social links, widgets, copyright bar
- Block components: Hero, Text, CardGrid, Quote, ImageText, CTA,
ContactForm, Timeline, Divider
- Typography system with prose styles for rich text
- Animation library with framer-motion variants
- Page transitions via template.tsx
- cn() utility (clsx + tailwind-merge)
- Updated API layer with getSocialLinks
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>