frontend

Frontend development rules for a Next.js web application using Tailwind CSS, Shadcn UI, TypeScript, Framer Motion, and Lucide icons.

In plain words
What is it for?
Use them when building or reviewing pages, reusable interface components, forms, animations, data fetching, and responsive accessible interfaces.
Why use it?
They give developers consistent choices for components, styling, accessibility, animations, and the division between server and browser code.

Cursor rule for Cursor

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add rules/materialize-labs/ai-optimized-starter-app/frontend
Clone the repo
git clone --depth 1 https://github.com/materialize-labs/ai-optimized-starter-app

Made for: Cursor.

Per session 9 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,847 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00009 $0.02847
Opus 5 $0.00005 $0.01424
Sonnet 5 $0.00002 $0.00569
Haiku 4.5 $0.00001 $0.00285

Measured 2d ago against content hash 10aa5f7e3c81, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

frontend scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.cursor/rules/frontend.mdc · 495 lines

How it starts

The opening of the file, as written. The whole thing — 495 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Frontend Architecture Guidelines

Technology Stack

Our frontend leverages a modern stack designed for performance, developer experience, and maintainability:

  • Framework: Next.js 15+ with App Router
  • Styling: Tailwind CSS for utility-first styling
  • UI Components: Shadcn UI as a component foundation
  • Animations: Framer Motion for fluid animations
  • Icons: Lucide React for consistent iconography

Core Principles

  1. Type Safety: Leverage TypeScript for robust, maintainable code
  2. Component-Driven Development: Build reusable, composable components
  3. Performance-First: Optimize for core web vitals and user experience
  4. Accessibility: Ensure WCAG compliance in all UIs
  5. Progressive Enhancement: Build resilient interfaces that work across devices

Component Architecture

Component Types

Our application uses both Server Components and Client Components following Next.js paradigms:

Component Type Use Case Key Considerations
Server Components Data fetching, SEO-critical content No useState, no event handlers
Client Components Interactive UIs, forms, animations Add "use client" directive at top of file

Component Organization

app/
├── [route]/              # Route directories
│   ├── _components/      # Route-specific components
│   ├── page.tsx          # Route page component
│   └── layout.tsx        # Route layout component
components/
├── ui/                   # Shared UI components
└── [feature]/            # Feature-specific shared components
Naming Conventions
  • Use kebab-case for all component files: data-table.tsx
  • Use PascalCase for component names: DataTable
  • Group related components in feature-specific directories
  • Suffix context providers with Provider: AuthProvider

Component Guidelines

Server vs Client Components
  • Always add the appropriate directive at the top of your file:
    • "use server" for server components
    • "use client" for client components

Read the full file on GitHub · 495 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 495 lines · 9 tokens per session scan A 10aa5f7e3c81

Subscribe to this mod's changes

frontend is a cursor rule published in the GitHub repository materialize-labs/ai-optimized-starter-app (16 stars, last pushed 1y ago), licensed MIT. It adds 9 tokens to every session and 2,847 once invoked, about $0.0000 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.