separation-of-concerns

Validate TypeScript project structure and dependencies using dependency-cruiser against architectural rules.

Updated Mar 3, 2026
One-click install
npx skills add https://github.com/igoyetche/send-to-kindle --skill separation-of-concerns-igoyetche
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: separation-of-concerns
Source: https://github.com/igoyetche/send-to-kindle/tree/main/.claude/skills/separation-of-concerns
Command: npx skills add https://github.com/igoyetche/send-to-kindle --skill separation-of-concerns-igoyetche

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires dependency-cruiser, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill enforces a strict architectural pattern for TypeScript projects, ensuring code is organized logically into features, platform components, and shell wiring, preventing architectural drift and maintaining codebase health.

Core Features & Use Cases

  • Architectural Enforcement: Automatically validates code structure and dependencies against defined rules using dependency-cruiser.
  • Dependency Management: Prevents cross-feature imports, ensures domain logic is isolated, and enforces clear separation between read/write paths.
  • Use Case: When a new developer joins a project, they can immediately understand the intended structure and the Skill will flag any violations as code is written or refactored, ensuring consistency.

Quick Start

Run the dependency cruiser CLI tool with the provided configuration to audit your project's structure.

Frequently Asked Questions about separation-of-concerns

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

FAQPage Schema
How do I enforce separation of concerns in a TypeScript project?

To enforce separation of concerns in a TypeScript project, this Skill organizes code into features, platform components, and shell wiring, then validates dependencies using dependency-cruiser to prevent architectural drift.

What is the best way to prevent cross-feature imports in TypeScript?

The best way to prevent cross-feature imports in TypeScript is using dependency-cruiser to validate code structure against defined rules, ensuring domain logic is isolated and enforcing clear separation between read and write paths.

Does dependency-cruiser work for enforcing clean code architecture?

Yes, dependency-cruiser works for enforcing clean code architecture by validating code structure and dependencies against defined rules, preventing architectural drift and maintaining codebase health in TypeScript projects.

How do I validate code structure and dependencies to stop architectural drift?

You can validate code structure and dependencies to stop architectural drift by running the dependency-cruiser CLI tool with the provided configuration, which audits your TypeScript project's structure and flags violations.

Can I ensure feature isolation and domain purity during refactoring?

Yes, you can ensure feature isolation and domain purity during refactoring by validating dependencies against strict architectural rules that enforce clear dependency direction and prevent cross-feature imports.

What are the limitations of using dependency-cruiser for code organization?

A limitation of using dependency-cruiser for code organization is that it requires adherence to specific rules for feature isolation and domain purity, meaning your TypeScript project must conform to the enforced architectural pattern.