Skip to content

Commit fcd5002

Browse files
aaronpowellCopilot
andauthored
contributor docs improvements (#314)
* Improving the contributor guide - Making the machine setup guide more obvious - Adding the missing runtimes - Fixing devcontainer not adding python * Adding package managers to manual steps * Missed some links * Adding maven and gradle as required installs * Update docs/setup.md Co-authored-by: Copilot <[email protected]> * Update CONTRIBUTING.md Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent 0d121c7 commit fcd5002

File tree

6 files changed

+72
-14
lines changed

6 files changed

+72
-14
lines changed

.devcontainer/devcontainer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
"ghcr.io/devcontainers/features/node:latest": {},
2020
"ghcr.io/devcontainers-community/features/deno": {},
2121
"ghcr.io/devcontainers/features/go:latest": {},
22-
"ghcr.io/devcontainers/features/rust:latest": {}
22+
"ghcr.io/devcontainers/features/rust:latest": {},
23+
"ghcr.io/devcontainers/features/python:1": {}
2324
},
2425
"customizations": {
2526
"vscode": {

.devcontainer/post-create.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,7 @@ dotnet new install Aspire.ProjectTemplates
2222
echo Installing Bun
2323
curl -fsSL https://bun.sh/install | bash
2424

25+
echo Installing uvicorn
26+
pip install uvicorn
27+
2528
echo Done!

.vscode/tasks.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,38 @@
66
"type": "shell",
77
"command": "echo '#nullable enable' > src/${input:projectName}/PublicAPI.Shipped.txt && echo '#nullable enable' > src/${input:projectName}/PublicAPI.Unshipped.txt",
88
"problemMatcher": []
9+
},
10+
{
11+
"label": "build",
12+
"command": "dotnet",
13+
"type": "process",
14+
"args": [
15+
"build",
16+
"/property:GenerateFullPaths=true",
17+
"/consoleloggerparameters:NoSummary;ForceNoAlign"
18+
],
19+
"problemMatcher": "$msCompile"
20+
},
21+
{
22+
"label": "publish",
23+
"command": "dotnet",
24+
"type": "process",
25+
"args": [
26+
"publish",
27+
"/property:GenerateFullPaths=true",
28+
"/consoleloggerparameters:NoSummary;ForceNoAlign"
29+
],
30+
"problemMatcher": "$msCompile"
31+
},
32+
{
33+
"label": "watch",
34+
"command": "dotnet",
35+
"type": "process",
36+
"args": [
37+
"watch",
38+
"run"
39+
],
40+
"problemMatcher": "$msCompile"
941
}
1042
],
1143
"inputs": [

CONTRIBUTING.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ The documentation for the .NET Aspire Community Toolkit is available on the [Mic
3535

3636
Anyone can create a Pull Request by forking the .NET Aspire Community Toolkit Repository. Here is how you can [Create a Pull Request from fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork). Once you fork the .NET Aspire Community Toolkit repo, it is essential to create all changes in the feature branch of your forked repository. If you have the changes in the forked feature branch, you can then create a Pull Request in the main .NET Aspire Community Toolkit.
3737

38+
If this is your first time running the solution, be sure to familiarise yourself with [how to setup the development environment](./docs/setup.md).
39+
3840
### 📦 Add New Integration <a name="integration"></a>
3941

4042
For more detailed information on how to add a new integration, refer to the [building an integration](./docs/create-integration.md) documentation.

docs/create-integration.md

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,7 @@ The repository structure for the .NET Aspire Community Toolkit is as follows:
1414

1515
## 🛠️ Setting up your Development Environment
1616

17-
The recommended development environment for contributing to the .NET Aspire Community Toolkit is [VS Code](https://code.visualstudio.com/) using the [`devcontainer`](https://code.visualstudio.com/docs/remote/containers) extension. This will ensure that you have all the necessary tools and dependencies installed to build and test the toolkit.
18-
19-
### Manual Setup
20-
21-
If you prefer not to use `devcontainer`, you can manually set up your development environment by installing the following tools:
22-
23-
- [.NET 8](https://dotnet.microsoft.com/download/dotnet/8.0)
24-
- [Node.js LTS](https://nodejs.org/en/)
25-
- [Java JDK 11](https://learn.microsoft.com/java/openjdk/download)
26-
- [Docker](https://docs.docker.com/get-docker/)
27-
- Podman is also supported, but Docker is recommended for consistency.
28-
29-
And of course, an editor such as Visual Studio, JetBrains Rider or emacs.
17+
Be sure to read through the [Setting up your Development Environment](./setup.md) guide to get your environment set up correctly, after all, there are a lot of runtimes and environments that are supported by the toolkit, so setup can be a bit complex!
3018

3119
## 🚀 Getting Started
3220

docs/setup.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# 🛠️ Setting up your Development Environment
2+
3+
Because the Community Toolkit consists of integrations across a lot of different runtimes, setting up a development environment can be a bit complex. Below we outline the recommended approach to developing, as well as a manual setup if you prefer not to use the recommended approach.
4+
5+
## ✅ Recommended Setup
6+
7+
The easiest, and recommended way is to use [VS Code](https://code.visualstudio.com/) with the [`devcontainer`](https://code.visualstudio.com/docs/remote/containers) extension.
8+
9+
This will run the development environment in a container, install all the necessary tools and dependencies, add extensions to align with our contribution guidelines, and ensure that you have a consistent development environment.
10+
11+
> Note: There is an issue with devcontainers in that the ports bound by the DCP (the thing the app host uses to orchestrate behind the scenes) are not exposed to the host machine, meaning that the HTTP endpoints fail to resolve. This can be fixed by manually [forwarding the port](https://code.visualstudio.com/docs/editor/port-forwarding). This is a known issue in Aspire and being tracked for a 9.1 fix 🤞.
12+
13+
### 🛠️ Manual Setup
14+
15+
If you prefer not to use `devcontainer`, you can manually set up your development environment by installing the following tools:
16+
17+
- [.NET 8](https://dotnet.microsoft.com/download/dotnet/8.0) and [.NET 9](https://dotnet.microsoft.com/download/dotnet/9.0)
18+
- [Node.js LTS](https://nodejs.org/en/)
19+
- [Yarn 2](https://yarnpkg.com/getting-started/install)
20+
- [pnpm](https://pnpm.io/)
21+
- [Java JDK 11](https://learn.microsoft.com/java/openjdk/download)
22+
- You'll also need [Gradle](https://gradle.org/install/) and [Apache Maven](https://maven.apache.org/download.cgi)
23+
- [Bun](https://bun.sh)
24+
- [Deno 2](https://deno.land/)
25+
- [Go 1.23](https://golang.org/)
26+
- [Python 3](https://www.python.org/downloads/)
27+
- [Uvicorn](https://www.uvicorn.org/)
28+
- [Rust](https://www.rust-lang.org/tools/install)
29+
- [Docker](https://docs.docker.com/get-docker/)
30+
- Podman is also supported, but Docker is recommended for consistency.
31+
32+
And of course, an editor such as Visual Studio, JetBrains Rider or emacs.

0 commit comments

Comments
 (0)