A comprehensive web application framework built with Next.js 15, featuring full-stack development tools, AI integration, and production-ready infrastructure.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS v4
- UI Components: shadcn/ui
- Theme System: next-themes
- Database: PostgreSQL with Supabase
- Caching: Redis for sessions and rate limiting
- Authentication: Clerk
- File Storage: AWS S3
- AI Integration: Vercel AI SDK
- Language Models: OpenAI GPT-4, Anthropic Claude
- Rate Limiting: Advanced rate limiting with Redis
- Containerization: Docker with Docker Compose
- CI/CD: GitHub Actions
- Production Deploy: Vercel/AWS with monitoring
Before you begin, ensure you have the following:
- Node.js 18+ installed
- Docker and Docker Compose for development environment
- A Clerk account for authentication
- A Supabase account for database
- Redis instance (local or cloud)
- AWS account for S3 storage
- OpenAI API key for AI features
- Generated project documents from CodeGuide for best development experience
-
Clone the repository
git clone <repository-url> cd codeguide-starter-kit-lite-v2
-
Environment setup
cp .env.example .env.local # Edit .env.local with your API keys and configuration
-
Start with Docker
npm run docker:dev
-
Install frontend dependencies and start Next.js
npm install npm run dev
-
Clone and install
git clone <repository-url> cd codeguide-starter-kit-lite-v2 npm install
-
Set up services (PostgreSQL, Redis, S3)
- See Configuration section below for detailed setup
-
Environment variables
cp .env.example .env.local # Fill in all required environment variables
-
Database setup
# Run migrations (when database is connected) npm run db:migrate
-
Start development
npm run dev
The homepage includes a comprehensive setup dashboard showing the status of all services.
- Go to Clerk Dashboard
- Create a new application
- Go to API Keys
- Copy the
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
andCLERK_SECRET_KEY
- Go to Supabase Dashboard
- Create a new project
- Go to Authentication β Integrations β Add Clerk (for third-party auth)
- Go to Project Settings > API
- Copy the
Project URL
asNEXT_PUBLIC_SUPABASE_URL
- Copy the
anon
public key asNEXT_PUBLIC_SUPABASE_ANON_KEY
- Go to OpenAI Platform or Anthropic Console
- Create an API key
- Add to your environment variables
Create a .env.local
file in the root directory with the following variables:
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_publishable_key
CLERK_SECRET_KEY=your_secret_key
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
# AI Integration (Optional)
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
- π Authentication with Clerk (middleware protection)
- ποΈ Supabase Database with third-party auth integration
- π€ AI Chat Interface with OpenAI/Anthropic support
- π¨ 40+ shadcn/ui components (New York style)
- π Dark mode with system preference detection
- π― Built-in setup dashboard with service status
- π App Router with Server Components
- π Row Level Security examples with Clerk user IDs
- π± Responsive design with TailwindCSS v4
- π¨ Custom fonts (Geist Sans, Geist Mono, Parkinsans)
codeguide-starter-kit/
βββ src/
β βββ app/ # Next.js app router pages
β β βββ api/chat/ # AI chat API endpoint
β β βββ globals.css # Global styles with dark mode
β β βββ layout.tsx # Root layout with providers
β β βββ page.tsx # Hero + setup dashboard
β βββ components/ # React components
β β βββ ui/ # shadcn/ui components (40+)
β β βββ chat.tsx # AI chat interface
β β βββ theme-provider.tsx # Theme context
β β βββ theme-toggle.tsx # Dark mode toggle
β βββ lib/ # Utility functions
β β βββ supabase.ts # Supabase client with Clerk auth
β β βββ user.ts # User utilities
β β βββ utils.ts # General utilities
β β βββ env-check.ts # Environment validation
β βββ middleware.ts # Clerk route protection
βββ supabase/
β βββ migrations/ # Database migrations with RLS examples
βββ CLAUDE.md # AI coding agent documentation
βββ SUPABASE_CLERK_SETUP.md # Integration setup guide
βββ components.json # shadcn/ui configuration
This starter includes modern Clerk + Supabase integration:
- Third-party auth (not deprecated JWT templates)
- Row Level Security policies using
auth.jwt() ->> 'sub'
for Clerk user IDs - Example migrations with various RLS patterns (user-owned, public/private, collaboration)
- Server-side client with automatic Clerk token handling
This starter is optimized for AI coding agents:
CLAUDE.md
- Comprehensive project context and patterns- Setup guides with detailed integration steps
- Example migrations with RLS policy templates
- Clear file structure and naming conventions
- TypeScript integration with proper type definitions
To implement the generated documentation from CodeGuide:
-
Create a
documentation
folder in the root directory:mkdir documentation
-
Place all generated markdown files from CodeGuide in this directory:
# Example structure documentation/ βββ project_requirements_document.md βββ app_flow_document.md βββ frontend_guideline_document.md βββ backend_structure_document.md
-
These documentation files will be automatically tracked by git and can be used as a reference for your project's features and implementation details.
Contributions are welcome! Please feel free to submit a Pull Request.