52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
---
|
|
id: TASK-1
|
|
title: Scaffold the Next.js MVP foundation
|
|
status: In Progress
|
|
assignee: []
|
|
created_date: '2026-06-03 19:12'
|
|
updated_date: '2026-06-03 19:42'
|
|
labels:
|
|
- mvp
|
|
- foundation
|
|
- nextjs
|
|
dependencies: []
|
|
references:
|
|
- PRD.md
|
|
priority: high
|
|
ordinal: 1000
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Set up the application foundation for the WebDev Pipeline MVP: Next.js App Router, TypeScript, Tailwind, shadcn/ui, base routing, environment structure, and deployment-aware project conventions for Coolify. This task creates the technical base that all later feature work depends on.
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [x] #1 Next.js App Router project exists with TypeScript and a working local dev script
|
|
- [x] #2 Tailwind and shadcn/ui are configured and at least one shared UI component renders correctly
|
|
- [x] #3 Base routes exist for dashboard, login placeholder, and public audit placeholder
|
|
- [x] #4 Environment variable conventions are documented for Coolify, Convex, Google, OpenRouter, SMTP, and Rybbit
|
|
- [x] #5 A basic smoke test or build command verifies the scaffold compiles
|
|
<!-- AC:END -->
|
|
|
|
## Implementation Plan
|
|
|
|
<!-- SECTION:PLAN:BEGIN -->
|
|
1. Migrate package manager to pnpm
|
|
2. Verify scaffold
|
|
3. Replace starter UI
|
|
4. Add base routes
|
|
5. Document env conventions
|
|
6. Run lint and build
|
|
<!-- SECTION:PLAN:END -->
|
|
|
|
## Implementation Notes
|
|
|
|
<!-- SECTION:NOTES:BEGIN -->
|
|
Implemented pnpm-based Next.js MVP foundation on branch task-1-scaffold-foundation.
|
|
Verified pnpm install, pnpm lint, pnpm build, and local route smoke checks for /, /dashboard, /login, and /audit/example.
|
|
Note: pnpm requires approved build scripts for msw, sharp, and unrs-resolver, recorded in pnpm-workspace.yaml. Build needs network access for next/font/google unless fonts are later self-hosted.
|
|
<!-- SECTION:NOTES:END -->
|