Replaces the hugo site with a custom Next.js 16 app under new-site/. Old hugo site is untouched until cutover. What's in here: - Next.js 16 (App Router, Turbopack) + React 19 + Tailwind v4 + MDX - Pages: home, services, about, work (+ 2 case studies), contact, blog (3 seed posts), thank-you, /sitemap.xml, /robots.txt - Stripe Payment Link checkout for retainer + 5/10/20-hour blocks, with website-redesign-launch sale (50% off) toggleable in src/lib/pricing.ts. Falls back to /contact when env vars unset. - Guarantees component on home + services (4 promises in writing) - HowIWork principles on about - Client logo strip with the 8 named clients (text wordmarks for now) - JSON-LD on every important page (Organization / Person / Service / Article / BreadcrumbList) for SEO + LLM discoverability - /llms.txt at site root - STRATEGY.md with positioning, 30-day content plan, Stripe setup walkthrough, SEO checklist, and a list of what Chris needs to wire before launch (Cal.com link, mailbox, photo, client sign-off, env vars) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
465 B
JavaScript
19 lines
465 B
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
import nextTs from "eslint-config-next/typescript";
|
|
|
|
const eslintConfig = defineConfig([
|
|
...nextVitals,
|
|
...nextTs,
|
|
// Override default ignores of eslint-config-next.
|
|
globalIgnores([
|
|
// Default ignores of eslint-config-next:
|
|
".next/**",
|
|
"out/**",
|
|
"build/**",
|
|
"next-env.d.ts",
|
|
]),
|
|
]);
|
|
|
|
export default eslintConfig;
|