client-boundaries

Detect forbidden cross-app imports and console.log calls in frontend code.

49|15|Updated Mar 26, 2026
One-click install
npx skills add https://github.com/block/proto-fleet --skill client-boundaries
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: client-boundaries
Source: https://github.com/block/proto-fleet/tree/main/.claude/skills/client-boundaries
Command: npx skills add https://github.com/block/proto-fleet --skill client-boundaries

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps prevent coupling across frontend apps by enforcing import boundaries and suppressing new console logging, improving code maintainability and reducing unintended dependencies.

Core Features & Use Cases

  • Detect forbidden cross-app imports among client/src/shared/, client/src/protoOS/, and client/src/protoFleet/.
  • Enforce that protoOS and protoFleet cannot import each other and that shared cannot import app-specific code.
  • Flag new console.log statements while permitting allowed logs like console.error or build-version logs.

Quick Start

Scan a set of changed frontend files to identify and report forbidden imports and console usage.

Frequently Asked Questions about client-boundaries

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I prevent cross-app imports and enforce import boundaries in frontend code?

You can enforce import boundaries by scanning changed frontend files to detect forbidden cross-app imports, ensuring shared code does not import app-specific modules and that separate apps do not import each other.

Why should I block console.log statements in frontend code reviews?

Blocking console.log statements during code reviews prevents accidental logging in production. You can allow console.error and build-version logs while flagging new console.log calls to maintain code cleanliness.

Can I use this linting rule to check for app coupling between protoOS and protoFleet?

Yes, this linting check enforces symmetric boundaries between protoOS and protoFleet by detecting and reporting forbidden imports between the two apps, preventing unintended app coupling.

What's the best way to scan frontend files for forbidden imports and console usage in CI?

The best way is to integrate this check into your CI pipeline to automatically scan changed frontend files under client/src/shared, client/src/protoOS, and client/src/protoFleet, reporting boundary violations and console usage.

Does this import boundary check allow console.error and build-version logger?

Yes, the import boundary check permits console.error and existing build-version logger calls. It specifically flags new console.log statements while allowing these approved logging methods to remain.

When do I need to enforce import boundaries for frontend shared directories?

You need to enforce import boundaries when your frontend architecture has a shared directory that must not import app-specific code, preventing unintended dependencies and maintaining code maintainability across apps.