DotGenerate 1.0.5
dotnet add package DotGenerate --version 1.0.5
NuGet\Install-Package DotGenerate -Version 1.0.5
<PackageReference Include="DotGenerate" Version="1.0.5" />
paket add DotGenerate --version 1.0.5
#r "nuget: DotGenerate, 1.0.5"
// Install DotGenerate as a Cake Addin #addin nuget:?package=DotGenerate&version=1.0.5 // Install DotGenerate as a Cake Tool #tool nuget:?package=DotGenerate&version=1.0.5
DotGenerate
The purpose of this package is to forget about implementations and let the AI do them instead through code Source Generators. RIght now the project does make use of the OpenAI API, but it can be developed to be used with other LLMs
Getting Started
Add the following to your csproj file
<ItemGroup>
<CompilerVisibleProperty Include="OpenAIKey"/>
</ItemGroup>
<PropertyGroup>
<OpenAIKey>Your API Key</OpenAIKey>
</PropertyGroup>
Actual usage
Create any interface where you annotate it with [AIGenerated]
attribute and then write a description for the methods you want to be generated inside xml summary tags.
Example:
/// <summary>
/// This interface will be automatically implemented by AI
/// </summary>
[AIGenerated]
public interface IExample
{
/// <summary>
/// This method should multiply 2 numbers
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public int Multiply(int x, int y);
}
Afterwards an implementation will be automatically generated for that interface with suffix "_AIGenerated" under SameNamespace.AIGenerated
and can be used like so:
var example = new IExample_AIGenerated();
Console.WriteLine(example.Multiply(2, 3));
Donation
If you feel like helping me develop this package further Buy me a cofee
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.5 | 207 | 7/31/2023 |