This is the public, source-available repository for the Regira NuGet packages, published on nuget.org. Most packages are Apache-2.0; the seven commercially licensed packages ship the Regira Commercial License with a free tier — see Licensing. Homepage: regira.com · Documentation: regira.github.io/Regira-Packages.
Regira is a collection of .NET libraries providing unified abstractions for common application concerns. All packages follow the same pattern: a shared interface in a Common.* project, with one or more backend implementations as separate packages. This repository supersedes the former private Regira-Codebase: public history starts at the 6.0.0 release (2026-08-05), but the libraries were extracted from a longer-running private codebase that powers production systems such as the live demos below.
| Module | Description |
|---|---|
| Common | Shared foundation — IO abstractions, utilities, normalizing, caching, serializing, DAL contracts |
| Entities | Generic entity library for CRUD, filtering, sorting, and EF Core integration |
| IO.Storage | Unified file storage — local, Azure Blob, SFTP, GitHub, ZIP |
| Module | Description |
|---|---|
| EF Core | Entity Framework Core extensions and utilities |
| MongoDB | MongoDB connectivity and backup/restore |
| MySQL | MySQL/MariaDB connectivity and backup/restore |
| PostgreSQL | PostgreSQL connectivity and backup/restore |
| SQL Server | SQL Server backup/restore |
| Module | Description |
|---|---|
| Media | Image processing, format conversion, and layer composition |
| Video | Video compression and snapshot extraction via FFMpeg |
| Module | Description |
|---|---|
| Office (overview) | All Office submodule index |
| Barcodes | Barcode and QR code generation and scanning |
| CSV | CSV reading and writing |
| Excel | Excel workbook reading and writing |
Email sending via SendGrid and Mailgun, .msg/.eml reading, and mail DTOs for HTTP endpoints |
|
| OCR | Optical character recognition |
| HTML→PDF, PDF operations, and printing | |
| VCards | vCard contact file reading and writing |
| Word | Word document creation, conversion, merge, and extraction |
| Module | Description |
|---|---|
| Security | Encryption, hashing, and authentication — JWT with refresh tokens, API keys, cookies, Entra ID, and OpenID Connect |
| Serializing | JSON serialization via Newtonsoft.Json |
| System | Process management, scheduling, and system utilities |
| Module | Description |
|---|---|
| Web / HTML | Razor template rendering, middleware, and Swagger |
| Web / Analytics | Abstract visitor analytics — pluggable capture, enrichment, and storage hooks |
| Web / Analytics.GeoIP2 | Country/city enrichment for the analytics from a local MaxMind GeoIP2/GeoLite2 database |
| Module | Description |
|---|---|
| Globalization | Phone number parsing and formatting via libphonenumber |
| Invoicing | Invoice models and structured number parsing |
| Payments | Payment abstractions and structured reference numbers |
| TreeList | Generic hierarchical tree structures with navigation extension methods |
It’s just NuGet — every package installs straight from nuget.org, no custom feed:
dotnet add package Regira.Entities.Web # entity CRUD/REST over EF Core
dotnet add package Regira.IO.Storage # unified file storage
dotnet add package Regira.Office # PDF/Excel/Word/mail contracts
All packages target net8.0 and net10.0. See docs/quickstart.md for an end-to-end first project.
AI assistance for Regira centers on a hosted MCP server. Connecting it is usually all you need — the agent can both discover packages and fetch the same bootstrap guidance an AGENTS.md file provides, without installing anything first.
It’s also lighter on tokens: the agent pulls only the guidance relevant to the task on demand, instead of loading full instruction files into its context window up front.
Two optional layers add repo-local context when you want it:
AGENTS.md file gives the agent the setup workflow even when the MCP server isn’t connected.dotnet build give the agent detailed implementation instructions for the packages you’ve installed.The hosted server lives at https://mcp.regira.com/mcp. No key or sign-up is needed. Pick your client:
| Client | How to connect | Notes |
|---|---|---|
| Claude Code (CLI / VS Code extension) | claude mcp add --transport http regira https://mcp.regira.com/mcp — or commit the .mcp.json below at the repo root |
The first time, Claude Code asks you to approve the project server (or run /mcp). claude mcp list shows whether it is connected. |
| Claude Desktop / claude.ai | Customize → Connectors → + → Add custom connector → name regira, URL https://mcp.regira.com/mcp |
No config file (claude_desktop_config.json only takes local servers). Every plan can add one; Free is capped at a single custom connector. |
| GitHub Copilot (VS Code) | .vscode/mcp.json with the JSON below, but with the top key servers instead of mcpServers |
Click the Start action VS Code shows above the server entry, then switch Copilot Chat to Agent mode. |
| Cursor | Settings → MCP Servers → Add server → paste https://mcp.regira.com/mcp |
— |
{
"mcpServers": {
"regira": {
"type": "http",
"url": "https://mcp.regira.com/mcp"
}
}
}
The
"type": "http"line is required — Claude Code and VS Code skip aurlentry without it, and neither knows atransportkey.
First prompt. Describe the app and let the agent follow the bootstrap guide: “Scaffold a Regira Entities API for a shopping list with categories and articles — start from the Regira MCP server’s bootstrap guide.” The agent calls get_bootstrap_guide first and works through the golden path’s checkpoints.
What to expect. A back-end API takes roughly 15–45 minutes and 20–25 MCP calls; adding the Vue SPA about doubles that. Most of the budget goes to documentation reads rather than code — that is by design, so the agent doesn’t guess signatures. The free tier covers 5 simple + 2 complex entity registrations per application; the agent counts your entities in phase 0 and tells you if the design won’t fit (see Licensing).
| Tool | What it does |
|---|---|
get_bootstrap_guide |
Consumer project setup guide (project template, DI, workflow) |
list_packages |
Browse all packages, optionally filtered by category |
search_packages |
Keyword/use-case search, returns ranked results |
search_docs |
Full-text search over every package’s documentation content — returns ranked (package, section, heading) hits with a snippet and the get_package(...) call to read each. Optional package scope and limit |
recommend_packages |
Describe a feature, get package suggestions (optional platform: backend/frontend) |
get_package_card |
Compact “must-know in 10 bullets” index card for one package — the fastest orientation before drilling in |
get_package |
Full docs and setup instructions for one package. Optional section key and heading narrow the response; maxChars/page paginate |
get_package_toc |
List the documentation section keys available for a package |
get_section_toc |
List the headings within a specific section file, before fetching one with get_package heading=<text> |
get_example |
Search for code examples by topic keyword within a specific package — returns only matching sections, saving context. Accepts an optional section parameter (e.g. examples, instructions) to narrow the search. |
list_types |
List public types from a package source map, with optional namespace / kind / name filters |
get_type |
Source-map details for a type (namespace, kind, inheritance, members); searches sibling packages automatically |
how_to |
Task-oriented “how do I do X in code?” recipes for common Regira Entities tasks (attachments, seeding, back-dating, service resolution) |
If you’re not connecting the MCP server, copy ai/AGENTS.md into the root of your application repository as AGENTS.md. This gives the agent the full Regira project setup workflow: NuGet configuration, project templates, and which packages to install for common scenarios.
This works for both a new empty folder and an existing application that needs extra Regira features. With the MCP server connected, the agent retrieves this same guide via get_bootstrap_guide, so copying the file is unnecessary.
AI guides are first-class artifacts embedded inside NuGet packages under ai/. Most guide-carrying packages also ship a build/*.targets file; when such a package is installed and you run dotnet build, that .targets file copies its guide files into .regira/instructions/ at the solution root. (A few packages pack guides without a local-extraction .targets file — those guides are served via the MCP server only — and Regira.Entities extracts seven of its nine packed guides.) The agent therefore sees only the guides relevant to the packages actually installed — detailed implementation instructions, code examples, and API signatures — not the full Regira source tree.
Install Regira.Setup to also extract the shared setup guides project.setup.md and shared.setup.md. Individual module packages extract their own guides the same way.
tests/Entities.TestApi is a complete Entities Web API (Sqlite, attachments, OpenAPI): dotnet run --project tests/Entities.TestApi, then open the Scalar UI it logs at startup.At a glance:
| Packages | License | Key needed? |
|---|---|---|
| Everything except the seven below | Apache-2.0 | Never — no license validation |
Regira.Licensing, Regira.Entities.EFcore, Regira.Entities.DependencyInjection, Regira.Entities.Web, Regira.Entities.Mapping.Mapster, Regira.Entities.Mapping.AutoMapper, Regira.Office.Clients |
Regira Commercial — free tier included | Only beyond the free tier |
Full limits, definitions, and prices: licensing.md.
The commercial packages validate an optional license key at startup. Validation is fully offline using an RSA-signed token. Obtain a license at https://regira.com/licensing.
Register each license once, before the corresponding module setup. Without a key the free tier applies automatically; a single key can cover multiple products.
Reads keys from Regira:LicenseKeys, ignoring blanks:
services.UseRegira(configuration);
{
"Regira": {
"LicenseKeys": [
"<your-license-key>"
]
}
}
Pass one or more keys directly:
services.UseRegira(licenseKey);
When several keys are registered, the best license per product is selected (paid always wins over free).