finds.dev← search

// the find

abpframework/abp

★ 14,256 · C# · LGPL-3.0 · updated May 2026

Open-source web application framework for ASP.NET Core! Offers an opinionated architecture to build enterprise software solutions with best practices on top of the .NET. Provides the fundamental infrastructure, cross-cutting-concern implementations, startup templates, application modules, UI themes, tooling and documentation.

ABP is a full-stack application framework for ASP.NET Core that enforces DDD, modularity, and multi-tenancy patterns from the ground up. It's aimed at .NET teams building enterprise or SaaS products who want pre-wired infrastructure (auth, auditing, background jobs, localization, etc.) rather than assembling it themselves. The free OSS tier is real and usable, but the most useful modules (SaaS/tenancy management, advanced Identity, OpenIddict UI) are behind a commercial license.

- The module system is genuinely well-designed: each module owns its own migrations, DI registrations, and localization resources, making large monoliths manageable and incremental decomposition into microservices plausible without a big-bang rewrite.

- Cross-cutting concerns like audit logging, soft-delete, multi-tenancy data filtering, and distributed event bus are wired in at the infrastructure level via EF Core interceptors and DI conventions, so you get them for free without polluting application code.

- Solid CI pipeline with CodeQL, test coverage tracking, and automated NuGet publishing — this isn't a hobby project that'll go dark; it has sustained commercial backing from Volosoft.

- The AI agent skill files (.agents/skills, .claude/skills) show the team is actively maintaining structured context for LLM-assisted development, which is a practical acknowledgment of how teams actually work now.

- The open-source/commercial split is genuinely confusing and annoying in practice. Core infrastructure is free, but the moment you need tenant management UI, advanced permissions, or the SaaS module, you hit a paywall. The README doesn't front-load this clearly enough.

- The opinionated architecture is a double-edged sword: the DDD layer cake (Application Service → Domain Service → Repository → Entity) adds real boilerplate for simple CRUD, and fighting the framework's conventions when your domain doesn't fit the mold is painful.

- Startup template solutions are massive out of the box — multiple projects, Angular/Blazor frontends, Docker configs, gateway setup — which creates significant cognitive overhead for developers new to the framework and makes trimming down to what you actually need tedious.

- Heavy reliance on dynamic proxy generation and convention-based DI auto-registration makes debugging and tracing call stacks non-obvious, and performance profiling is harder than in a plain ASP.NET Core app.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →