freshcrate
Skin:/
Home > Frameworks > Serenity

Serenity

Business Apps Made Simple with Asp.Net Core MVC / TypeScript

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Business Apps Made Simple with Asp.Net Core MVC / TypeScript

README

Serenity Application Platform

build version Ask DeepWiki

What is the Serenity Platform

Serenity is an ASP.NET Core / TypeScript application platform designed to simplify and shorten the development of data-centric business applications with a service-based architecture.

It aims to make development easier while reducing maintenance costs by avoiding boiler-plate code, reducing the time spent on repetitive tasks, and applying best software design practices.

Online Demo

https://demo.serenity.is

Quickstart

Premium customers should use the StartSharp template which they can download from the Serenity members area.

Ensure you have the necessary requirements installed.

# Install/Update Serene.Templates package.
> dotnet new install Serene.Templates

# Create a new Serene project.
> dotnet new serene -n MySereneApp

# Navigate into your project folder.
> cd MySereneApp/MySereneApp.Web

# Install NPM packages.
> npm i

# Build and run the project.
> dotnet run

That's it! ✨ You can visit http://localhost:5000 (actual port may vary, check the console after dotnet run) to access your Serenity application.

Documentation and Tutorials

See Serenity Developer Guide - https://serenity.is/docs for documentation and step-by-step tutorials.

Serenity Blog:

Check out the Visual Studio Toolbox Presentation:

Serenity Developer Tools

Serenity Developer Tools is a Chrome extension designed to help developers inspect and debug widgets, properties, source code, and DOM elements directly within the browser's DevTools.

  • Widget Inspector: Browse and inspect Serenity widgets in your application
  • Element Picker: Click on elements to find their corresponding widget
  • Property Viewer: View widget properties, options, and state
  • DOM Highlighting: Highlight DOM elements associated with widgets
  • Scroll Into View: Quickly navigate to widget elements in the page
  • View Source: Instantly inspect the source code for widget constructors and methods

Download from Chrome Web Store

Contribute / Spread the Word

You may contribute to the project by opening a pull request, adding documentation, sample source code, asking a question or suggesting an improvement, etc. Just open a discussion here with relevant links.

Please help spread the word by posting in blogs, forums, and social media, starring the project on GitHub, or reviewing the Serene extension in VSGallery.

License

Serenity (including its application template Serene) is a free and open-source project with an MIT license, which permits usage in commercial applications.

Premium Packages

We offer premium support packages at https://serenity.is. They also include the StartSharp template with advanced samples, features, and modules.

Visit this document for more information about what is available in premium support and StartSharp.

Custom Development

Custom development options are available from the author and a team of Serenity professionals. Contact us for details.

Video Tutorials by Community Members (not official, some might be out of date)

Release History

