I've been building Asdamir for the past several months — a CLI + framework that scaffolds production-shaped .NET apps. Just shipped 1.3, so I'm writing it up.
What it does
asdamir new app MyApp --mode free gives you a working Blazor Server + API app with:
- Authentication + RBAC
- Menus and navigation
- Localization (tr/en/ru)
- A journaled migration runner
It creates the database, applies migrations, and writes the dev secrets — then ./restart-myapp.sh and you're logged in. No manual wiring.
Adding a feature is one command
asdamir new feature Product --fields "Name:string,Price:decimal,Stock:int"
That gives you: entity + CRUD page + menu entry + permissions + migration — applied automatically. Restart the app and the page is in the menu.
Full quick-start
# install the CLI (once)
dotnet tool install -g Asdamir.Tools
# create an app in any empty directory
mkdir my-apps && cd my-apps
asdamir new app DemoApp --mode free
# run it
cd DemoApp && ./restart-demoapp.sh
# → https://localhost:7010, sign in with the starter admin
# add a feature
asdamir new feature Product --fields "Name:string,Price:decimal,Stock:int"
./restart-demoapp.sh
Prerequisites: .NET 10 SDK + SQL Server (localhost:1433).
Free mode is genuinely standalone
No license check, no control plane, no phone-home. The generated app owns its own database and issues its own JWTs. It's open-core on NuGet:
- Asdamir.Core — models, multi-tenancy, JWT/AES-GCM, validation
- Asdamir.Data — Dapper repositories, journaled migrations, outbox
- Asdamir.Web — Blazor components, security middleware (CSP nonce, rate-limit), localization
- Asdamir.Payments — Paddle (MoR) + crypto rails, webhook signature verification
- Asdamir.Tools — the CLI
There's a commercial control plane (multi-app RBAC/config/monitoring) but you never need it for a single app.
Why I built it
I've been doing enterprise .NET for ~20 years, and this came out of rebuilding the same auth/RBAC/menu/i18n plumbing on project after project. Every new app started with the same two weeks of boilerplate. Asdamir is that boilerplate, generated in two commands.
I'd love feedback
- Does the free-mode flow actually work on your machine?
- Is the scaffolding opinionated in useful ways, or annoying ways?
- What would stop you from using it on a real project?
Site: asdamir.com · Docs: docs.asdamir.com · GitHub: asdamir-framework/asdamir
Happy to answer anything in the comments.
Top comments (1)
Author here, happy to answer questions