arch-check

Detect layer violations, circular dependencies, and packaging issues in codebases.

4|Updated May 26, 2025
One-click install
npx skills add https://github.com/pwittchen/varun.surf --skill arch-check
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: arch-check
Source: https://github.com/pwittchen/varun.surf/tree/main/.claude/skills/arch-check
Command: npx skills add https://github.com/pwittchen/varun.surf --skill arch-check

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Verify architectural health by detecting layer violations, circular dependencies, and packaging issues in a codebase to maintain clean, scalable structures.

Core Features & Use Cases

  • Detect forbidden imports across layers (Controller → Service, Provider → Controller, etc.).
  • Identify circular dependencies and structural violations that breach layering principles.
  • Validate package structure and design-pattern conformance across the codebase.

Quick Start

Run the architecture check against your project to surface layer violations and design-pattern conformance.

Frequently Asked Questions about arch-check

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

FAQPage Schema
How do I detect architectural layer violations in my codebase?

Architectural layer violations are detected by analyzing layer boundaries and dependencies, identifying forbidden imports such as Controllers directly accessing Providers, and enforcing strict layering principles across the codebase.

What is the best way to find circular dependencies and structural code issues?

Finding circular dependencies and structural code issues is achieved by scanning the codebase to identify dependency cycles and structural violations that breach foundational layering and packaging principles.

Can I validate design pattern conformance across my project's package structure?

Yes, you can validate design pattern conformance by performing textual scans and pattern checks across the codebase to ensure package structure compliance and verify dependency injection usage.

How do I prevent forbidden imports between layers like Services and Controllers?

Preventing forbidden imports is done by enforcing a layered architecture that restricts cross-layer access, such as stopping Providers from importing Controllers, through targeted textual scans and pattern checks.

Does static analysis help enforce dependency injection usage and packaging rules?

Static analysis enforces dependency injection usage and packaging rules by validating design-pattern conformance and detecting structural breaches through textual scans across the codebase.