BetaViberTest is in active development — expect breaking changes.
Overview
#023mediumShip-Readiness
Missing Production Basics
Detects generic titles, missing meta tags, default favicon, no 404 page.
Rule ID:
missing-production-basicsExamples#
BadDefault title, no meta, default favicon
// layout.tsx — still has defaults
export const metadata = {
title: 'Create Next App', // Default!
description: 'Generated by create next app', // Default!
};
// No custom favicon — still using Next.js default
// No custom 404 page
// No robots.txt or sitemap.xmlGoodProduction-ready metadata
// layout.tsx — branded and SEO-ready
export const metadata = {
title: {
template: '%s — MyApp',
default: 'MyApp — Ship Better Code',
},
description: 'MyApp helps teams ship production-ready code faster.',
openGraph: { /* ... */ },
twitter: { /* ... */ },
};
// Custom favicon, 404 page, robots.txt, sitemap.xml
// app/not-found.tsx — custom 404
// public/favicon.ico — custom icon
// app/robots.ts — dynamic robots.txt
// app/sitemap.ts — dynamic sitemapWhat It Detects#
mediumGeneric page title ("Create Next App", "My App")
Generic page title: "{title}"
Fix: Replace the default title with your project's actual name.
mediumNo meta description or default framework description
No meta description found
Fix: Add a meta description. Aim for 150-160 characters.
lowDefault framework favicon
Default framework favicon detected
Fix: Replace with your own branding. Generate at: https://favicon.io/
lowNo custom 404 page
No custom 404 page found
Fix: Create a custom 404 page for better user experience.
lowNo robots.txt or sitemap.xml
No robots.txt/sitemap.xml found
Fix: Create for better search engine indexing.
Configuration#
This rule is enabled by default. To disable it:
.vibertestrc.jsonjson
{
"rules": {
"missing-production-basics": {
"enabled": false
}
}
}