Regira-Packages

Regira Packages

NuGet Downloads License Docs MCP server

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.


Core

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

DAL

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

Media

Module Description
Media Image processing, format conversion, and layer composition
Video Video compression and snapshot extraction via FFMpeg

Office

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
Mail Email sending via SendGrid and Mailgun, .msg/.eml reading, and mail DTOs for HTTP endpoints
OCR Optical character recognition
PDF HTML→PDF, PDF operations, and printing
VCards vCard contact file reading and writing
Word Word document creation, conversion, merge, and extraction

Infrastructure

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

Web

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

Utilities

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

Install

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.


Using Regira in your 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:

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 a url entry without it, and neither knows a transport key.

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).

Available tools

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)

Optional — Commit a bootstrap file

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.

Optional — Per-package guides (post-install)

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.


Samples & demos


Licensing

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.

From configuration

Reads keys from Regira:LicenseKeys, ignoring blanks:

services.UseRegira(configuration);
{
  "Regira": {
    "LicenseKeys": [
      "<your-license-key>"
    ]
  }
}

Explicit keys

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).