Commit Graph

36 Commits

Author SHA1 Message Date
Auto
f29d296816 feat: replace Google OAuth with email/password authentication
Replace Google OAuth provider with email/password authentication to reduce
friction for MVP development and vibe coding workflows.

Changes:
- Remove Google OAuth configuration from auth.ts
- Add emailAndPassword provider with enabled: true
- Add email verification with sendOnSignUp: true
- Add password reset functionality
- Log verification and reset URLs to terminal (no email integration yet)

New auth pages (src/app/(auth)/):
- /login - Sign in page
- /register - Sign up page
- /forgot-password - Password reset request
- /reset-password - Password reset completion

New components (src/components/auth/):
- sign-up-form.tsx - Registration form
- forgot-password-form.tsx - Password reset request form
- reset-password-form.tsx - Password reset form

Updated components:
- sign-in-button.tsx - Now email/password form instead of Google button
- user-profile.tsx - Shows Sign in/Sign up buttons when logged out

Bug fixes:
- Fix React render error in profile page by wrapping router.push in useEffect

Config updates:
- Remove GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET from env.example
- Update CLAUDE.md documentation to reflect email/password auth
- Add requestPasswordReset, resetPassword, sendVerificationEmail to auth-client exports

All changes applied to both main project and create-agentic-app template.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 05:50:43 +02:00
Leon van Zyl
5cd66b245e improve github workflow 2025-12-10 07:47:21 +02:00
Leon van Zyl
ef406cdf86 add Vercel Blob storage hostname and bump version to 1.1.24
Changes:
- Add Vercel Blob storage hostname pattern (*.public.blob.vercel-storage.com)
  to Next.js image domains config for both main project and template
- Bump create-agentic-app version from 1.1.23 to 1.1.24
- Minor whitespace cleanup in storage.ts files

This allows images stored in Vercel Blob to be properly optimized
by Next.js Image component in production deployments.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 16:15:48 +02:00
Leon van Zyl
3c3936a6dc remove rate limiting 2025-11-30 15:20:49 +02:00
Leon van Zyl
defba14639 fix health check endpoint 2025-11-30 15:10:42 +02:00
Leon van Zyl
6492980212 storage updated 2025-11-30 14:47:35 +02:00
Leon van Zyl
a3a151c67a feat: comprehensive boilerplate improvements
Security & Stability:
- Add Next.js 16 proxy.ts for BetterAuth cookie-based auth protection
- Add rate limiting for API routes (src/lib/rate-limit.ts)
- Add Zod validation for chat API request bodies
- Add session auth check to chat and diagnostics endpoints
- Add security headers in next.config.ts (CSP, X-Frame-Options, etc.)
- Add file upload validation and sanitization in storage.ts

Core UX Components:
- Add error boundaries (error.tsx, not-found.tsx, chat/error.tsx)
- Add loading states (skeleton.tsx, spinner.tsx, loading.tsx files)
- Add toast notifications with Sonner
- Add form components (input.tsx, textarea.tsx, label.tsx)
- Add database indexes for performance (schema.ts)
- Enhance chat UX: timestamps, copy-to-clipboard, thinking indicator,
  error display, localStorage message persistence

Polish & Accessibility:
- Add Open Graph and Twitter card metadata
- Add JSON-LD structured data for SEO
- Add sitemap.ts, robots.ts, manifest.ts
- Add skip-to-content link and ARIA labels in site-header
- Enable profile page quick action buttons with dialogs
- Update Next.js 15 references to Next.js 16

Developer Experience:
- Add GitHub Actions CI workflow (lint, typecheck, build)
- Add Prettier configuration (.prettierrc, .prettierignore)
- Add .nvmrc pinning Node 20
- Add ESLint rules: import/order, react-hooks/exhaustive-deps
- Add stricter TypeScript settings (exactOptionalPropertyTypes,
  noImplicitOverride)
- Add interactive setup script (scripts/setup.ts)
- Add session utility functions (src/lib/session.ts)

All changes mirrored to create-agentic-app/template/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 14:46:15 +02:00
Leon van Zyl
1121258238 update home page tutorial video 2025-11-30 13:33:16 +02:00
Leon van Zyl
654a3cf84c add file storage, local and prod 2025-11-30 08:16:24 +02:00
Leon van Zyl
ff6ead47c5 update/ betterauth schema new 2025-11-06 08:27:52 +02:00
Leon van Zyl
61e98f23cf refactor/ migrate from OpenAI to OpenRouter integration
Major improvements to AI integration and developer experience:

## OpenRouter Migration
- Replaced @ai-sdk/openai with @openrouter/ai-sdk-provider
- Updated chat API route to use OpenRouter for access to 100+ AI models
- Changed environment variables from OPENAI_* to OPENROUTER_*
- Updated default model from gpt-5-mini to openai/gpt-5-mini
- Benefits: Users can now access multiple AI providers (OpenAI, Anthropic, etc.) through a single unified API

## Documentation Overhaul
- Expanded CLAUDE.md from 3 lines to comprehensive 225-line guide
- Added complete project structure, tech stack overview, and AI integration guidelines
- Documented all environment variables, scripts, and common tasks
- Added critical rules for AI assistants working with the codebase
- Enhanced checkpoint command with detailed step-by-step instructions

