abp-infrastructure-patterns

Implement ABP cross-cutting concerns using authorization, background jobs, and events.

Updated Jan 23, 2026
One-click install
npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-infrastructure-patterns-alexsandrocruz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: abp-infrastructure-patterns
Source: https://github.com/alexsandrocruz/DominusLeads/tree/main/backend/Sapienza.Leads/.claude/skills/abp-infrastructure-patterns
Command: npx skills add https://github.com/alexsandrocruz/DominusLeads --skill abp-infrastructure-patterns-alexsandrocruz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ABP infrastructure patterns address the challenges of building scalable, maintainable cross-cutting concerns across modules by providing reusable patterns for authorization, background jobs, distributed events, multi-tenancy, and module configuration.

Core Features & Use Cases

  • Authorization & Permissions: Define and enforce permissions across modules in a centralized way.
  • Background Jobs: Schedule and execute long-running tasks reliably.
  • Distributed Events: Implement event-driven communication between modules with idempotent handlers.
  • Multi-Tenancy: Isolate data and behavior per tenant while sharing a common codebase.
  • Module Configuration: Wire and configure ABP modules for consistent behavior across the app.

Quick Start

Use the ABP infrastructure patterns to structure your solution: define permission providers, register background jobs, publish/subscribe distributed events, configure multi-tenancy, and compose module dependencies.

Frequently Asked Questions about abp-infrastructure-patterns

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

FAQPage Schema
How do I implement multi-tenancy in an ABP modular application?

ABP multi-tenancy isolates data and behavior per tenant while sharing a common codebase. You configure tenant-specific settings within your module wiring to ensure consistent behavior across the application.

What is the best way to define permissions across ABP modules?

ABP permissions are defined centrally across modules using a PermissionDefinitionProvider. This approach enforces authorization rules consistently throughout the entire modular application.

How do I handle distributed events between ABP modules?

Distributed events in ABP are handled by publishing and subscribing through the IDistributedEventBus. This enables event-driven communication between modules with idempotent handlers for reliable processing.

Can I schedule long-running tasks using ABP background jobs?

ABP background jobs schedule and execute long-running tasks reliably. You implement them by registering an AsyncBackgroundJob to process queued work items asynchronously.

Why do I need module configuration when building scalable ABP apps?

ABP module configuration wires and composes module dependencies to ensure consistent behavior across the application. It structures your solution by connecting authorization, jobs, events, and multi-tenancy configurations.

Does ABP support cross-cutting concerns for modular architectures?

ABP provides reusable infrastructure patterns for cross-cutting concerns like authorization, background jobs, distributed events, and multi-tenancy. These patterns address the challenges of building scalable and maintainable modular applications.