ompsure
  • Reviews
  • Pro
  • Pricing
  • Template
Sign InSign Up
ompsure

Code quality that happens automatically.
Free for personal use.

Audience

  • Who's It For?
  • For Creators
  • For Developers

Features

  • Code Graph
  • Security
  • Code Review
  • Testing
  • Deployment
  • Memory

Product

  • Plugins
  • Control Panel
  • Proof
  • Catalog
  • How It Works

Plans

  • Pricing
  • Pro Patterns
  • Commercial License
  • Starter Template

Resources

  • Getting Started
  • Documentation
  • Reviews
  • Affiliate Program

© 2026 Et'al Software Solutions. All rights reserved.

  • Template License
  • Plugin License
  • Refund Policy
  • GitHub
Enforcement catches
Viewing as
Enforcement catches

'use client' on a layout file

2026-06-10

enforcement hook — composure-pro · 2026-06-10
[composure:enforcement] The write you just attempted to layout.tsx matches a pattern this codebase doesn't want shipped. What the rule caught (1 item): - [nextjs-use-client-page] Pages, layouts, and loading files MUST be server components — never add 'use client'. Extract interactive parts into a client component in components/ and import it.

The agent agreed with the structure, not just the block: “The enforcement rule wants interactive parts in components/ — fair, and the cleaner shape anyway. Creating the button as its own component.” The layout stayed a server component.

Why this matters: Speed & getting foundThe failure mode this catch prevents — in App architecture, in practice.

Composure enforcement hook, firing mid-session in the composure-pro repo. Catch message reproduced verbatim.

You can stop reading and start checking.

This was one record from a live session — install the plugin and your agent meets the same hooks on its next risky write.

Install itNext: Bare except Exception in Python