diff --git a/LayeredCraft.DecoWeaver.slnx b/LayeredCraft.DecoWeaver.slnx
index 1e4b5ce..8ce23e5 100644
--- a/LayeredCraft.DecoWeaver.slnx
+++ b/LayeredCraft.DecoWeaver.slnx
@@ -8,6 +8,7 @@
+
@@ -56,7 +57,7 @@
-
+
@@ -64,10 +65,10 @@
-
+
-
+
\ No newline at end of file
diff --git a/README.md b/README.md
index f1f1705..c5615f8 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
**Compile-time decorator registration for .NET dependency injection**
-[](https://www.nuget.org/packages/DecoWeaver/)
+[](https://www.nuget.org/packages/LayeredCraft.DecoWeaver/)
[](https://github.com/LayeredCraft/decoweaver/actions/workflows/build.yaml)
[](LICENSE)
[](https://layeredcraft.github.io/decoweaver/)
@@ -21,12 +21,14 @@ DecoWeaver is a .NET incremental source generator that brings **compile-time dec
📚 **[View Full Documentation](https://layeredcraft.github.io/decoweaver/)**
+> **Migrating from `DecoWeaver`?** The `DecoWeaver` NuGet package has been deprecated in favor of `LayeredCraft.DecoWeaver`. Update your package reference and replace `using DecoWeaver.Attributes;` with `using LayeredCraft.DecoWeaver.Attributes;` in your code.
+
## Installation
Install the NuGet package:
```bash
-dotnet add package DecoWeaver --prerelease
+dotnet add package LayeredCraft.DecoWeaver --prerelease
```
Ensure your project uses C# 11 or later:
@@ -43,7 +45,7 @@ Ensure your project uses C# 11 or later:
### 1. Mark your implementation with the decorator to apply
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserRepository : IUserRepository
diff --git a/docs/advanced/source-generators.md b/docs/advanced/source-generators.md
index c0af12c..7ab8b58 100644
--- a/docs/advanced/source-generators.md
+++ b/docs/advanced/source-generators.md
@@ -377,7 +377,7 @@ public async Task GeneratesInterceptorForDecoratedType()
{
// Arrange
var source = @"
- using DecoWeaver.Attributes;
+ using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserRepository : IUserRepository { }
diff --git a/docs/api-reference/attributes.md b/docs/api-reference/attributes.md
index 9f40e35..6418784 100644
--- a/docs/api-reference/attributes.md
+++ b/docs/api-reference/attributes.md
@@ -42,7 +42,7 @@ public class UserRepository : IUserRepository { }
#### Basic Usage
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserRepository : IUserRepository
@@ -155,7 +155,7 @@ Controls the order in which multiple decorators are applied. Lower values are ap
#### Basic Usage
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy(typeof(LoggingRepository))]
public class UserRepository : IUserRepository
@@ -333,7 +333,7 @@ Controls the order when multiple assembly-level decorators are applied. Lower va
#### Basic Usage
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
// Apply logging to all IRepository implementations
[assembly: DecorateService(typeof(IRepository<>), typeof(LoggingRepository<>))]
diff --git a/docs/examples/index.md b/docs/examples/index.md
index c94e8dc..3900f41 100644
--- a/docs/examples/index.md
+++ b/docs/examples/index.md
@@ -65,7 +65,7 @@ Here's a complete example showing multiple decorators working together:
```csharp
using Microsoft.Extensions.DependencyInjection;
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
// Service interface
public interface IOrderService
diff --git a/docs/getting-started/installation.md b/docs/getting-started/installation.md
index 2ab57ff..b7463fb 100644
--- a/docs/getting-started/installation.md
+++ b/docs/getting-started/installation.md
@@ -5,29 +5,32 @@
Install DecoWeaver via the .NET CLI:
```bash
-dotnet add package DecoWeaver --prerelease
+dotnet add package LayeredCraft.DecoWeaver --prerelease
```
Or via Package Manager Console in Visual Studio:
```powershell
-Install-Package DecoWeaver -Prerelease
+Install-Package LayeredCraft.DecoWeaver -Prerelease
```
Or add directly to your `.csproj` file:
```xml
-
+
```
Note: The full version includes a build number suffix added by the build system (e.g., `1.0.0-beta.123`).
+!!! warning "Migrating from `DecoWeaver`?"
+ The `DecoWeaver` NuGet package has been deprecated. Replace it with `LayeredCraft.DecoWeaver` and update all `using DecoWeaver.Attributes;` statements to `using LayeredCraft.DecoWeaver.Attributes;`.
+
## Package Contents
The DecoWeaver NuGet package includes:
-- **DecoWeaver.Attributes.dll** - Runtime attributes (zero footprint with `[Conditional]`)
-- **DecoWeaver.dll** - Source generator (build-time only)
+- **LayeredCraft.DecoWeaver.Attributes.dll** - Runtime attributes (zero footprint with `[Conditional]`)
+- **LayeredCraft.DecoWeaver.Generators.dll** - Source generator (build-time only)
## Verify Installation
@@ -35,7 +38,7 @@ After installation, verify the generator is working:
1. Add a simple decorator attribute to a class
2. Build your project
-3. Check for generated files in `obj/Debug/{targetFramework}/generated/DecoWeaver/`
+3. Check for generated files in `obj/Debug/{targetFramework}/generated/LayeredCraft.DecoWeaver.Generators/`
## IDE Support
diff --git a/docs/getting-started/quick-start.md b/docs/getting-started/quick-start.md
index b4dd5d1..164d580 100644
--- a/docs/getting-started/quick-start.md
+++ b/docs/getting-started/quick-start.md
@@ -5,7 +5,7 @@ Get started with DecoWeaver in 5 minutes by creating a simple logging decorator.
## Step 1: Install DecoWeaver
```bash
-dotnet add package DecoWeaver --prerelease
+dotnet add package LayeredCraft.DecoWeaver --prerelease
```
## Step 2: Create Your Service
@@ -71,7 +71,7 @@ public class LoggingUserService : IUserService
Add the `[DecoratedBy]` attribute to your implementation:
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserService : IUserService
@@ -115,7 +115,7 @@ await userService.GetByIdAsync(123);
To see the generated interceptor code:
-**Visual Studio**: Solution Explorer → Show All Files → obj/Debug/net8.0/generated/DecoWeaver/
+**Visual Studio**: Solution Explorer → Show All Files → obj/Debug/net8.0/generated/LayeredCraft.DecoWeaver.Generators/
**Rider**: Solution Explorer → Generated Files node
@@ -125,7 +125,7 @@ Instead of applying decorators to each class individually, you can apply them to
```csharp
// In GlobalUsings.cs or any .cs file
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[assembly: DecorateService(typeof(IUserService), typeof(LoggingUserService))]
diff --git a/docs/index.md b/docs/index.md
index 6312153..1eb39dc 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,8 +1,8 @@
# DecoWeaver
[](https://github.com/layeredcraft/decoweaver/actions/workflows/build.yaml)
-[](https://www.nuget.org/packages/DecoWeaver/)
-[](https://www.nuget.org/packages/DecoWeaver/)
+[](https://www.nuget.org/packages/LayeredCraft.DecoWeaver/)
+[](https://www.nuget.org/packages/LayeredCraft.DecoWeaver/)
**DecoWeaver** is a compile-time decorator registration library for .NET dependency injection. It uses C# 11+ interceptors to automatically apply the decorator pattern at build time, eliminating runtime reflection and assembly scanning.
@@ -19,10 +19,13 @@
- **🔗 Order Control**: Explicit decorator ordering via `Order` property
- **✨ Clean Generated Code**: Readable, debuggable interceptor code
+!!! warning "Migrating from `DecoWeaver`?"
+ The `DecoWeaver` NuGet package has been deprecated in favor of `LayeredCraft.DecoWeaver`. Update your package reference and replace `using DecoWeaver.Attributes;` with `using LayeredCraft.DecoWeaver.Attributes;` in your code.
+
## Installation
```bash
-dotnet add package DecoWeaver --prerelease
+dotnet add package LayeredCraft.DecoWeaver --prerelease
```
## Quick Start
@@ -73,7 +76,7 @@ public class LoggingUserRepository : IUserRepository
### 3. Apply the Decorator Attribute
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserRepository : IUserRepository
diff --git a/docs/usage/assembly-level-decorators.md b/docs/usage/assembly-level-decorators.md
index 74976d4..b6a6b4a 100644
--- a/docs/usage/assembly-level-decorators.md
+++ b/docs/usage/assembly-level-decorators.md
@@ -7,7 +7,7 @@ Assembly-level decorators provide a centralized way to apply decorators to multi
Use the `[assembly: DecorateService(...)]` attribute in any `.cs` file (commonly in `GlobalUsings.cs` or `AssemblyInfo.cs`):
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[assembly: DecorateService(typeof(IRepository<>), typeof(CachingRepository<>))]
```
@@ -358,7 +358,7 @@ Keep all assembly-level decorators in one file:
```csharp
// GlobalUsings.cs or AssemblyDecorators.cs
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
// Repositories
[assembly: DecorateService(typeof(IRepository<>), typeof(LoggingRepository<>), Order = 10)]
diff --git a/docs/usage/class-level-decorators.md b/docs/usage/class-level-decorators.md
index 70eb7ed..d5d2329 100644
--- a/docs/usage/class-level-decorators.md
+++ b/docs/usage/class-level-decorators.md
@@ -12,7 +12,7 @@ The `[DecoratedBy]` attribute is the primary way to apply decorators in DecoWeav
The most common and type-safe approach:
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy]
public class UserRepository : IUserRepository
@@ -26,7 +26,7 @@ public class UserRepository : IUserRepository
Alternative syntax using `typeof()`:
```csharp
-using DecoWeaver.Attributes;
+using LayeredCraft.DecoWeaver.Attributes;
[DecoratedBy(typeof(LoggingDecorator))]
public class UserRepository : IUserRepository