VersionChangesUrgencyDate
10.6.0 ### Features - Add `ListRequestCapabilities` and `[ListRequestCapabilities]` attribute so list handlers can declare supported operations. `ServiceLookupEditor` now uses these capabilities, can infer lookup endpoints from row metadata, and supports primitive list responses. - Add `IncludeMore` to `ListRequest` and `More` to `ListResponse`, allowing callers to check for another page without requiring a total count. Add configurable default and maximum page sizes (`RequestHandlerSettings.DefaulHigh10/12/2026
10.5.2### Features - Enable nullable reference types across the framework and common, pro and business feature projects (`<Nullable>enable</Nullable>`), and `<Nullable>annotations</Nullable>` for tests / Serene / StartSharp. New projects created from the Serene and StartSharp templates now use `<Nullable>annotations</Nullable>` by default (previously nullable was disabled). This only enables nullable annotations, not warnings, so existing code keeps compiling without nullable warnings. If you want fuHigh9/16/2026
10.5.0### Features - Add full async request handler support for Save, Delete, Retrieve, List and Undelete request handlers. `SaveRequestHandler`, `DeleteRequestHandler`, `RetrieveRequestHandler`, `ListRequestHandler` and `UndeleteRequestHandler` are split into sync base classes and new `...Async` variants (e.g. `SaveRequestHandlerAsync`, `ListRequestHandlerAsync`). New interfaces like `ISaveHandlerAsync`, `IDeleteHandlerAsync`, `IRetrieveHandlerAsync`, `IListHandlerAsync`, `IUndeleteHandlerAsync` andHigh9/6/2026
10.4.0### Features - Add connection key fallback support (`IConnectionKeyFallbacks`). `DefaultConnectionStrings` and `DefaultSqlConnections` are now driven by assembly-level `ConnectionKeyFallback` attributes, so feature modules can declare their own logical connection key (e.g. `ProMeeting`) while still working in applications that only configure a fallback key (e.g. `Default`). A fallback can also be set via configuration with `Data:(ConnectionKey):FallbackFor`, which accepts a semicolon separated High9/1/2026
10.3.7### Features - Add more service collection extensions to simplify service registration in Startup.cs: `AddClamAVUploadScanner`, `AddElevationHandler`, `AddEmailSender`, `AddPasswordStrengthValidator`, `AddHttpContextItemsAccessor`, `AddCssBundling`, `AddCssAndScriptBundling`, `AddScriptBundling`, `AddLocalTextInitializer` and an `AddUploadStorage` overload. Add `AddBackgroundJobs`, `AddPuppeteerHtmlToPdf` and `AddSecureUploadFileResponder` (StartSharp). - `TranslationRepository` now uses `ILocHigh8/12/2026
10.3.5### Features - Make EntityDialog methods like `save`, `loadById`, `delete`, etc. return a promise. This might be a breaking change if you have any code that overrides these methods and does not return a promise. - Apply EntityDialog promise return changes to EntityGridDialog (StartSharp) - Bring back custom component overload for the `jsx` function. - Switching to TypeScript 7. `dts-bundle-generator` still needs to use TypeScript 6 as TS7 does not have an API yet. - Allow `editSettings` fHigh7/27/2026
10.0.1### Features - First .NET 10 version. You'll need to install Visual Studio 2026 and .NET 10 SDK. - Please stay at 9.2.x versions if you still need to use Visual Studio 2022 and .NET 8. - Strict Content-Security-Policy (CSP) is enabled in StartSharp template by default. - AddCspDirective overloads for ControllerBase and HttpContext - Instead of using sleek-vars.rtl sleek-vars.ltr etc. change the values of --l, --r variables based on rtl. Increase number of supported columns to 100 from 50 Low11/24/2025
9.1.3- `@serenity-is/domwise` is our new library to create DOM elements with full TypeScript support. It is primarily based on [jsx-dom](https://github.com/alex-kinokon/jsx-dom) with integrated signal support via [@preact/signals-core](https://github.com/preactjs/signals) and some extra types / ideas from [ryansolid/dom-expressions (SolidJS)](https://github.com/ryansolid/dom-expressions) and [lusito/tsx-dom](https://github.com/Lusito/tsx-dom). `@serenity-is/domwise` also exports signal functions likeLow11/14/2025
9.0.0- **Type registration via decorators** (e.g., `Decorators.registerClass`, `Decorators.registerEditor`, etc.) is now deprecated (it still works but is not recommended): ```ts import { Decorators, Widget } from "@serenity-is/corelib"; @Decorators.registerClass("MyProject") export class MyType extends Widget<any> { } ``` Instead, use a static `[Symbol.typeInfo]` property declaration: ```ts import { Widget } from "@serenity-is/corelib"; expLow10/10/2025

Dependencies & License Audit

Loading dependencies...

Similar Packages

spiderly.NET (C#) boilerplate code generator that transforms an EF Core model into a fully customizable .NET (C#) + Angular web appv19.16.0
ZibStack.NETZero-reflection .NET source generators: [Log] structured logging, [Trace] OpenTelemetry spans, [Aop] aspects (Retry/Cache/Metrics), Dto/CrudApi, TypeGen (TypeScript + OpenAPI from C# DTOs). Compile-tiv3.2.9
dotcraftAn Agent Harness crafting around your project. From Desktop, CLI, editors, chatbots, APIs — everywhere you work.v0.9.4
Perigon.CLIThis is a tool that helps you quickly build backend services based on Asp.Net Core and EF Core. It provides command line, WebUI and IDE MCP support. In a well-designed project architecture that has bev10@2026-09-10
CoalesceQuickly build amazing web apps6.5.1

More in Frameworks

oh-my-opencodeThe Best AI Agent Harness - Batteries-Included OpenCode Plugin with Multi-Model Orchestration, Parallel Background Agents, and Crafted LSP/AST Tools
tornadoTornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed.
bamlThe AI framework that adds the engineering to prompt engineering (Python/TS/Ruby/Java/C#/Rust/Go compatible)
panderaA light-weight and flexible data validation and testing tool for statistical data objects.