## README Updates
- Updated feature list to highlight OpenRouter integration
- Revised setup instructions for OpenRouter API key acquisition
- Updated environment variable examples and deployment configuration
- Changed all OpenAI references to OpenRouter throughout documentation

## Create Command Updates
- Bumped create-agentic-app version from 1.0.0 to 1.0.1
- Synchronized all template files with main project documentation
- Updated template env.example and package.json with OpenRouter configuration

## Dependency Updates
- Added @openrouter/ai-sdk-provider@^1.2.0
- Updated @ai-sdk/openai from ^2.0.53 to ^2.0.60
- Updated @ai-sdk/react from ^2.0.78 to ^2.0.86
- Updated ai from ^5.0.78 to ^5.0.86
- Updated better-auth from ^1.3.29 to ^1.3.34
- Updated drizzle-kit from ^0.31.5 to ^0.31.6
- Updated eslint from ^9.38.0 to ^9.39.0
- Various type definition updates

Breaking Changes:
- Projects must update environment variables from OPENAI_* to OPENROUTER_*
- API keys must be obtained from openrouter.ai instead of platform.openai.com
- Model names now follow OpenRouter format (e.g., "openai/gpt-5-mini")

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 14:49:40 +02:00
Leon van Zyl
a0de269975 ui/ replace emojis with lucide react icons 2025-08-27 08:13:09 +02:00
Leon van Zyl
eb71ad75b6 feat: add user profile page and replace nav welcome text with avatar dropdown
- Replace welcome text in navigation with clickable avatar dropdown
- Add dropdown menu showing user name, email, profile link, and logout
- Create comprehensive user profile page (/profile) with:
  - Profile overview with avatar, name, email, and verification status
  - Account information section with detailed user data
  - Account activity tracking with current session status
  - Quick actions section with placeholder buttons for future features
- Add missing UI components (Card, Badge, Separator) following shadcn/ui patterns
- Use proper design tokens and destructive variant for logout action
- All components pass lint and type checking

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 08:12:09 +02:00
Leon van Zyl
9377f6eabb refactor: standardize to Tailwind and shadcn default styling
- Remove all custom styling patterns and utilities (glow, gradients, custom colors)
- Fix Tailwind v4 CSS variable configuration with proper @theme directive
- Replace custom OKLCH colors with standard shadcn neutral theme
- Remove complex button styling with glow effects and gradients
- Standardize error colors to use semantic destructive tokens
- Remove custom background gradients and complex header styling
- Clean up globals.css removing custom utilities and animations
- Ensure proper dark/light mode theme switching functionality

 All components now use standard shadcn/Tailwind patterns
 Dark/light mode works correctly
 No custom styling or inline classes
 Passes lint and typecheck

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 07:45:42 +02:00
Leon van Zyl
ebdb7c9597 docs/ rename gh project 2025-08-19 07:19:30 +02:00
Leon van Zyl
ab0b6c97dd fix/ github counter 2025-08-18 14:36:39 +02:00
Leon van Zyl
0f26a394de feat/ add "think hard" to starter prompt for improved results. 2025-08-18 14:28:53 +02:00
Leon van Zyl
a20fcddcba docs/ update README 2025-08-18 14:20:20 +02:00
Leon van Zyl
ce92f0ce26 ui/ create footer component 2025-08-17 09:51:17 +02:00
Leon van Zyl
8a65a51f2d ui/ add gh stars 2025-08-16 11:03:20 +02:00
Leon van Zyl
68398567b9 ui/ add dark and light mode toggle 2025-08-16 10:57:50 +02:00
Leon van Zyl
955a14dfe5 db/ fix DB env var name 2025-08-13 15:28:44 +02:00
Leon van Zyl
6d376f84dc AI env vars 2025-08-13 15:03:27 +02:00
Leon van Zyl
bb782d4151 fix starter prompt 2025-08-13 14:25:38 +02:00
Leon van Zyl
0437e46f03 ui/ fix db commands 2025-08-13 13:06:19 +02:00
Leon van Zyl
69b775096e Starter Prompt Assistance 2025-08-13 12:53:32 +02:00
Leon van Zyl
5741fcc486 ui/ disable buttons if health checks not working 2025-08-13 12:37:48 +02:00
Leon van Zyl
9dcb5aa9e3 ui/ health checklist 2025-08-13 12:13:16 +02:00
Leon van Zyl
863906de86 ui/ reusable header 2025-08-13 11:37:24 +02:00
Leon van Zyl
9c70c66dc5 ui/ markdown support 2025-08-13 11:27:13 +02:00
Leon van Zyl
efdc0b4691 streaming 2025-08-13 11:22:15 +02:00
Leon van Zyl
05384d5213 Fix avatar image 2025-08-13 09:47:45 +02:00
Leon van Zyl
616ebb8fcc use shadcn avatar component 2025-08-13 09:41:10 +02:00
Leon van Zyl
4eae69b8ce Update button 2025-08-13 09:25:25 +02:00
Leon van Zyl
c412e6e76d Init 2025-08-11 12:38:39 +02:00
Leon van Zyl
2af182a3a8 Initial commit from Create Next App 2025-08-11 12:18:11 +02:00