abp-dependency-rules — angular abp-dependency-rules, community, angular, ide skills, architecture, aspnet, aspnet-core, aspnetcore, blazor, c-sharp, Claude Code

v1.0.0

이 스킬 정보

모듈식 아키텍처와 도메인 주도 설계 적용이 필요한 ASP.NET Core 에이전트에 적합합니다. ABP project layer dependency rules - which projects can reference which, domain/application/infrastructure separation, cross-layer violations to avoid. Use when reviewing project structure, adding new project references, or checking if a dependency direction is correct.

# Core Topics

abpframework abpframework
[14.2k]
[3678]
Updated: 3/16/2026

Killer-Skills Review

Decision support comes first. Repository text comes second.

Reference-Only Page Review Score: 7/11

This page remains useful for operators, but Killer-Skills treats it as reference material instead of a primary organic landing page.

Original recommendation layer Concrete use-case guidance Explicit limitations and caution
Review Score
7/11
Quality Score
46
Canonical Locale
en
Detected Body Locale
en

모듈식 아키텍처와 도메인 주도 설계 적용이 필요한 ASP.NET Core 에이전트에 적합합니다. ABP project layer dependency rules - which projects can reference which, domain/application/infrastructure separation, cross-layer violations to avoid. Use when reviewing project structure, adding new project references, or checking if a dependency direction is correct.

이 스킬을 사용하는 이유

에이전트가 도메인 로직과 인프라를 분리하고, 의존성에 대한 추상화를 사용하며, 더 높은 계층이 더 낮은 계층에 의존하도록 보장하는 동시에 ASP.NET Core와 의존성 규칙을 활용하여 강력한 엔터프라이즈 소프트웨어 솔루션을 제공합니다.

최적의 용도

모듈식 아키텍처와 도메인 주도 설계 적용이 필요한 ASP.NET Core 에이전트에 적합합니다.

실행 가능한 사용 사례 for abp-dependency-rules

엔터프라이즈 소프트웨어에서 도메인 주도 설계 원칙 적용
의견이 있는 모범 사례를 사용하여 모듈식 아키텍처 구현
계층화된 템플릿 구조의 의존성 규칙 검증

! 보안 및 제한 사항

  • ASP.NET Core 인프라가 필요
  • 엔터프라이즈 소프트웨어 솔루션으로 제한
  • 데이터에 액세스하기 위해 추상화 및 저장소에 의존

Why this page is reference-only

  • - Current locale does not satisfy the locale-governance contract.
  • - The underlying skill quality score is below the review floor.

Source Boundary

The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.

Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is abp-dependency-rules?

모듈식 아키텍처와 도메인 주도 설계 적용이 필요한 ASP.NET Core 에이전트에 적합합니다. ABP project layer dependency rules - which projects can reference which, domain/application/infrastructure separation, cross-layer violations to avoid. Use when reviewing project structure, adding new project references, or checking if a dependency direction is correct.

How do I install abp-dependency-rules?

Run the command: npx killer-skills add abpframework/abp/abp-dependency-rules. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for abp-dependency-rules?

Key use cases include: 엔터프라이즈 소프트웨어에서 도메인 주도 설계 원칙 적용, 의견이 있는 모범 사례를 사용하여 모듈식 아키텍처 구현, 계층화된 템플릿 구조의 의존성 규칙 검증.

Which IDEs are compatible with abp-dependency-rules?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for abp-dependency-rules?

ASP.NET Core 인프라가 필요. 엔터프라이즈 소프트웨어 솔루션으로 제한. 데이터에 액세스하기 위해 추상화 및 저장소에 의존.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add abpframework/abp/abp-dependency-rules. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use abp-dependency-rules immediately in the current project.

! Reference-Only Mode

This page remains useful for installation and reference, but Killer-Skills no longer treats it as a primary indexable landing page. Read the review above before relying on the upstream repository instructions.

Imported Repository Instructions

The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.

Supporting Evidence

abp-dependency-rules

Install abp-dependency-rules, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly
Imported Repository Instructions
The section below is supporting source material from the upstream repository. Use the Killer-Skills review above as the primary decision layer.
Supporting Evidence

ABP Dependency Rules

Core Principles (All Templates)

These principles apply regardless of solution structure:

  1. Domain logic never depends on infrastructure (no DbContext in domain/application)
  2. Use abstractions (interfaces) for dependencies
  3. Higher layers depend on lower layers, never the reverse
  4. Data access through repositories, not direct DbContext

