Skip to content

thedaviddias/Front-End-Checklist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

730 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Frontend Checklist

Backers on Open Collective Support via Open Collective

Frontend Checklist is the open-source front-end quality system for humans and AI agents. It turns front-end best practices into a practical review workflow you can browse on the web, run through with MCP-compatible tools, or work through directly in this README.

Companion project: UX Patterns for Devs helps developers choose the right UI pattern before using Frontend Checklist to verify implementation quality.

Important

Use the website for browsing and filtering, the MCP server for agent workflows, and this README when you want the checklist in one place.

What you get

  • 385 English rules across 11 active categories
  • 11 MCP tools exposed by the hosted server
  • Rule pages with explanations, remediation guidance, and verification steps

How to use this checklist

  1. Start with the category navigator below and jump straight to the part of the checklist you need.
  2. Work through the checkbox items that apply to your project, audit, or pull request.
  3. Open the linked rule pages when you need the full guidance, examples, verification steps, and AI prompts.
  4. Use frontendchecklist.io for interactive browsing, and mcp.frontendchecklist.io when you want agents to use the same rule corpus directly.

Priority legend

  • Critical means site-breaking, compliance-sensitive, or security-sensitive issues that should be fixed first.
  • High means issues with major impact on user experience, accessibility, performance, or discoverability.
  • Medium means strong best practices that should be part of normal frontend quality review.
  • Low means useful improvements that are situational or lower urgency.

Choose your workflow

Browse online

Choose the right pattern first

Frontend Checklist helps you review implementation quality. If you are still deciding what interface to build, use UX Patterns for Devs to compare common UI patterns, understand tradeoffs, and find practical guidance for forms, navigation, data display, feedback states, authentication, and AI interfaces.

Contribute to the checklist

  • Install dependencies: pnpm install
  • Run local development: pnpm dev
  • Validate structure: pnpm validate:rule-structure
  • Score the corpus: pnpm score:rules
  • Regenerate derived artifacts: pnpm generate:skills and pnpm generate:readme

Use with MCP

Connect an MCP-capable agent to Frontend Checklist for structured rule lookup, audits, and remediation workflows.

Tip

Best first use: point an MCP-capable agent at a real component, page, or public URL and ask for the highest-confidence Frontend Checklist findings first.

What you can do:

  • Review pasted code or file contents against the checklist
  • Audit a live public URL
  • Fetch a specific rule with remediation guidance
  • Search rules by keyword, category, or priority
  • Get a workflow or quick reference for a focused audit

Example prompts:

  • Review this component against the Frontend Checklist and report the highest-confidence findings first.
  • Audit https://example.com for accessibility, performance, and SEO issues.
  • Explain the canonical URL rule and suggest a fix with code examples.

Use with skills

Install Frontend Checklist skills when you want reusable audit workflows or focused rule-specific guidance in tools that support them.

Install:

npx skills add frontendchecklist/skills
npx skills add frontendchecklist/skills --skill https

Useful entry points:

Example uses:

  • Run a broad frontend audit against the full Frontend Checklist corpus
  • Use a focused skill like https for security review on one concern
  • Use rule-specific skills to explain why a rule matters and how to fix it

Checklist

Jump to a category

Categories

HTML

25 rules. Semantic markup, metadata, forms, and document structure rules.

Browse HTML on frontendchecklist.io

Back to top

CSS

32 rules. Layout, typography, responsive design, and styling rules.

Browse CSS on frontendchecklist.io

Back to top

JavaScript

26 rules. Client-side behavior, async patterns, and runtime quality rules.

Browse JavaScript on frontendchecklist.io

Back to top

Performance

43 rules. Loading speed, rendering, optimization, and Core Web Vitals rules.

Browse Performance on frontendchecklist.io

Back to top

Accessibility

95 rules. Keyboard, screen reader, ARIA, and inclusive UX rules.

Browse Accessibility on frontendchecklist.io

Back to top

SEO

94 rules. Crawlability, metadata, structured data, and search visibility rules.

Browse SEO on frontendchecklist.io

Back to top

Security

22 rules. Headers, transport, safe linking, and frontend security rules.

