Initial app scaffold wired end-to-end: Payload 3.82 CMS integrated with Next 16.2 App Router (standalone output), PostgreSQL 17 adapter, Lexical rich text, Tailwind 3 with Material 3 token palette ported from the stitch technical- editorial design, self-hosted Space Grotesk + Inter via next/font, and lucide-react icons. Admin lives at /admin, REST/GraphQL at /api/*, and /api/health returns build SHA/REV for deploy verification. Seven collections (Users, Media, Categories, Projects, Posts, Gear, ContactSubmissions) and six globals (Home, About, Contact, Resume, Navigation, SEO) model the content outlined in docs/PRD.md. Multi-stage Dockerfile builds a non-root standalone runner; Woodpecker pipeline lints, typechecks, builds, audits, builds with Kaniko to git.mosaicstack.dev, scans with Trivy, and links the package. Swarm compose mirrors the mosaic-stack-website Traefik entrypoints=web pattern with www->apex redirect and immutable WEB_IMAGE_TAG. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
51 lines
1.4 KiB
JSON
51 lines
1.4 KiB
JSON
{
|
|
"name": "professional-website",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"description": "Jason Woltje professional website — Payload CMS 3 + Next.js 16",
|
|
"license": "UNLICENSED",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "next dev",
|
|
"build": "next build",
|
|
"start": "next start",
|
|
"lint": "eslint .",
|
|
"typecheck": "tsc --noEmit",
|
|
"payload": "payload",
|
|
"generate:types": "payload generate:types",
|
|
"generate:importmap": "payload generate:importmap",
|
|
"test": "echo \"no tests yet\" && exit 0"
|
|
},
|
|
"dependencies": {
|
|
"@payloadcms/db-postgres": "^3.50.0",
|
|
"@payloadcms/next": "^3.50.0",
|
|
"@payloadcms/richtext-lexical": "^3.50.0",
|
|
"@payloadcms/ui": "^3.50.0",
|
|
"graphql": "^16.11.0",
|
|
"lucide-react": "^0.468.0",
|
|
"next": "16.2.2",
|
|
"payload": "^3.50.0",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"sharp": "^0.34.0"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/eslintrc": "^3.3.5",
|
|
"@tailwindcss/container-queries": "^0.1.1",
|
|
"@tailwindcss/forms": "^0.5.10",
|
|
"@types/node": "^22.10.0",
|
|
"@types/react": "^19.0.0",
|
|
"@types/react-dom": "^19.0.0",
|
|
"autoprefixer": "^10.4.20",
|
|
"eslint": "^9.18.0",
|
|
"eslint-config-next": "16.1.6",
|
|
"postcss": "^8.5.0",
|
|
"tailwindcss": "^3.4.17",
|
|
"typescript": "^5.7.3"
|
|
},
|
|
"engines": {
|
|
"node": ">=20.9.0"
|
|
},
|
|
"packageManager": "pnpm@10.31.0"
|
|
}
|