Product Ready Boilerplate Markers
Technical specification for marking apps based on Product Ready Boilerplate
Product Ready Boilerplate Markers
The Product Ready Boilerplate provides production-grade infrastructure for Next.js SaaS applications. This document describes the technical specification for marking and tracking apps based on this boilerplate.
Identification System
Apps based on Product Ready are marked with a productready field in their package.json. This provides a lightweight, maintainable way to track which apps derive from the boilerplate.
package.json Marker Structure
{
"name": "@app/web",
"productready": {
"type": "derived",
"baseVersion": "0.3.0",
"features": {
"auth": true,
"database": true,
"trpc": true,
"openapi": true,
"i18n": true,
"documentation": true,
"billing": true,
"email": true,
"ai": true,
"demo": true,
"testing": true
},
"aligned": true,
"missingFeatures": []
}
}Field Descriptions
Core Fields:
type- Either "original" (productready itself) or "derived" (apps based on it)baseVersion- The version of Product Ready the app is based on (e.g., "0.3.0")
Feature Tracking:
features- Object tracking which of the 11 Product Ready features are implementedauth- Authentication system (Better Auth)database- Database layer (Drizzle ORM with PostgreSQL)trpc- Type-safe API (tRPC v11)openapi- OpenAPI documentationi18n- Internationalization supportdocumentation- User documentation (Fumadocs)billing- Billing integrationemail- Email sending capabilityai- AI features integrationdemo- Demo/example implementationstesting- Test infrastructure (Vitest)
Alignment Status:
aligned- Boolean indicating if all features match the boilerplatemissingFeatures- Array listing features not yet implemented (only whenaligned: false)
Detection and Validation
Apps can be detected and validated using automated scripts:
# List all Product Ready apps with feature alignment status
node scripts/detect-productready-apps.mjs
# Validate markers match patterns (for CI)
node scripts/detect-productready-apps.mjs --validateThe detection system uses two methods:
- Explicit markers - Checks for
productreadyfield in package.json - Pattern detection - Verifies dependencies, folder structure, and scripts
Common Patterns
Apps based on Product Ready typically share these patterns:
- Better Auth for authentication
- Drizzle ORM with PostgreSQL for database
- tRPC v11 for type-safe APIs
- Consistent folder structure (
src/lib/auth,src/server/routers, etc.) - Standard scripts (
auth:generate,db:migrate, etc.)
Technical Alignment
Apps marked with Product Ready should reference the boilerplate as the canonical implementation for infrastructure patterns.
Best Practices:
- Check the Product Ready reference implementation before implementing features
- Align changes with established patterns
- Only diverge when business requirements clearly differ
Adding Product Ready Marker to New Apps
If you create a new app based on Product Ready:
-
Add the marker to package.json:
"productready": { "type": "derived", "baseVersion": "0.3.0", "features": { "auth": true, "database": true, // ... set based on what you've implemented }, "aligned": true, "missingFeatures": [] } -
Run detection to verify:
node scripts/detect-productready-apps.mjs -
Update features as you implement them:
- Set feature flags to
trueas you add capabilities - Update
alignedtofalseif missing features - List missing features in
missingFeaturesarray
- Set feature flags to
Maintenance
Updating Feature Alignment
When you add or remove Product Ready features in an app:
- Edit the
productreadyfield in package.json - Update feature flags accordingly
- Run validation:
node scripts/detect-productready-apps.mjs --validate
Tracking Boilerplate Updates
When Product Ready is updated:
- Update
baseVersionin derived apps if you migrate - Check for new features and update feature flags
- Re-run detection to verify alignment
Benefits
- ✅ Low maintenance - package.json is already part of workflow
- ✅ Clear visibility - Easy to see which apps align with Product Ready
- ✅ Feature tracking - Know exactly what's implemented in each app
- ✅ Machine-readable - Can be queried programmatically for tooling
- ✅ Extensible - Easy to add new features as boilerplate evolves
- ✅ Single source of truth - All information in package.json
Product Ready Standards
Production-ready quality standards and best practices for ProductReady - build it right the first time
Human Ready Evaluation Guide
Daily methods and workflows for evaluating whether products are ready for human users, including onboarding effectiveness, feature completeness, and user experience