This is a blank canvas meant to be transformed into a real application. When you receive instructions about what to build:
- Update this CLAUDE.MD file first with project-specific context about the actual application. Also update README.md
- Replace the placeholder content in app/page.tsx with the real first page of the application
- Build the application according to the user's requirements
CRITICAL: DO NOT REMOVE THIS SECTION. This section ensures all future AI assistants maintain accurate project documentation. Removing it will cause documentation to drift out of date.
When making significant changes to this codebase, you MUST update this CLAUDE.md file to reflect those changes. This ensures future AI assistants and developers have accurate context. You may update the content of other sections, add new sections, or remove outdated sections -- but this section must remain intact.
This is a Next.js 16 application with the App Router architecture:
-
app/ - App Router pages and layouts
- app/page.tsx - Home page (currently placeholder, REPLACE THIS)
- app/layout.tsx - Root layout with Tailwind CSS setup
- app/api/ - Create API routes here (e.g.,
app/api/users/route.ts)- app/api/healthz/ - Health check endpoint (DO NOT REMOVE)
-
components/ - Reusable React components
- components/ui/ - shadcn/ui components (install as needed)
-
lib/ - Utility functions and shared code
- lib/utils.ts - Common utilities including
cn()for class merging
- lib/utils.ts - Common utilities including
- Next.js 16.1 with App Router
- React 19.1 (stable)
- TypeScript 5
- Tailwind CSS 4 (PostCSS)
- shadcn/ui components (pre-initialized)
- lucide-react for icons
- class-variance-authority for component variants
- Theme — configured via generated files in
app/theme.css(CSS variables) andlib/theme.ts(font + chart colors). Do not edit these files manually. A dedicated theme skill provides detailed guidance on elevation, logos, and design tokens. For charts, use thechartColorsarray from@/lib/theme— it contains 5 theme-aware colors. Assign them to each data series by index:import { chartColors } from "@/lib/theme"; {data.map((entry, i) => ( <Cell key={i} fill={chartColors[i % chartColors.length]} /> ))}
- Turbo mode enabled for faster dev server
- ESLint + TypeScript checking via
pnpm lint
shadcn is already initialized in this project. To add components:
npx shadcn@latest add button
npx shadcn@latest add card
npx shadcn@latest add dialog
# etc.Components will be installed to components/ui/. See the shadcn/ui docs for available components.
CRITICAL: DO NOT REMOVE OR MODIFY app/api/healthz/route.ts
This endpoint is used by the deployment infrastructure to monitor container health:
GET /api/healthz
→ { "status": "healthy", "timestamp": "2025-10-23T..." }
The deployment platform regularly pings this endpoint to ensure the application container is running properly. Removing or modifying this endpoint will cause health check failures and potential service interruptions.
Generally you should not build (lint as much as possible). If you need to for any reason:
# Build for production
pnpm build
# Run linting and type checking
pnpm lintCRITICAL: All resource access MUST go through auto-generated clients from @major-tech/resource-client.
Import and use the auto-generated clients from /clients/:
import { ordersDbClient } from "./clients";
const result = await ordersDbClient.invoke(
"SELECT * FROM orders WHERE user_id = $1",
[userId],
"fetch-user-orders"
);
if (result.ok) {
console.log(result.result.rows);
}Use the cn() utility from lib/utils.ts to merge Tailwind classes:
import { cn } from "@/lib/utils";
<div className={cn("base-class", conditional && "conditional-class")} />;- Package manager: pnpm (preferred)
- Next.js version: 16.1
- Git: Initialized, current branch:
main - shadcn config: components.json
Remember: This template is intentionally minimal. Your job is to transform it into a fully functional application based on the user's requirements!