You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This folder holds the 52 publishable framework projects, organised
into four strictly-layered tiers. Each tier may depend on tiers to its
left and never to its right; the compiler enforces the layering.
Every project ships its own README.md describing its public surface,
configuration class, and short usage examples — click the project name
to open it.
Foundational tier — primitives every service needs
Application + back-office context resolver and middleware
Conventions every project follows
Apache 2.0 header on every .cs file — the same Firefly Software Foundation copyright that appears in the Java sources.
File-scoped namespaces matching the <RootNamespace> set in the csproj.
<IsPackable>true</IsPackable> by default (set centrally in Directory.Build.props); the only opt-out is FireflyFramework.ConfigServer, which is an executable host.
*Options companion class for every module that takes runtime configuration, bound under the Firefly:<Module> section.
AddFirefly<Module>(IConfiguration) extension on IServiceCollection for DI registration; UseFirefly<Module>() on IApplicationBuilder where middleware is involved.
Documented upstream limits — every public method either runs real code or throws NotSupportedException with an actionable message. There are no silent stubs.
Where to look next
docs/ARCHITECTURE.md — the layering model and dependency-direction rules in detail.
docs/MODULES.md — the same project list, organised one paragraph per project, with the matching Java module.