DEV Community

Guillermo Contreras
Guillermo Contreras

Posted on

I built five zero-dependency packages for .NET

For the last few months I've been building Matios — a small family of
open-source packages for .NET (and the web) that all share one rule:
zero dependencies.

Not "few dependencies." Zero. Each one is built only on the BCL — no third-party
packages, no transitive tree to audit, nothing that can change its license out
from under you. MIT, and small enough to read end to end.

Here's why, and what's in the family.

Why zero dependencies?

Every dependency you add is something you don't fully control: a supply-chain
surface, a transitive tree, a maintenance and licensing risk. For a lot of
everyday tasks — writing an Excel file, generating a PDF, dispatching a request —
I wanted a library I could drop in and forget, and read if I ever needed to.

So instead of wrapping an existing engine, each package writes the format (or
implements the pattern) itself
, on the BCL alone. As a bonus, that makes them a
great fit for Native AOT and trimming, where every dependency is friction.

The family

📊 Matios.Spreadsheet — read, write and stream
.xlsx (Office Open XML) with its own engine: styling, formulas computed in
memory, charts, pivots, streaming.

📄 Matios.Pdf — generate, read and encrypt PDFs
(ISO 32000): embedded, subsetted Unicode fonts, vector graphics, images, and a
layout engine with flow and paginating tables.

🧩 Matios.Forge — a mediator for .NET with no
mandatory container (dispatch in ~15 ns, allocation-free), plus a set of building
blocks for Clean Architecture (specification, state machine, strategy, repository…).

🔒 Matios.Security — JOSE/JWT done strictly: it
issues JWE (encrypted tokens) that the official .NET stack can't, plus JWS and
Nested JWT.

🎨 Matios UI Framework — the web sibling:
UI in pure CSS and JavaScript, 85+ components, mode + accent theming, no build step.

Every one is MIT, tested and benchmarked — and, for the .NET ones, validated
against real readers (opening the .xlsx in Excel, the PDF in real viewers, and
so on) rather than just unit tests in isolation.

Try them

Each has its own page with the docs, examples, benchmarks and the install command
(plus NuGet and GitHub links):

Or start from matios.cl.

It's early, and it's open source. If any of these solve a problem for you, I'd
genuinely love your feedback — issues, stars, and "this broke on my file" reports
are all welcome. That's exactly how they get better.

I'll follow up with a short how-to for each one. Thanks for reading. 🙌

Top comments (0)