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>
95 lines
4.9 KiB
Markdown
95 lines
4.9 KiB
Markdown
I'm working with an agentic coding boilerplate project that includes authentication, database integration, and AI capabilities. Here's what's already set up:
|
|
|
|
## Current Agentic Coding Boilerplate Structure
|
|
|
|
- **Authentication**: Better Auth with Google OAuth integration
|
|
- **Database**: Drizzle ORM with PostgreSQL setup
|
|
- **AI Integration**: Vercel AI SDK with OpenAI integration
|
|
- **UI**: shadcn/ui components with Tailwind CSS
|
|
- **Current Routes**:
|
|
- `/` - Home page with setup instructions and feature overview
|
|
- `/dashboard` - Protected dashboard page (requires authentication)
|
|
- `/chat` - AI chat interface (requires OpenAI API key)
|
|
|
|
## Important Context
|
|
|
|
This is an **agentic coding boilerplate/starter template** - all existing pages and components are meant to be examples and should be **completely replaced** to build the actual AI-powered application.
|
|
|
|
### CRITICAL: You MUST Override All Boilerplate Content
|
|
|
|
**DO NOT keep any boilerplate components, text, or UI elements unless explicitly requested.** This includes:
|
|
|
|
- **Remove all placeholder/demo content** (setup checklists, welcome messages, boilerplate text)
|
|
- **Replace the entire navigation structure** - don't keep the existing site header or nav items
|
|
- **Override all page content completely** - don't append to existing pages, replace them entirely
|
|
- **Remove or replace all example components** (setup-checklist, starter-prompt-modal, etc.)
|
|
- **Replace placeholder routes and pages** with the actual application functionality
|
|
|
|
### Required Actions:
|
|
|
|
1. **Start Fresh**: Treat existing components as temporary scaffolding to be removed
|
|
2. **Complete Replacement**: Build the new application from scratch using the existing tech stack
|
|
3. **No Hybrid Approach**: Don't try to integrate new features alongside existing boilerplate content
|
|
4. **Clean Slate**: The final application should have NO trace of the original boilerplate UI or content
|
|
|
|
The only things to preserve are:
|
|
|
|
- **All installed libraries and dependencies** (DO NOT uninstall or remove any packages from package.json)
|
|
- **Authentication system** (but customize the UI/flow as needed)
|
|
- **Database setup and schema** (but modify schema as needed for your use case)
|
|
- **Core configuration files** (next.config.ts, tsconfig.json, tailwind.config.ts, etc.)
|
|
- **Build and development scripts** (keep all npm/pnpm scripts in package.json)
|
|
|
|
## Tech Stack
|
|
|
|
- Next.js 16 with App Router
|
|
- TypeScript
|
|
- Tailwind CSS
|
|
- Better Auth for authentication
|
|
- Drizzle ORM + PostgreSQL
|
|
- Vercel AI SDK
|
|
- shadcn/ui components
|
|
- Lucide React icons
|
|
|
|
## Component Development Guidelines
|
|
|
|
**Always prioritize shadcn/ui components** when building the application:
|
|
|
|
1. **First Choice**: Use existing shadcn/ui components from the project
|
|
2. **Second Choice**: Install additional shadcn/ui components using `pnpm dlx shadcn@latest add <component-name>`
|
|
3. **Last Resort**: Only create custom components or use other libraries if shadcn/ui doesn't provide a suitable option
|
|
|
|
The project already includes several shadcn/ui components (button, dialog, avatar, etc.) and follows their design system. Always check the [shadcn/ui documentation](https://ui.shadcn.com/docs/components) for available components before implementing alternatives.
|
|
|
|
## What I Want to Build
|
|
|
|
Basic todo list app with the ability for users to add, remove, update, complete and view todos.
|
|
|
|
## Request
|
|
|
|
Please help me transform this boilerplate into my actual application. **You MUST completely replace all existing boilerplate code** to match my project requirements. The current implementation is just temporary scaffolding that should be entirely removed and replaced.
|
|
|
|
## Final Reminder: COMPLETE REPLACEMENT REQUIRED
|
|
|
|
🚨 **IMPORTANT**: Do not preserve any of the existing boilerplate UI, components, or content. The user expects a completely fresh application that implements their requirements from scratch. Any remnants of the original boilerplate (like setup checklists, welcome screens, demo content, or placeholder navigation) indicate incomplete implementation.
|
|
|
|
**Success Criteria**: The final application should look and function as if it was built from scratch for the specific use case, with no evidence of the original boilerplate template.
|
|
|
|
## Post-Implementation Documentation
|
|
|
|
After completing the implementation, you MUST document any new features or significant changes in the `/docs/features/` directory:
|
|
|
|
1. **Create Feature Documentation**: For each major feature implemented, create a markdown file in `/docs/features/` that explains:
|
|
|
|
- What the feature does
|
|
- How it works
|
|
- Key components and files involved
|
|
- Usage examples
|
|
- Any configuration or setup required
|
|
|
|
2. **Update Existing Documentation**: If you modify existing functionality, update the relevant documentation files to reflect the changes.
|
|
|
|
3. **Document Design Decisions**: Include any important architectural or design decisions made during implementation.
|
|
|
|
This documentation helps maintain the project and assists future developers working with the codebase.
|