Enterprise architecture, in the open.
An executable governance framework, and the .NET building blocks that implement what it asks for.
Not a manifesto — two concrete things:
- Executable architectural governance (
Evolith / Arc32): ADRs, canonical patterns and governance rules that take a system from modular monolith to microservices without rewriting it. Governance is not a document here — it is an operational capability exposed through a CLI, an MCP server and a REST API, so rules get validated automatically instead of reviewed manually. - Reusable .NET libraries (
Shell.*): AOP, startup bootstrapping, factories, DDD building blocks. Small, focused, permissively licensed, published on NuGet.
Everything is AI-augmented by design: agent instructions (AGENTS.md) ship inside the repos, so a coding agent inherits the same standards a human contributor does.
|
15 packages on NuGet. One command away.
|
Read the reasoning before the code.
|
Ship your first PR this week.
|
dotnet add package BeyondNetCode.Shell.Aop # AOP via DispatchProxy
dotnet add package BeyondNetCode.Shell.Ddd # DDD building blocks
dotnet add package BeyondNetCode.Shell.Factory # configuration-driven factoriesTargets net10.0. The full family — aspects, Serilog integration, DI installers, value objects, AutoMapper profiles, observability — is on nuget.org/profiles/beyondnet.
| Project | What it is | Stack | Status |
|---|---|---|---|
| Evolith / Arc32 | Executable architectural governance: standards, ADRs and phase gates, delivered as a CLI, an MCP server and a REST API. | TypeScript · docs | Active · MIT |
| Shell.Ddd | DDD building blocks: entities, aggregate roots, value objects, domain events, business rules. | C# / .NET | Active · MIT |
| Shell.Bootstrapper | Startup orchestration via the Composite pattern — each step independent, testable, async. | C# / .NET | Active · Apache-2.0 |
| Shell.Factory | Configuration-driven factories: fluent API, DI integration, interceptors, type-safe creation. | C# / .NET | Active · MIT |
| Shell.Aop | AOP on native DispatchProxy — logging, retries and caching as reusable aspects. |
C# / .NET | Active · Apache-2.0 |
We keep a curated entry list. Every issue tagged good first issue states its scope, the exact files to touch, and the acceptance criteria your PR has to meet — no guesswork required.
What we need right now:
- .NET engineers — expand
Shell.*test coverage and cut the next release of the libraries. - TypeScript / Node engineers — reference implementations of the Arc32 patterns in NestJS.
- AI engineers — improve
AGENTS.mdinstruction sets; build evaluation harnesses for agent-generated PRs. - DevOps — CI templates, container images, release automation across the org.
- Technical writers — English/Spanish parity across the ADR corpus and the library docs.
No matching issue? Open one or start a discussion — proposals are welcome before code.
# 1. Fork and clone
gh repo fork beyondnetcode/evolith_arch32 --clone
# 2. Branch (conventional naming is enforced by commitlint)
git checkout -b feat/your-change
# 3. Commit — Conventional Commits, validated by husky
git commit -m "feat(reference): add ADR for outbox pattern"
# 4. Push and open the PR
gh pr create --fillRead CONTRIBUTING.md (ES) once — it covers the governance gates, the ADR process and how to propose a change to a standard.
Architecture changes go through ADRs, not opinions. Anyone can propose one; maintainers review against the corpus in reference/. Disagreement is expected and documented — that's the point of writing decisions down.
- Contributing guide (ES)
- Security policy
- Licensing: MIT and Apache-2.0 for the libraries, MIT for the Evolith corpus.
"Code goes beyond syntax; it is the architecture of the future. Join us in building it."
Maintained by Alberto Arroyo Raygada & contributors · Discussions