Layered Template Structure

Note: This section applies to layered templates (app, module). Single-layer and microservice templates have different structures.

Domain.Shared    → Constants, enums, localization keys
       ↑
    Domain       → Entities, repository interfaces, domain services
       ↑
Application.Contracts → App service interfaces, DTOs
       ↑
  Application    → App service implementations
       ↑
   HttpApi       → REST controllers (optional)
       ↑
     Host        → Final application with DI and middleware

Layered Dependency Direction

ProjectCan ReferenceReferenced By
Domain.SharedNothingAll
DomainDomain.SharedApplication, Data layer
Application.ContractsDomain.SharedApplication, HttpApi, Clients
ApplicationDomain, ContractsHost
EntityFrameworkCore/MongoDBDomainHost only
HttpApiContracts onlyHost

Critical Rules

❌ Never Do

csharp
1// Application layer accessing DbContext directly 2public class BookAppService : ApplicationService 3{ 4 private readonly MyDbContext _dbContext; // ❌ WRONG 5} 6 7// Domain depending on application layer 8public class BookManager : DomainService 9{ 10 private readonly IBookAppService _appService; // ❌ WRONG 11} 12 13// HttpApi depending on Application implementation 14public class BookController : AbpController 15{ 16 private readonly BookAppService _bookAppService; // ❌ WRONG - Use interface 17}

✅ Always Do

csharp
1// Application layer using repository abstraction 2public class BookAppService : ApplicationService 3{ 4 private readonly IBookRepository _bookRepository; // ✅ CORRECT 5} 6 7// Domain service using domain abstractions 8public class BookManager : DomainService 9{ 10 private readonly IBookRepository _bookRepository; // ✅ CORRECT 11} 12 13// HttpApi depending on contracts only 14public class BookController : AbpController 15{ 16 private readonly IBookAppService _bookAppService; // ✅ CORRECT 17}

Repository Pattern Enforcement

Interface Location

csharp
1// In Domain project 2public interface IBookRepository : IRepository<Book, Guid> 3{ 4 Task<Book> FindByNameAsync(string name); 5}

Implementation Location

csharp
1// In EntityFrameworkCore project 2public class BookRepository : EfCoreRepository<MyDbContext, Book, Guid>, IBookRepository 3{ 4 // Implementation 5} 6 7// In MongoDB project 8public class BookRepository : MongoDbRepository<MyDbContext, Book, Guid>, IBookRepository 9{ 10 // Implementation 11}

Multi-Application Scenarios

When you have multiple applications (e.g., Admin + Public API):

Vertical Separation

MyProject.Admin.Application      - Admin-specific services
MyProject.Public.Application     - Public-specific services
MyProject.Domain                 - Shared domain (both reference this)

Rules

  • Admin and Public application layers MUST NOT reference each other
  • Share domain logic, not application logic
  • Each vertical can have its own DTOs even if similar

Enforcement Checklist (Layered Templates)

When adding a new feature:

  1. Entity changes? → Domain project
  2. Constants/enums? → Domain.Shared project
  3. Repository interface? → Domain project (only if custom queries needed)
  4. Repository implementation? → EntityFrameworkCore/MongoDB project
  5. DTOs and service interface? → Application.Contracts project
  6. Service implementation? → Application project
  7. API endpoint? → HttpApi project (if not using auto API controllers)

Common Violations to Watch

ViolationImpactFix
DbContext in ApplicationBreaks DB independenceUse repository
Entity in DTOExposes internalsMap to DTO
IQueryable in interfaceBreaks abstractionReturn concrete types
Cross-module app service callTight couplingUse events or domain

관련 스킬

Looking for an alternative to abp-dependency-rules or another community skill for your workflow? Explore these related open-source skills.

모두 보기

openclaw-release-maintainer

Logo of openclaw
openclaw

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

333.8k
0
인공지능

widget-generator

Logo of f
f

prompts.chat 피드 시스템을 위한 사용자 지정 가능한 위젯 플러그인을 생성합니다

149.6k
0
인공지능

flags

Logo of vercel
vercel

리액트 프레임워크

138.4k
0
브라우저

pr-review

Logo of pytorch
pytorch

파이썬에서 텐서와 동적 신경망 구현 및 강력한 GPU 가속 지원

98.6k
0
개발자