Add Apache 2.0 headers to every .cs file; refresh README index#20
Merged
Conversation
A repo-wide cleanup pass for professionalism / licensing hygiene:
## Apache 2.0 license header
Prepended the standard Firefly Software Foundation Apache 2.0 header
to every C# source file in src/, samples/, and tests/ — 344 files in
total, all of which previously lacked a header. The text is the same
notice used in the Java sources, normalised to C# `//` line comments:
// Copyright 2024-2026 Firefly Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.
The header sits above the first using directive, separated by a blank
line. Insertion was idempotent (skipped any file already containing
"Firefly Software Foundation"); re-running on top is a no-op. Build:
0 errors / 0 warnings; 346/346 tests still pass.
## Documentation index
Removed `docs/AUDIT.md` (Java↔.NET parity audit) per the user's
direction — the same information now lives implicitly in the README
quickstarts, the per-project READMEs, and the new index pages added
in this PR. All references to AUDIT.md are stripped from README.md.
Added three new top-level README index pages:
* `docs/README.md` — indexes ARCHITECTURE / MODULES / SERVICE-SCAFFOLDING
/ CONFIGURATION / MIGRATION-GUIDE with audience tags and a recommended
reading order. Replaces the navigation role AUDIT.md served.
* `src/README.md` — lists every src/* project organised by tier
(Foundational / Platform / Adapters / Starters), with a one-line
description of each and a link to its own README. Calls out the
conventions every project follows: Apache header, file-scoped
namespaces, `<IsPackable>true</IsPackable>` default, options + DI
extension naming, and the no-silent-stubs rule.
* `tests/README.md` — describes the single-test-project layout, how
to run filtered subsets, the three test categories (framework
internals / adapter shape / extras), and the conventions for new
tests (WireMock for HTTP adapters, NSubstitute for SDK-fronted
ones, xUnit-native asserts).
## README touch-up
Updated the top-level `README.md` to reflect the new structure:
* "Repository layout" tree shows the three new index READMEs and
drops the AUDIT.md line.
* "Documentation" section points at `docs/README.md` as the
recommended starting point and removes the AUDIT.md row.
* Per-project + index READMEs are explicitly cross-linked so a
reader landing in any of `src/`, `samples/`, `tests/`, or `docs/`
finds the right next page within one click.
## Verification
* `dotnet build FireflyFramework.sln` — 0 errors / 0 warnings.
* `dotnet test FireflyFramework.sln --no-build` — 346 / 346 passing.
* `find src tests samples -name '*.cs' -exec grep -L 'Firefly Software Foundation' {} \;` — empty (every file has the header).
* `head -2 src/FireflyFramework.Cqrs/Commands/ICommand.cs` shows the
header sits above the first `using` directive, not inside it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A repo-wide cleanup pass for professionalism and licensing hygiene.
Apache 2.0 license header
Prepended the standard Firefly Software Foundation Apache 2.0 header to every C# source file in `src/`, `samples/`, and `tests/` — 344 files, none of which previously had a header.
```csharp
// Copyright 2024-2026 Firefly Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.
```
The text matches the notice in the Java sources, normalised to C# `//` line comments. Insertion was idempotent (skipped any file already containing "Firefly Software Foundation"); re-running is a no-op.
Documentation index
Top-level README touch-up
Verification
Change shape