Quick Start
Get ProductReady running in 10 minutes - from zero to deployed
Quick Start
Welcome to ProductReady! 🚀 This guide will get you from zero to a working app in under 10 minutes.
New to ProductReady? Try Demo Mode first - no database setup required!
What You'll See
First, visit https://productready.dev to see the live demo.
After setup, ProductReady provides several pre-built pages ready to use. Here's what you can explore:
| Page | Route | Description | Screenshot |
|---|---|---|---|
| Landing Page | / | Marketing homepage with hero section, features, and CTA | Coming soon |
| Dashboard | /dashboard | Main application dashboard with task management and analytics | Coming soon |
| Agent Tasks | /agent | AI agent task creation and monitoring interface | Coming soon |
| System Admin | /systemadmin | System administration panel (requires admin privileges) | Coming soon |
Live Demo Available! Access all routes with ?demo=1 parameter (e.g., /dashboard?demo=1) to explore without authentication.
Quick Access Links:
- 🏠 Landing Page:
http://localhost:3000/ - 📊 Dashboard:
http://localhost:3000/dashboard(or/dashboard?demo=1) - 🤖 Agent Tasks:
http://localhost:3000/agent(or/agent?demo=1) - ⚙️ System Admin:
http://localhost:3000/systemadmin(or/systemadmin?demo=1)
Note: Screenshots will be added in the next documentation update. For now, start the dev server and explore these routes yourself!
Two Ways to Use ProductReady
ProductReady can help you in two scenarios:
🆕 New ProjectStart from ProductReady boilerplate You're building something new and want:
Time: 5 min + AI setup | 🔄 Existing ProjectAdopt ProductReady patterns You have an existing app and want to:
Time: 30-60 min + AI migration |
Just exploring? Try Demo Mode first - no setup, 2 minutes to see everything!
Prerequisites
Before you start, make sure you have:
- Node.js 18+ - Download here
- pnpm - Install with:
npm install -g pnpm - Git - Download here
- Database (for Manual Setup only) - PostgreSQL (Neon / Supabase / local)
Using Windows? We recommend using WSL2 for the best experience.
New Project from ProductReady
Use this if you're starting from scratch.
AI-Powered Initialization (Recommended)
Clone ProductReady
git clone https://github.com/mr-kelly/productready.git my-new-project
cd my-new-project/apps/productready
pnpm installUse This AI Prompt
Copy and paste to GitHub Copilot, Claude, or Cursor:
Please help me **Initialize a Product Ready project** using the `apps/productready` boilerplate:
PHASE 1 - CLEANUP:
1. Read README.md and understand the project structure
2. Delete the changelog/ directory entirely (we'll start fresh)
3. Clean up content/docs/:
- Keep only index.mdx in content/docs/en/ with a simple "# Welcome" placeholder
- Keep only index.mdx in content/docs/zh-CN/ with "# 欢迎" placeholder
- Delete all other .mdx files in both language folders
4. Update src/db/seed.ts:
- Keep the demo user seeding (demo@productready.dev)
- Remove all example posts seeding
- Remove agent tasks seeding if not needed
5. Clean up spec/ directory:
- Keep the directory structure
- Clear contents of product-design.md, icp-guide.md, marketing-guide.md
- We'll fill these in next
PHASE 2 - INITIALIZE MY PROJECT:
Project Name: [YOUR_PROJECT_NAME]
Description: [WHAT_YOU'RE_BUILDING]
Core Features:
- [FEATURE_1]
- [FEATURE_2]
- [FEATURE_3]
Target Users: [WHO_IS_THIS_FOR]
PHASE 3 - PLANNING:
After cleanup, create a detailed implementation plan with:
1. Database schema changes needed (modify src/db/schema/)
2. tRPC routers to create/modify (in src/server/routers/)
3. UI pages and components needed
4. Authentication/authorization requirements
5. API integrations needed
Please proceed with Phase 1 cleanup first, then ask me for project details for Phase 2.Step 3: Iterate with AI
After AI completes the cleanup:
- Define your product: Fill in your project details when AI asks
- Review the plan: AI will create a todo list - review and adjust
- Start building: Work through todos with AI assistance
- Test frequently: Use
pnpm devto test changes locally
Example Conversation Flow
You: [paste the AI prompt above]
AI: ✅ Completed Phase 1 cleanup. Now, please tell me about your project:
- What problem does it solve?
- Who are your target users?
- What are the core features?
You: I'm building a customer feedback tool for SaaS companies.
Target users: Product managers and founders
Features: Survey creation, response collection, sentiment analysis
AI: Great! I'll now update:
- spec/product-design.md with your PRD
- Database schema for surveys, responses, sentiment data
- tRPC routers for CRUD operations
- UI components for survey builder
Here's the implementation plan: [detailed todos]
Shall I proceed with the database schema changes?
You: Yes, but add a "tags" field to surveys for categorization
AI: ✅ Updated schema with tags. Here are the changes...Iterate and Build
Benefits of AI setup:
- ⚡ 10x faster than manual cleanup
- 🎯 Smart planning - AI creates structured todos
- 📝 Documentation - AI updates specs as you build
- 🔄 Iterative - Refine requirements as you go
- 🧠 Learning - AI explains what it's doing
Refactor Existing Project
Already have a codebase? Don't start from scratch - migrate to ProductReady's architecture!
When to Refactor vs Start Fresh
✅ Refactor your existing project if:
| ✅ Start fresh with ProductReady if:
|
AI Migration Prompt
Use this prompt to have AI help you migrate your existing project:
I have an existing project at `[YOUR_PROJECT_PATH]`.
Please help me **Make my project Product Ready**!
Read the ProductReady boilerplate at `apps/productready` to understand the architecture, then help me refactor my project:
PHASE 1 - ANALYSIS:
1. Analyze my current project structure and tech stack
2. Compare with ProductReady's architecture (tRPC, Drizzle, Better Auth, VO/DTO)
3. Identify gaps and pain points
4. Create a prioritized migration roadmap
PHASE 2 - ARCHITECTURE ADOPTION:
Help me migrate to:
- ✅ tRPC v11 (replace my REST APIs or upgrade from tRPC v10)
- ✅ Better Auth (replace NextAuth/Auth.js/custom auth)
- ✅ Drizzle ORM (migrate from Prisma/TypeORM/Sequelize)
- ✅ VO/DTO/PO pattern (add type safety at API boundaries)
- ✅ Fumadocs (set up documentation system)
- ✅ Demo mode support (add ?demo=1 for presentations)
- ✅ CSS variables design system (replace hardcoded colors)
PHASE 3 - CODE REORGANIZATION:
Restructure my code to match ProductReady's layout:
- src/app/ - Next.js App Router with route groups
- src/server/routers/ - tRPC routers with VO validation
- src/db/schema/ - Drizzle schemas and migrations
- src/components/ - Organized React components
- src/lib/ - Utilities (auth, trpc, i18n)
- spec/ - Product design and architecture docs
- content/docs/ - User-facing documentation
PHASE 4 - INCREMENTAL MIGRATION PLAN:
Prioritize based on impact and risk:
1. [ ] Database layer - Migrate to Drizzle ORM
2. [ ] Auth system - Switch to Better Auth
3. [ ] API layer - Migrate to tRPC v11 with VO/DTO
4. [ ] Type safety - Add Zod schemas and validation
5. [ ] Design system - Implement CSS variables
6. [ ] Documentation - Set up Fumadocs
7. [ ] Testing - Add Vitest + Playwright
MY CURRENT STACK:
- Framework: [e.g., Next.js 14 App Router]
- Database: [e.g., Prisma + PostgreSQL]
- Auth: [e.g., NextAuth.js]
- API: [e.g., REST endpoints or tRPC v10]
- Styling: [e.g., Tailwind CSS + shadcn/ui]
- State: [e.g., Zustand, Redux]
PAIN POINTS TO ADDRESS:
[Describe your issues - e.g., "No type safety between frontend and backend", "Auth bugs with session handling", "Slow database queries"]
Please start with Phase 1 analysis and create a detailed migration plan with:
- Breaking changes to watch for
- Data migration strategy
- Rollback plan for each phase
- Estimated effort for each stepExample Migration Scenarios
Scenario 1: Prisma → Drizzle
AI will:
- Convert Prisma schema to Drizzle
- Generate equivalent migrations
- Update queries to Drizzle syntax
- Add Zod validation from Prisma schema
- Test data integrity
Scenario 2: NextAuth → Better Auth
AI will:
- Migrate session/user tables
- Convert auth providers config
- Update login/signup flows
- Preserve existing user data
- Test authentication end-to-end
Scenario 3: REST → tRPC
AI will:
- Convert REST endpoints to tRPC routers
- Add input/output Zod validation
- Implement VO/DTO patterns
- Update frontend to tRPC client
- Add end-to-end type safety
Migration Checklist
After AI completes migration phases:
- All tests pass - No regressions in existing features
- Database migrated - Data integrity verified
- Auth works - Users can sign in with existing accounts
- APIs functional - All endpoints respond correctly
- Type safety - No
anytypes, full IntelliSense - Docs updated - README and specs reflect new architecture
- Performance OK - No slowdowns from migration
- Deploy tested - Staging environment works
Benefits of Gradual Migration
- ✅ Low risk - Migrate one layer at a time
- ✅ Keep working - Features stay functional during migration
- ✅ Learn gradually - Understand new patterns as you adopt them
- ✅ Rollback-friendly - Each phase can be reverted if needed
- ✅ Team alignment - Everyone learns the new architecture together
Important: Always test each migration phase thoroughly before moving to the next. Use feature flags to toggle between old and new implementations during transition.
Demo Mode
Want to explore ProductReady without any setup? Try demo mode first!
Clone the repository
git clone https://github.com/mr-kelly/productready.git
cd kapps/apps/productreadyOpen demo mode
Visit: http://localhost:3000/dashboard?demo=1
You'll see a working dashboard with:
- Mock AI agent tasks
- Sample data
- All features working (no database needed!)
Perfect for: Exploring features, testing UI, giving demos
Manual Setup
Ready to set up ProductReady the traditional way? Follow these steps.
Clone and install
# Clone the repository
git clone https://github.com/mr-kelly/productready.git
cd kapps/apps/productready
# Install dependencies
pnpm installCreate environment file
# Copy the example environment file
cp .env.example .envNow open .env in your editor and fill in the required values:
# Database (required)
PG_DATABASE_URL="postgresql://user:password@localhost:5432/productready"
# Auth (required)
BETTER_AUTH_SECRET="your-secret-key-min-32-chars"
BETTER_AUTH_URL="http://localhost:3000"
# OAuth (optional - add later)
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""Generate a secret: Run openssl rand -base64 32 to generate a random secret for BETTER_AUTH_SECRET
Set up your database
Option 1: Use Neon (recommended for beginners)
- Go to neon.tech and create a free account
- Create a new project
- Copy the connection string (looks like:
postgresql://user:pass@ep-xxx.us-east-2.aws.neon.tech/neondb) - Paste it into your
.envasPG_DATABASE_URL
Option 2: Use Supabase
- Go to supabase.com and create a project
- Go to Project Settings → Database
- Copy the "Connection string" (with pooling enabled)
- Paste it into your
.envasPG_DATABASE_URL
Option 3: Use Docker Compose (recommended for local development)
ProductReady includes a docker-compose.yml configuration that starts all required database services (PostgreSQL, Redis, Typesense) with one command.
# Run from project root (kapps/)
make dbThis will start:
- PostgreSQL:
localhost:5432(user:bika, password:bikabika, database:bikadev) - Redis:
localhost:6379 - Redis Insight:
http://localhost:8001(management UI) - Typesense:
http://localhost:8108(API Key:bikabika)
Your .env should be:
PG_DATABASE_URL="postgresql://bika:bikabika@localhost:5432/bikadev"Tip: Use make db-stop to stop services, make db-logs to view logs. See the Deployment Guide for more commands.
Run database migrations
# Generate migration files (if needed)
pnpm db:generate
# Run migrations to create tables
pnpm db:migrateYou should see output like:
✓ Migrated successfully
✓ Tables created: users, sessions, tasks, postsSeed the database (optional)
Want some example data to play with?
pnpm db:seedThis creates:
- Demo user:
demo@productready.dev(password:demo123456) - Admin user:
admin@productready.dev(password shown in seed output or set viaSITE_ADMIN_PASSWORD) - Sample tasks and posts
- Test data for all features
Start the dev server
pnpm devOpen http://localhost:3000 in your browser.
You should see:
- ✅ Landing page loads
- ✅ Sign in / Sign up works
- ✅ Dashboard accessible after login
- ✅ No console errors
Quick Start Tutorial
Let's explore ProductReady's key features through hands-on examples.
Sign in to the dashboard
- Go to http://localhost:3000/dashboard
- Sign in with:
demo@productready.dev/demo123456(if you randb:seed) - Or create a new account
Create your first Post
The dashboard demonstrates a complete CRUD feature (Posts):
- Click "New Post" button in the dashboard
- Fill in:
- Title: "My First ProductReady Post"
- Content: "This is a test post to understand tRPC, Drizzle, and the VO/DTO pattern"
- Click "Create"
Your post appears immediately! This demonstrates:
- ✅ tRPC mutation - Type-safe API call
- ✅ Drizzle ORM - Database insert with type safety
- ✅ VO/DTO pattern - Input validation with Zod
- ✅ React Query - Optimistic updates and cache invalidation
Tip: Open DevTools Network tab to see the tRPC call. Check out src/server/routers/posts.ts to see the backend implementation.
Try the AI Agent Interface (Coming Soon)
ProductReady includes an AI agent interface for autonomous task execution:
- Visit http://localhost:3000/agent
- The agent page shows the workflow:
- Task queue management
- Execution status tracking
- Result display
Note: The /agent page is a UI mockup demonstrating the agent workflow. Full agent execution functionality is under development. Use this as a reference for building your own AI agent features.
What you can learn:
- Agent task lifecycle (pending → running → completed)
- Real-time status updates pattern
- How to structure agent-human interaction UI
Congratulations! You now have:
- A working Next.js app with TypeScript
- Database with Drizzle ORM
- Authentication with Better Auth
- Type-safe API with tRPC
- AI-ready task management system
Next Steps
Now that ProductReady is running, explore these guides:
For Product Managers & Designers
- Understanding the Dashboard - UI components and user flows
- AI Coding Examples - How to use AI to customize your app
- Design System - Colors, typography, and components
For Developers
- Project Structure - Understanding the codebase
- tRPC API Guide - Building type-safe APIs
- Database Schema - Adding tables and relationships
- Authentication - OAuth, sessions, and permissions
Deploy to Production
- Deploy to Vercel - One-click deployment
- Docker Deployment - Self-hosted option
Troubleshooting
"Database connection failed"
Check your PG_DATABASE_URL in .env:
- Is the format correct?
postgresql://user:pass@host:port/db - Can you connect with
psql? Test:psql $PG_DATABASE_URL - Is your database running? Check with
brew services list(macOS)
"Port 3000 already in use"
Kill the process or use a different port:
# Kill process on port 3000
lsof -ti:3000 | xargs kill -9
# Or use different port
pnpm dev -- --port 3001"Module not found" errors
Clear cache and reinstall:
rm -rf node_modules .next
pnpm install
pnpm devStill stuck?
- Check Common Issues
- Search GitHub Issues
- Ask in Discussions
What's Next?
You're all set! Here are some ideas:
- Customize the landing page - Edit
src/app/(home)/page.tsx - Add a new database table - See Database Guide
- Build a new API endpoint - Follow tRPC Guide
- Style your app - Use Design System
- Deploy to production - Follow Vercel Guide
Ready to ship? Let's go! 🚀