This tool leverages Large Language Models (LLMs) to convert a user query into a series of steps for the dotnet SDK that can be optionally executed. To be put simply: The tool takes a user query of an intended action, an optional argument to execute the steps and responds with a series of steps.
The main purpose is to streamline and simplify the process of using the dotnet SDK to create projects by simply specifying instructions and optionally invoking them.
- Install the dotnet-ai tool by invoking the following on your terminal:
dotnet tool install dotnet-ai -g
. - Set the OpenAI API Key as an environment variable.
- If you are using Powershell, use:
$env:OPENAI_API_KEY='Add Your OpenAI API Key Here'
. - If you are using Command Prompt, use:
set OPENAI_API_KEY=Add Your OPEN API KEY Without Quotations
.
- If you are using Powershell, use:
- Invoke the tool:
dotnet-ai --query "Add your query here"
: This will list the steps required.dotnet-ai --query "Add your query here" --execute
: This will list the steps required and then execute them.
- Examples:
- Handling some basic SDK operations both in the form of questions and commands:
dotnet-ai --query "Display the sdks installed" --execute
.dotnet-ai --query "How do I add a nuget package?"
.dotnet-ai --query "How do I uninstall a dotnet tool"
.
- Generating projects from simple to more complex in C#, F# or Visual Basic:
dotnet-ai --query "Create and run an application that'll print all the planets of the solar system."
.dotnet-ai --query "Create and run an application that'll generate the first 20 Fibonacci numbers in F# in a project called 'Fib'" --execute
.dotnet-ai --query "Create an implementation of Priority Queues in C#" --execute
.dotnet-ai --query "Implement of Bubblesort in VB in a project called Bubblesort" --execute
.
- Handling some basic SDK operations both in the form of questions and commands:
NOTE: Some projects are too complex for the current LLM to generate code for.
- Clone the repo:
git clone https://github.com/MokoSan/dotnet-ai.git
. - cd into the folder:
cd dotnet-ai
. - Build the repo:
cd dotnet-ai
.dotnet build
. Usedotnet build -c Release
to build in Release mode.
- Run the code:
- Running using the dotnet SDK:
dotnet run -- --query "Create an application that prints the planets of the solar system."
.
- Running from the binary:
cd bin
.cd Debug
orcd Release
.cd net6.0
..\dotnet-ai.exe --query "Create an application that prints the planets of the solar system."
.
- Running using the dotnet SDK:
dotnet-ai --query "create a program that'll generate the first 30 prime numbers and also add the newtonsoft json nuget package"
Response:
To create a program that generates the first 30 prime numbers and add the Newtonsoft.Json NuGet package, you can follow these steps:
-
Create a new .NET project:
dotnet new console -n PrimeNumberGenerator
-
Change to the project directory:
cd PrimeNumberGenerator
-
Add the Newtonsoft.Json NuGet package:
dotnet add package Newtonsoft.Json
-
Open the Program.cs file in a text editor and replace the existing code with the following code:
using System; using Newtonsoft.Json; namespace PrimeNumberGenerator { class Program { static void Main(string[] args) { int count = 0; int number = 2; while (count < 30) { if (IsPrime(number)) { Console.WriteLine(number); count++; } number++; } } static bool IsPrime(int number) { if (number < 2) return false; for (int i = 2; i <= Math.Sqrt(number); i++) { if (number % i == 0) return false; } return true; } } }
-
Save the changes to the Program.cs file.
-
Build the project:
dotnet build
-
Run the program:
dotnet run
This will generate and display the first 30 prime numbers. The Newtonsoft.Json NuGet package has been added to the project to enable JSON serialization and deserialization capabilities.
This project is licensed under the MIT License.
Contributions are most welcome! If you encounter any issues or have suggestions for improvements, please feel free to open an issue or submit a pull request.