You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/chatmodes/New Aspire Hosting integration.chatmode.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
description: "This chat mode is to create a new .NET Aspire hosting integration, using the design in the Community Toolkit repo."
2
+
description: "This chat mode is to create a new Aspire hosting integration, using the design in the Community Toolkit repo."
3
3
tools: [
4
4
"changes",
5
5
"codebase",
@@ -17,7 +17,7 @@ tools: [
17
17
18
18
# New Aspire Hosting Integration
19
19
20
-
You are going to develop a new .NET Aspire hosting integration. The following in the process in which you need to go through to complete the task.
20
+
You are going to develop a new Aspire hosting integration. The following in the process in which you need to go through to complete the task.
21
21
22
22
## 1. Collect Requirements
23
23
@@ -207,9 +207,9 @@ The extension method should meet the following requirements:
207
207
208
208
## 4. Sample Usage
209
209
210
-
You need to create a sample usage of the hosting integration in the `examples` folder. This should be a minimal example that demonstrates how to use the hosting integration in a .NET Aspire application.
210
+
You need to create a sample usage of the hosting integration in the `examples` folder. This should be a minimal example that demonstrates how to use the hosting integration in an Aspire application.
211
211
212
-
Start by scaffolding a new .NET Aspire App Host project in the `examples` folder. This can be done using the following command:
212
+
Start by scaffolding a new Aspire App Host project in the `examples` folder. This can be done using the following command:
213
213
214
214
```bash
215
215
dotnet new aspire-apphost -n CommunityToolkit.Aspire.Hosting.<HostingIntegrationName>.AppHost -o examples/CommunityToolkit.Aspire.Hosting.<HostingIntegrationName>.AppHost
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
### Project Overview
4
4
5
-
- This repo is a collection of community-driven integrations and extensions for [.NET Aspire](https://aka.ms/dotnet/aspire), supporting a wide range of runtimes and cloud-native patterns.
5
+
- This repo is a collection of community-driven integrations and extensions for [Aspire](https://aka.ms/dotnet/aspire), supporting a wide range of runtimes and cloud-native patterns.
6
6
- Major components are organized by integration in `src/`, with tests in `tests/` and usage examples in `examples/`.
7
7
- Each integration is a NuGet package, following naming: `CommunityToolkit.Aspire.Hosting.*` (hosting) or `CommunityToolkit.Aspire.*` (client).
| - **Learn More**: [`Hosting.Java`][java-integration-docs] <br /> - Stable 📦: [![CommunityToolkit.Aspire.Hosting.Java][java-shields]][java-nuget] <br /> - Preview 📦: [![CommunityToolkit.Aspire.Hosting.Java][java-shields-preview]][java-nuget-preview]| An integration for running Java code in .NET Aspire either using the local JDK or using a container. |
18
+
| - **Learn More**: [`Hosting.Java`][java-integration-docs] <br /> - Stable 📦: [![CommunityToolkit.Aspire.Hosting.Java][java-shields]][java-nuget] <br /> - Preview 📦: [![CommunityToolkit.Aspire.Hosting.Java][java-shields-preview]][java-nuget-preview]| An integration for running Java code in Aspire either using the local JDK or using a container. |
19
19
| - **Learn More**: [`Hosting.NodeJS.Extensions`][nodejs-ext-integration-docs] <br /> - Stable 📦: [![CommunityToolkit.Aspire.NodeJS.Extensions][nodejs-ext-shields]][nodejs-ext-nuget] <br /> - Preview 📦: [![CommunityToolkit.Aspire.Hosting.JavaScript.Extensions][nodejs-ext-shields-preview]][nodejs-ext-nuget-preview]| An integration that contains some additional extensions for running Node.js applications |
20
20
| - **Learn More**: [`Hosting.Ollama`][ollama-integration-docs] <br /> - Stable 📦: [![CommunityToolkit.Aspire.Hosting.Ollama][ollama-shields]][ollama-nuget] <br /> - Preview 📦: [![CommunityToolkit.Aspire.Hosting.Ollama][ollama-shields-preview]][ollama-nuget-preview]| An Aspire hosting integration leveraging the [Ollama](https://ollama.com) container with support for downloading a model on startup. |
21
21
| - **Learn More**: [`OllamaSharp`][ollama-integration-docs] <br /> - Stable 📦: [![CommunityToolkit.Aspire.OllamaSharp][ollamasharp-shields]][ollamasharp-nuget] <br /> - Preview 📦: [![CommunityToolkit.Aspire.OllamaSharp][ollamasharp-shields-preview]][ollamasharp-nuget-preview]| An Aspire client integration for the [OllamaSharp](https://github.com/awaescher/OllamaSharp) package. |
Copy file name to clipboardExpand all lines: docs/create-integration.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
So, you want to create a new integration for the Aspire Community Toolkit? That's awesome! This guide will walk you through the process of creating a new integration.
4
4
5
-
First up, make sure you've had a read of the [Contributing guide](../CONTRIBUTING.md) to understand the contribution guidelines, and then familiarise yourself with creating a custom .NET Aspire integration for [hosting](https://learn.microsoft.com/dotnet/aspire/extensibility/custom-hosting-integration?tabs=windows) or for [clients](https://learn.microsoft.com/dotnet/aspire/extensibility/custom-client-integration).
5
+
First up, make sure you've had a read of the [Contributing guide](../CONTRIBUTING.md) to understand the contribution guidelines, and then familiarise yourself with creating a custom Aspire integration for [hosting](https://aspire.dev/integrations/custom-integrations/hosting-integrations/) or for [clients](https://aspire.dev/integrations/custom-integrations/client-integrations/).
6
6
7
7
## 📂 Repository Structure
8
8
@@ -18,7 +18,7 @@ Be sure to read through the [Setting up your Development Environment](./setup.md
18
18
19
19
## 🚀 Getting Started
20
20
21
-
To create a new integration, you'll need to create a new project in the `src/` directory. The project needs to be prefixed with `CommunityToolkit.Aspire.` and should be named after the integration you're creating, using the naming guidelines from the .NET Aspire team. For example, if you're creating a **Hosting** integration, then the project name should be `CommunityToolkit.Aspire.Hosting.MyIntegration`, whereas if you're creating a **Client** integration, then the project name should be `CommunityToolkit.Aspire.MyIntegration`.
21
+
To create a new integration, you'll need to create a new project in the `src/` directory. The project needs to be prefixed with `CommunityToolkit.Aspire.` and should be named after the integration you're creating, using the naming guidelines from the Aspire team. For example, if you're creating a **Hosting** integration, then the project name should be `CommunityToolkit.Aspire.Hosting.MyIntegration`, whereas if you're creating a **Client** integration, then the project name should be `CommunityToolkit.Aspire.MyIntegration`.
22
22
23
23
> Note: All integration packages will have the `Aspire.Hosting` NuGet package added as a dependency, as well as some standard MSBuild properties. You can see what is pre-configured in the `Directory.Build.props` file.
24
24
@@ -95,7 +95,7 @@ GitHub Actions Windows runners do not support Linux container images, so if your
95
95
96
96
#### Waiting for the resource to start
97
97
98
-
If the resource your integration exposes does not integrate into the .NET Aspire health check model, you may need to parse its logs to determine when it is ready to accept requests. To do this, use the `WaitForTextAsync` extension method on the `DistributionApplication` object to wait for a specific message to appear in the logs. Do note that this method is marked with `CTASPIRE001` so you will need to disable that warning where you use it. You can learn more about `CTASPIRE001` in the [Diagnostics documentation](./diagnostics.md).
98
+
If the resource your integration exposes does not integrate into the Aspire health check model, you may need to parse its logs to determine when it is ready to accept requests. To do this, use the `WaitForTextAsync` extension method on the `DistributionApplication` object to wait for a specific message to appear in the logs. Do note that this method is marked with `CTASPIRE001` so you will need to disable that warning where you use it. You can learn more about `CTASPIRE001` in the [Diagnostics documentation](./diagnostics.md).
99
99
100
100
### Adding Tests to the CI pipeline
101
101
@@ -107,7 +107,7 @@ The easiest way to update that list is to run the `./eng/testing/generate-test-l
107
107
108
108
You'll need to add a `README.md` file to the folder your integration is created in, this will be used in the NuGet package that is generated. This should be a high level overview of the integration and does not need to be a complete doc set.
109
109
110
-
For the complete docs, you'll need to create a PR to the [`microsoft/aspire.dev`](https://github.com/microsoft/aspire.dev) repository. This will be reviewed by the docs owners and merged into the main docs for .NET Aspire. The aspire.dev repository has an agent that can scaffold out a docs page from the README to help speed up your work.
110
+
For the complete docs, you'll need to create a PR to the [`microsoft/aspire.dev`](https://github.com/microsoft/aspire.dev) repository. This will be reviewed by the docs owners and merged into the main docs for Aspire. The aspire.dev repository has an agent that can scaffold out a docs page from the README to help speed up your work.
111
111
112
112
Lastly, update the `README.md` in the root of this repository to include your new integration in the table of integrations.
113
113
@@ -120,13 +120,13 @@ Your integration will be automatically packaged as a NuGet package when a PR is
120
120
Most of the NuGet metadata will be automatically added to the generated nuspec file during the packaging process in the CI pipeline but there are two pieces of metadata that you will need to add manually to the csproj file for your integration:
121
121
122
122
-`Description` - A short description of the integration.
123
-
-`AdditionalTags` - A space-separated list of tags that describe the integration (some tags are added by default, such as `aspire`, use this to add more specific tags for your integration). Ensure to add the integration type (`client` or `hosting`) as a tag so the integration can be easily discovered in the Visual Studio tooling for .NET Aspire.
123
+
-`AdditionalTags` - A space-separated list of tags that describe the integration (some tags are added by default, such as `aspire`, use this to add more specific tags for your integration). Ensure to add the integration type (`client` or `hosting`) as a tag so the integration can be easily discovered in the Visual Studio tooling for Aspire.
124
124
125
125
Here's an example from the OllamaSharp integration:
126
126
127
127
```xml
128
128
<PropertyGroup>
129
-
<Description>A .NET Aspire client integration for the OllamaSharp library.</Description>
129
+
<Description>An Aspire client integration for the OllamaSharp library.</Description>
130
130
<AdditionalPackageTags>ollama ai ollamasharp</AdditionalPackageTags>
Copy file name to clipboardExpand all lines: docs/diagnostics.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,11 @@ Some of the API's in the Aspire Community Toolkit are decorated with the [`Exper
4
4
5
5
## CTASPIRE001
6
6
7
-
There are cases where there is an API provided by the Aspire Community Toolkit that is an intermidiary solution until a feature is added to .NET Aspire itself. This could be a private API that is not yet ready for public consumption, or a workaround waiting for the completion of a feature in .NET Aspire.
7
+
There are cases where there is an API provided by the Aspire Community Toolkit that is an intermidiary solution until a feature is added to Aspire itself. This could be a private API that is not yet ready for public consumption, or a workaround waiting for the completion of a feature in Aspire.
8
8
9
-
In these cases, refer to the `<remarks>` docs section of the API for more information on the feature in .NET Aspire and the issue(s) to track.
9
+
In these cases, refer to the `<remarks>` docs section of the API for more information on the feature in Aspire and the issue(s) to track.
10
10
11
-
Once a release of .NET Aspire with that API is available, the API in the Aspire Community Toolkit will be marked as obsolete and will be removed in a future release.
11
+
Once a release of Aspire with that API is available, the API in the Aspire Community Toolkit will be marked as obsolete and will be removed in a future release.
Copy file name to clipboardExpand all lines: docs/faq.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,19 @@
2
2
3
3
## What is the purpose of this project?
4
4
5
-
The goal of the project is to be a centralised home for extensions and integrations for [.NET Aspire](https://aka.ms/dotnet/aspire), helping to provide consistency in the way that integrations are built and maintained, as well as easier discoverability for users.
5
+
The goal of the project is to be a centralised home for extensions and integrations for [Aspire](https://aka.ms/dotnet/aspire), helping to provide consistency in the way that integrations are built and maintained, as well as easier discoverability for users.
6
6
7
-
## How is this project different from the official .NET Aspire project?
7
+
## How is this project different from the official Aspire project?
8
8
9
-
The Aspire Community Toolkit is a community-driven project that is maintained by the community and is not officially supported by the .NET Aspire team. The toolkit is a collection of integrations and extensions that are built on top of the .NET Aspire project.
9
+
The Aspire Community Toolkit is a community-driven project that is maintained by the community and is not officially supported by the Aspire team. The toolkit is a collection of integrations and extensions that are built on top of the Aspire project.
10
10
11
11
## How can I contribute to the project?
12
12
13
13
Anyone can contribute to the Aspire Community Toolkit and before you get started, be sure to read the [Contributing Guide](../CONTRIBUTING.md) to learn how to contribute to the project.
14
14
15
15
## Should I propose a new integration here on or the `dotnet/aspire` repo?
16
16
17
-
If you have an idea for a new integration, you should propose it here on the Aspire Community Toolkit repository, rather than [`dotnet/aspire`](https://github.com/dotnet/aspire), as the official .NET Aspire project is focused on the core functionality of the .NET Aspire project.
17
+
If you have an idea for a new integration, you should propose it here on the Aspire Community Toolkit repository, rather than [`dotnet/aspire`](https://github.com/dotnet/aspire), as the official Aspire project is focused on the core functionality of the Aspire project.
18
18
19
19
If you have previously proposed an integration on the `dotnet/aspire` repository, you can still propose it here, but link to the existing issue on the `dotnet/aspire` repository to provide context.
Copy file name to clipboardExpand all lines: docs/versioning.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
# Overview
2
2
3
-
The Aspire Community Toolkit follows the [Semantic Versioning 2.0.0](https://semver.org/) specification and aims to keep in sync with the .NET Aspire version numbers to a minor version level. This means that the major version of the toolkit will be the same as the major version of the .NET Aspire framework.
3
+
The Aspire Community Toolkit follows the [Semantic Versioning 2.0.0](https://semver.org/) specification and aims to keep in sync with the Aspire version numbers to a minor version level. This means that the major version of the toolkit will be the same as the major version of the Aspire framework.
4
4
5
-
Individual Community Toolkit NuGet packages may version at a patch level different to .NET Aspire, but the major and minor versions will be the same. For example, a package with the version 8.2.x will be compatible with .NET Aspire 8.2, and the patch version may be different.
5
+
Individual Community Toolkit NuGet packages may version at a patch level different to Aspire, but the major and minor versions will be the same. For example, a package with the version 8.2.x will be compatible with Aspire 8.2, and the patch version may be different.
6
6
7
7
This means that the introduction of a new integration will not result in a major (or minor) version bump of the toolkit, but it may result in a patch version bump to other packages.
8
8
9
9
## Release Process
10
10
11
-
The Aspire Community Toolkit aims to be released in sync with .NET Aspire, but there may be a short lag, depending on bandwidth of the maintainers and complexity of any changes.
11
+
The Aspire Community Toolkit aims to be released in sync with Aspire, but there may be a short lag, depending on bandwidth of the maintainers and complexity of any changes.
12
12
13
13
Releases are automated using GitHub Actions, each release will be tagged in the repository with the version number, and a release will be created on GitHub with the release notes (where possible).
0 commit comments