Production-ready Next.js starter optimized for AI agents to build features quickly.
- Next.js 16 (App Router)
- TypeScript (Strict mode)
- Tailwind CSS v4
- shadcn/ui (All components)
- React Query (Data fetching & caching)
- next-themes (Dark mode)
- nuqs (Type-safe URL state)
- zustand (Global state)
- nanoid (ID generation)
- usehooks-ts (Utility hooks)
- Supabase (Optional)
npm install
npm run devNote: Supabase is optional. Project works without configuration.
Read .ai-guide.md - Complete development guide with patterns, conventions, and examples.
✅ Full TypeScript with strict mode
✅ React Query setup with devtools
✅ All shadcn/ui components installed
✅ Error boundaries & loading states
✅ Toast notifications (sonner)
✅ Layout components (Container, PageHeader)
✅ Loading skeletons
✅ Date utilities
✅ Environment validation
✅ Supabase ready (or remove easily)
✅ Useful npm scripts
npm run dev # Development server
npm run build # Production build
npm run type-check # TypeScript check
npm run lint:fix # Fix linting errors
npm run validate # Type-check + lint
npm run setup:env # Create .env.local
npm run check:env # Validate environment
npm run clean # Clear cache
npm run reinstall # Full reinstallUsing Supabase?
npm run setup:env- Add your credentials to
.env.local - Use
createClient()fromlib/supabase/
Not using Supabase?
- Just use API routes in
app/api/ - Or delete
lib/supabase/entirely - Everything else works without it!
app/ Pages & API routes
components/ React components
ui/ shadcn/ui (don't edit manually)
layout/ Container, PageHeader
lib/ Business logic & utilities
hooks/ Custom React hooks
actions/ Server actions
.ai-guide.md- Complete development guideenv.example- Required environment variableshooks/query-hooks-template.ts- React Query patternscomponents.json- shadcn/ui configuration
- Define types in
lib/types/ - Create components in
components/ - Add data hooks in
hooks/or API routes inapp/api/ - Create pages in
app/ - Use Server Actions for mutations
See .ai-guide.md for detailed patterns and examples.
Optional - only needed if using Supabase:
npm run setup:envThen add to .env.local:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
Project works without these!
MIT