abp-dependency-rules

Enforce ABP Framework layer dependency rules and repository pattern usage.

14.4k|3.7k|Updated Dec 3, 2016
One-click install
npx skills add https://github.com/abpframework/abp --skill abp-dependency-rules
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: abp-dependency-rules
Source: https://github.com/abpframework/abp/tree/main/.claude/skills/abp-dependency-rules
Command: npx skills add https://github.com/abpframework/abp --skill abp-dependency-rules

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps developers understand and enforce the strict dependency rules within ABP Framework projects, preventing common architectural violations and ensuring a clean, maintainable codebase.

Core Features & Use Cases

  • Dependency Auditing: Clearly defines which project layers can reference others.
  • Violation Prevention: Highlights common mistakes like domain logic depending on infrastructure or application layers referencing implementations.
  • Architectural Guidance: Provides a checklist for adding new features and structuring code across different layers (Domain.Shared, Domain, Application.Contracts, Application, Infrastructure).
  • Use Case: When adding a new feature, use this Skill to ensure your new service implementation is placed in the correct layer and only references the necessary abstractions.

Quick Start

Review the ABP dependency rules for the Domain.Shared project.

Frequently Asked Questions about abp-dependency-rules

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

FAQPage Schema
What are the valid cross-layer references in an ABP framework project?

Valid cross-layer references in an ABP framework project dictate that layers like Domain and Application.Contracts can be referenced by higher layers, ensuring strict domain and infrastructure separation. The rules detail exact allowed dependencies to maintain architectural consistency.

How do I prevent domain logic from depending on infrastructure in ABP?

To prevent domain logic from depending on infrastructure in ABP, apply the project dependency rules to audit your code structure. The rules highlight common architectural violations, ensuring your domain layer remains isolated and relies only on abstractions.

Can I use ABP dependency rules for code reviews and architectural consistency checks?

Yes, you can use ABP dependency rules for code reviews and architectural consistency checks. The rules provide a checklist for structuring code across Domain.Shared, Application, and Infrastructure layers to enforce domain driven design constraints.

Where should I place a new service implementation when adding features to an ABP project?

When adding features to an ABP project, place new service implementations in the correct layer by following the ABP dependency rules. This ensures the service references only necessary abstractions and maintains proper project layer separation.

What is the correct project layer structure for domain driven design in ABP?

The correct project layer structure for domain driven design in ABP involves Domain.Shared, Domain, Application.Contracts, Application, and Infrastructure layers. The dependency rules define how these layers interact to enforce repository pattern usage and clean architecture.

Why does my ABP application layer fail architectural consistency checks?

Your ABP application layer fails architectural consistency checks when it directly references implementations instead of abstractions. The ABP dependency rules identify these common violations, preventing application layers from breaking domain and infrastructure separation.