Browse Security on frontendchecklist.io

  • Adblock Element Hiding Low: Checks for HTML elements and CSS classes that would be hidden by common adblockers, causing layout breaks or missing functionality for users with ad blocking enabled.
  • Audit dependencies for known vulnerabilities High: Dependencies are regularly scanned for known security vulnerabilities using automated tooling, and critical findings are remediated before deployment.
  • Avoid mixed content on HTTPS pages High: An HTTPS page that loads resources over HTTP has mixed content β€” browsers block or warn about these requests, breaking functionality and undermining transport security.
  • Blocked Tracking Links Low: Links and resources pointing to known tracking or advertising domains may be blocked by adblockers, breaking navigation and functionality for a significant portion of users.
  • External Link Security Medium: Links that open in a new tab using target='_blank' must include rel='noopener noreferrer' to prevent the opened page from accessing the opener's window context.
  • Implement a content security policy High: A Content Security Policy is implemented to prevent XSS attacks and control resource loading.
  • Leaked Environment Variables Critical: Checks for exposed API keys, tokens, passwords, and other secrets embedded in HTML source, JavaScript bundles, or client-accessible files.
  • Link to your terms of service in the footer Medium: Websites offering services to users should publish Terms of Service and link to them from every page β€” this establishes the legal agreement governing use of the service.
  • Prevent stack trace exposure in production error responses High: Production error responses never include stack traces, internal file paths, framework internals, or other debugging detail that could aid an attacker (OWASP A09).
  • Protect public forms with CAPTCHA Medium: Public forms that accept user input without authentication must include bot protection to prevent spam, credential stuffing, and automated abuse.
  • Redirect HTTP to HTTPS Critical: All HTTP requests must be permanently redirected (301) to HTTPS to prevent users from accessing your site over an insecure connection.
  • Secure password input fields High: Password fields implement security best practices including proper autocomplete, show/hide toggle, and strength indicators.
  • Serve all pages over HTTPS Critical: Every page and resource on your site must be delivered over HTTPS to protect user data in transit and enable modern browser features.
  • Set a Permissions-Policy header Medium: The Permissions-Policy header lets servers restrict which browser features (camera, microphone, geolocation, etc.) can be used in a page or its embedded iframes.
  • Set a Referrer-Policy header Medium: The Referrer-Policy header controls how much referrer information is sent when navigating from your site to another, protecting user privacy and preventing leaking sensitive URL parameters.
  • Set an HSTS header High: The Strict-Transport-Security response header tells browsers to always use HTTPS for your domain, preventing protocol downgrade attacks and cookie hijacking.
  • Set an X-Frame-Options header High: The X-Frame-Options header controls whether your page can be embedded in an iframe, frame, or object β€” preventing clickjacking attacks.
  • Set Secure, HttpOnly, and SameSite flags on session cookies High: All session and authentication cookies are issued with the Secure, HttpOnly, and an appropriate SameSite flag to prevent interception, JavaScript exfiltration, and cross-site request forgery.
  • Set X-Content-Type-Options: nosniff High: The X-Content-Type-Options: nosniff header prevents browsers from MIME-sniffing a response away from the declared Content-Type, blocking a class of drive-by download and XSS attacks.
  • Store authentication tokens securely High: Sensitive authentication tokens are stored in httpOnly cookies rather than localStorage or sessionStorage to prevent theft via cross-site scripting attacks (OWASP A07).
  • Submit forms over HTTPS Critical: All HTML form actions must point to HTTPS URLs to ensure form data is encrypted in transit and cannot be intercepted by network attackers.
  • Use COOP, COEP, and CORP for cross-origin isolation when needed Medium: Sensitive or high-capability applications use COOP, COEP, and CORP deliberately, audit third-party embeds, and verify cross-origin isolation in the browser before relying on it.

Back to top

Images

25 rules. Formats, responsive delivery, optimization, and media quality rules.

Browse Images on frontendchecklist.io

Back to top

Testing

13 rules. Unit, integration, E2E, monitoring, and quality assurance rules.

Browse Testing on frontendchecklist.io

Back to top

Privacy

5 rules. Consent, tracking, retention, and user data rights rules.

Browse Privacy on frontendchecklist.io

  • Avoid third-party cookies Medium: Third-party cookies set by external domains track users across sites without their knowledge. Modern browsers are phasing them out, and regulations like GDPR and CCPA require consent before setting them.
  • Collect only the minimum personal data necessary Medium: Limit data collection to only what is strictly required for the stated purpose, in line with GDPR Article 5(1)(c) data minimisation principles.
  • Implement a user-facing data deletion mechanism Medium: Provide users with a clear way to request deletion of their personal data, fulfilling GDPR Article 17 (right to erasure / right to be forgotten).
  • Link to your privacy policy in the footer High: Websites that collect any personal data must publish a privacy policy and link to it prominently β€” this is a legal requirement under GDPR, CCPA, and most other privacy regulations.
  • Show a cookie consent notice High: Websites that set non-essential cookies must obtain prior, informed user consent under GDPR, CCPA, and similar privacy regulations before cookies are placed.

Back to top

Internationalization

5 rules. Localization, RTL, language handling, and translation workflow rules.

Browse Internationalization on frontendchecklist.io

Back to top

Monorepo overview

Area Purpose
apps/web Public website, rule pages, checklists, and MCP HTTP entrypoints
packages/content Source MDX content for rules and checklists
packages/mcp MCP server and tool definitions
packages/rules Public rules package for external consumers
packages/design-system Shared UI primitives and custom components
packages/auth, packages/data-layer, packages/schemas, packages/types Shared auth, data, schema, and type infrastructure

Common commands

  • pnpm dev - Run local development tasks
  • pnpm build - Build all apps and packages with Turborepo
  • pnpm lint - Run Biome linting
  • pnpm typecheck - Run TypeScript checks across the repo
  • pnpm test - Run the test suite
  • pnpm validate:rule-structure - Validate rule heading structure
  • pnpm score:rules - Score the rule corpus against the quality gate
  • pnpm generate:skills - Regenerate installable skills from the rules
  • pnpm generate:readme - Regenerate the root README checklist and the generated catalog copy

Contributing

Most content work happens in packages/content/rules/en. A typical rule-editing flow is:

  1. Edit or add the relevant rule MDX files.
  2. Run pnpm score:rules.
  3. Run pnpm validate:rule-structure.
  4. Run pnpm validate:sources when source metadata changes.
  5. Run pnpm generate:skills.
  6. Run pnpm generate:readme if rule titles or descriptions changed.

See AGENTS.md, scripts/README.md, and docs/generated/rules-catalog.md for repo conventions, script docs, and the generated standalone catalog copy.

Contributors

Thanks goes to these wonderful people (emoji key):

Support