Skip to content

Initial Setup#2

Merged
viceroypenguin merged 5 commits into
mainfrom
initial
May 22, 2026
Merged

Initial Setup#2
viceroypenguin merged 5 commits into
mainfrom
initial

Conversation

@viceroypenguin
Copy link
Copy Markdown
Member

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Initial repository/setup PR establishing the solution structure for the Immediate.Injections source generator/analyzers, shared attribute surface area, and the test + CI/CD scaffolding needed to build/package/test the project.

Changes:

  • Added Shared project API surface (attributes + enums) intended to drive DI registration generation.
  • Added Generators/Analyzers projects plus an initial generator pipeline that renders a ServiceCollection extensions file from a Scriban template.
  • Added test projects (analyzer/generator helpers + Verify initialization) and GitHub Actions workflows for build/test/release.

Reviewed changes

Copilot reviewed 47 out of 49 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
tests/Immediate.Injections.Tests/Utility.cs Test utilities for reference assemblies and DI metadata references across TFMs.
tests/Immediate.Injections.Tests/ModuleInitializer.cs Initializes Verify configuration and source generator verification in tests.
tests/Immediate.Injections.Tests/Immediate.Injections.Tests.csproj Multi-targeted unit test project with Roslyn testing + Verify dependencies.
tests/Immediate.Injections.Tests/GeneratorTests/GeneratorTestHelper.cs Helper to run the generator and assert incremental behavior.
tests/Immediate.Injections.Tests/AnalyzerTests/AnalyzerTestHelpers.cs Helpers for analyzer and suppressor tests (with optional diagnostic enabling).
tests/Immediate.Injections.FunctionalTests/Immediate.Injections.FunctionalTests.csproj Functional tests project wiring analyzers/generators as analyzers.
src/Immediate.Injections/Immediate.Injections.csproj Packaging project configuration (NuGet metadata + packing analyzer/generator outputs).
src/Immediate.Injections.Shared/Immediate.Injections.Shared.csproj Shared library multi-targeting and dependency wiring.
src/Immediate.Injections.Shared/DuplicateStrategy.cs Defines duplicate registration behavior options.
src/Immediate.Injections.Shared/RegistrationStrategy.cs Defines service registration strategy options.
src/Immediate.Injections.Shared/RegistrationDefaultsAttribute.cs Defines assembly-wide defaults attribute for registration behavior.
src/Immediate.Injections.Shared/RegisterSingletonAttribute.cs Singleton registration attribute (non-generic) with optional defaults override.
src/Immediate.Injections.Shared/RegisterSingletonAttribute{TService}.cs Generic singleton registration attribute shape.
src/Immediate.Injections.Shared/RegisterSingletonAttribute{TService,TImplementation}.cs Generic singleton registration attribute shape with explicit implementation type.
src/Immediate.Injections.Shared/RegisterScopedAttribute.cs Scoped registration attribute (non-generic).
src/Immediate.Injections.Shared/RegisterScopedAttribute{TService}.cs Generic scoped registration attribute shape.
src/Immediate.Injections.Shared/RegisterScopedAttribute{TService,TImplementation}.cs Generic scoped registration attribute shape with explicit implementation type.
src/Immediate.Injections.Shared/RegisterTransientAttribute.cs Transient registration attribute (non-generic).
src/Immediate.Injections.Shared/RegisterTransientAttribute{TService}.cs Generic transient registration attribute shape.
src/Immediate.Injections.Shared/RegisterTransientAttribute{TService,TImplementation}.cs Generic transient registration attribute shape with explicit implementation type.
src/Immediate.Injections.Shared/RegisterServicesAttribute.cs Marker attribute intended for methods that register services.
src/Immediate.Injections.Generators/Immediate.Injections.Generators.csproj Generator project configuration including embedded Scriban templates.
src/Immediate.Injections.Generators/ImmediateInjectionsGenerator.cs Incremental generator entrypoint and assembly defaults pipeline.
src/Immediate.Injections.Generators/ImmediateInjectionsGenerator.Models.cs Generator internal model records for assembly defaults.
src/Immediate.Injections.Generators/ImmediateInjectionsGenerator.Transform.cs Transforms RegistrationDefaultsAttribute into generator-friendly defaults.
src/Immediate.Injections.Generators/ImmediateInjectionsGenerator.Render.cs Renders the service collection extensions source from the Scriban template.
src/Immediate.Injections.Generators/Templates/ServiceCollectionExtensions.sbntxt Scriban template for generated IServiceCollection extension entrypoint.
src/Immediate.Injections.Generators/Properties/launchSettings.json Roslyn component debug profile targeting functional tests.
src/Immediate.Injections.Analyzers/Immediate.Injections.Analyzers.csproj Analyzer project configuration baseline.
src/Immediate.Injections.Analyzers/DiagnosticIds.cs Placeholder for analyzer diagnostic IDs.
src/Immediate.Injections.Analyzers/AnalyzerReleases.Unshipped.md Analyzer release notes placeholder.
src/Immediate.Injections.Analyzers/AnalyzerReleases.Shipped.md Analyzer shipped release notes placeholder.
src/Immediate.Injections.Analyzers/Properties/launchSettings.json Roslyn component debug profile targeting functional tests.
src/Common/Utility.cs Common helper extensions used by analyzer/generator projects.
src/Common/SyntaxExtensions.cs Placeholder for syntax extensions shared code.
src/Common/ITypeSymbolExtensions.cs Placeholder for type symbol extensions shared code.
readme.md Initial README with badges scaffold.
license.txt MIT license file addition.
Immediate.Injections.slnx Solution definition listing projects and root files.
global.json Test runner configuration (Microsoft.Testing.Platform).
Directory.Packages.props Central package version management across TFMs.
Directory.Build.props Repo-wide build settings (nullable, analyzers, CI warnings-as-errors, etc.).
.editorconfig Code style and analyzer severity configuration.
.gitignore Standard build/test/Verify artifacts ignores.
.gitattributes Basic text normalization attributes.
.github/workflows/build.yml CI build/test/coverage workflow.
.github/workflows/release.yml Release workflow to pack/push NuGet + create GitHub release.
.github/dependabot.yml Dependabot configuration for NuGet and GitHub Actions.
.github/FUNDING.yml GitHub Sponsors configuration.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Immediate.Injections.Shared/RegistrationDefaultsAttribute.cs
Comment thread src/Immediate.Injections.Shared/RegisterSingletonAttribute.cs
Comment thread src/Immediate.Injections.Shared/RegisterScopedAttribute.cs
Comment thread src/Immediate.Injections.Shared/RegisterScopedAttribute.cs Outdated
Comment thread src/Immediate.Injections.Shared/RegisterTransientAttribute.cs Outdated
Comment thread license.txt Outdated
Comment thread src/Immediate.Injections/Immediate.Injections.csproj
Comment thread tests/Immediate.Injections.Tests/ModuleInitializer.cs
Comment thread tests/Immediate.Injections.Tests/ModuleInitializer.cs
Comment thread src/Immediate.Injections.Shared/RegisterServicesAttribute.cs
@viceroypenguin viceroypenguin merged commit 6b1b3d8 into main May 22, 2026
1 check failed
@viceroypenguin viceroypenguin deleted the initial branch May 22, 2026 17:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants