Skip to content

Commit e86ed8c

Browse files
authored
Update docs for containerisation (microsoft#12)
* Update README for containers * Update port numbers for each app for containerization * Fix typo
1 parent f6d72a5 commit e86ed8c

File tree

10 files changed

+110
-36
lines changed

10 files changed

+110
-36
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,4 @@ Check out the complete example of each application. They're also vibe-coded with
9696
- [GitHub Copilot: MCP](https://code.visualstudio.com/blogs/2025/05/12/agent-mode-meets-mcp)
9797
- [GitHub Copilot: Custom Instructions](https://code.visualstudio.com/docs/copilot/copilot-customization)
9898
- [GitHub Copilot: Changing AI Models](https://docs.github.com/en/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-chat?tool=vscode)
99+
- [Curated MCP Servers](https://github.com/modelcontextprotocol/servers)

complete/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ Refer to the [README](../README.md) doc for preparation.
2626
1. Run the containerized apps.
2727

2828
```bash
29-
docker compose up -d
29+
docker compose up --build -d
3030
```
3131

3232
1. Open a web browser and navigate to `http://localhost:3000`.

complete/compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ services:
1515
dockerfile: Dockerfile.dotnet
1616
container_name: contoso-frontend
1717
ports:
18-
- "3000:8080"
18+
- "3030:8080"
1919
depends_on:
2020
- contoso-backend
2121
environment:

docs/.vscode/mcp.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@
88
}
99
],
1010
"servers": {
11+
"context7": {
12+
"command": "npx",
13+
"args": [
14+
"-y",
15+
"@upstash/context7-mcp"
16+
]
17+
},
1118
"Framelink Figma MCP": {
1219
"command": "npx",
1320
"args": [

docs/00-setup.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Refer to the [README](../README.md) doc for preparation.
6565

6666
If you see something different from above, delete the GitHub Codespace instance and recreate it.
6767

68-
1. Move down to the [Check GitHub Copilot Agent Mode](#check-github-copilot-agent-mode) section.
68+
1. Move down to the [Set-up MCP Servers](#set-up-mcp-servers) section.
6969

7070
**👇👇👇 Instead, if you'd like to use VS Code on your local machine, follow the instruction below. The section below doesn't apply to those who use GitHub Codespaces. 👇👇👇**
7171

@@ -255,6 +255,37 @@ Refer to the [README](../README.md) doc for preparation.
255255
code --install-extension "github.copilot" --force && code --install-extension "github.copilot-chat" --force
256256
```
257257

258+
### Set-up MCP Servers
259+
260+
1. Set the environment variable of `$REPOSITORY_ROOT`.
261+
262+
```bash
263+
# bash/zsh
264+
REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
265+
```
266+
267+
```powershell
268+
# PowerShell
269+
$REPOSITORY_ROOT = git rev-parse --show-toplevel
270+
```
271+
272+
1. Copy MCP server settings.
273+
274+
```bash
275+
# bash/zsh
276+
cp -r $REPOSITORY_ROOT/docs/.vscode/. \
277+
$REPOSITORY_ROOT/.vscode/
278+
```
279+
280+
```powershell
281+
# PowerShell
282+
Copy-Item -Path $REPOSITORY_ROOT/docs/.vscode/* `
283+
-Destination $REPOSITORY_ROOT/.vscode/ -Recurse -Force
284+
```
285+
286+
1. Open Command Palette by typing F1 or `Ctrl`+`Shift`+`P` on Windows or `Cmd`+`Shift`+`P` on Mac OS, and search `MCP: List Servers`.
287+
1. Choose `context7` then click `Start Server`.
288+
258289
## Check GitHub Copilot Agent Mode
259290
260291
1. Click the GitHub Copilot icon on the top of GitHub Codespace or VS Code and open GitHub Copilot window.

docs/01-python.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Refer to the [README](../README.md) doc for preparation.
2929
![GitHub Copilot Agent Mode](./images/setup-03.png)
3030

3131
1. Select model to either `GPT-4.1` or `Claude Sonnet 4`.
32+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
3233

3334
### Prepare Custom Instructions
3435

@@ -66,6 +67,7 @@ Refer to the [README](../README.md) doc for preparation.
6667
```text
6768
I'd like to write a Python application. But before that, I need to set up a virtual environment. Follow the instructions below.
6869

70+
- Use context7.
6971
- Your working directory is `python`.
7072
- Identify all the steps first, which you're going to do.
7173
- Use `.venv` for the virtual environment.
@@ -81,6 +83,7 @@ Refer to the [README](../README.md) doc for preparation.
8183
```text
8284
I'd like to build a FastAPI application as a backend API. Carefully read the entire PRD and `openapi.yaml`. Then, follow the instructions below.
8385
86+
- Use context7.
8487
- Your working directory is `python`.
8588
- Identify all the steps first, which you're going to do.
8689
- Use FastAPI as the API app framework.

docs/02-javascript.md

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Refer to the [README](../README.md) doc for preparation.
3232
![GitHub Copilot Agent Mode](./images/setup-03.png)
3333

3434
1. Select model to either `GPT-4.1` or `Claude Sonnet 4`.
35+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
3536

3637
### Prepare Custom Instructions
3738

@@ -77,35 +78,10 @@ Refer to the [README](../README.md) doc for preparation.
7778
- Use the port number of `3000`.
7879
```
7980
80-
### Set-up Figma MCP Server
81+
### Prepare Figma MCP Server
8182
83+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
8284
1. Get the personal access token (PAT) from [Figma](https://www.figma.com/).
83-
1. Set the environment variable of `$REPOSITORY_ROOT`.
84-
85-
```bash
86-
# bash/zsh
87-
REPOSITORY_ROOT=$(git rev-parse --show-toplevel)
88-
```
89-
90-
```powershell
91-
# PowerShell
92-
$REPOSITORY_ROOT = git rev-parse --show-toplevel
93-
```
94-
95-
1. Copy MCP server settings.
96-
97-
```bash
98-
# bash/zsh
99-
cp -r $REPOSITORY_ROOT/docs/.vscode/. \
100-
$REPOSITORY_ROOT/.vscode/
101-
```
102-
103-
```powershell
104-
# PowerShell
105-
Copy-Item -Path $REPOSITORY_ROOT/docs/.vscode/* `
106-
-Destination $REPOSITORY_ROOT/.vscode/ -Recurse -Force
107-
```
108-
10985
1. Open Command Palette by typing F1 or `Ctrl`+`Shift`+`P` on Windows or `Cmd`+`Shift`+`P` on Mac OS, and search `MCP: List Servers`.
11086
1. Choose `Framelink Figma MCP` then click `Start Server`.
11187
1. Enter the PAT you get issued from Figma.
@@ -130,10 +106,12 @@ Refer to the [README](../README.md) doc for preparation.
130106
```text
131107
I'd like to build a React web app. Follow the instructions below.
132108

109+
- Use context7.
133110
- Your working directory is `javascript`.
134111
- Identify all the steps first, which you're going to do.
135112
- There's a backend API app running on `http://localhost:5050`.
136113
- Use `openapi.yaml` that describes all the endpoints and data schema.
114+
- Use the port number of `3000`.
137115
- Create all the UI components defined in this link: {{FIGMA_SECTION_LINK}}.
138116
- DO NOT add anything not defined in `openapi.yaml`.
139117
- DO NOT modify anything defined in `openapi.yaml`.
@@ -159,7 +137,7 @@ Refer to the [README](../README.md) doc for preparation.
159137
If app running fails, analyze the issues and fix them.
160138
```
161139
162-
1. Open a web browser and navigate to `http://localhost:3030`.
140+
1. Open a web browser and navigate to `http://localhost:3000`.
163141
1. Verify if both frontend and backend apps are running properly.
164142
1. Click the `[keep]` button of GitHub Copilot to take the changes.
165143

docs/03-java.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Refer to the [README](../README.md) doc for preparation.
3131
![GitHub Copilot Agent Mode](./images/setup-03.png)
3232

3333
1. Select model to either `GPT-4.1` or `Claude Sonnet 4`.
34+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
3435

3536
### Prepare Custom Instructions
3637

@@ -74,6 +75,7 @@ Refer to the [README](../README.md) doc for preparation.
7475
```text
7576
I'd like to scaffold a Spring Boot app. Follow the instructions below.
7677

78+
- Use context7.
7779
- Your working directory is `java`.
7880
- Identify all the steps first, which you're going to do.
7981
- Use Spring Boot CLI to create the Spring Boot app project.
@@ -101,6 +103,7 @@ Refer to the [README](../README.md) doc for preparation.
101103
```text
102104
Now, we're migrating the existing FastAPI-based API app to Spring Boot API app. Carefully read the entire PRD and `openapi.yaml`. Follow the instructions below for the migration.
103105
106+
- Use context7.
104107
- The existing FastAPI application is located at `python`.
105108
- Your working directory is `java/springapp`.
106109
- Identify all the steps first, which you're going to do.
@@ -118,12 +121,31 @@ Refer to the [README](../README.md) doc for preparation.
118121
```
119122

120123
1. Click the `[keep]` button of GitHub Copilot to take the changes.
124+
1. Once migration is over, use prompt like below to verify the migration result.
125+
126+
```text
127+
I'd like to build the Spring Boot app. Follow the instructions.
128+
129+
- Use context7.
130+
- Build the Spring Boot app and verify if the app is built properly.
131+
- If building the app fails, analyze the issues and fix them.
132+
```
133+
134+
> **NOTE**:
135+
>
136+
> - Until the build succeeds, iterate this step.
137+
> - If the build keeps failing, check out the error messages and ask them to GitHub Copilot Agent to figure them out.
138+
139+
1. Click the `[keep]` button of GitHub Copilot to take the changes.
140+
141+
### Verify Spring Boot Backend App
142+
121143
1. Once the application is built, verify if it's written properly or not.
122144
123145
```text
124146
Run the Spring Boot app and verify if the app is properly running. Also verify the OpenAPI endpoint renders exactly the same content as `openapi.yaml`.
125147

126-
If app running fails, analyze the issues and fix them.
148+
If app running fails, analyze the issues and fix them. Use context7.
127149
```
128150
129151
1. Open a web browser and navigate to `http://localhost:8080`.

docs/04-dotnet.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Refer to the [README](../README.md) doc for preparation.
3131
![GitHub Copilot Agent Mode](./images/setup-03.png)
3232

3333
1. Select model to either `GPT-4.1` or `Claude Sonnet 4`.
34+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
3435

3536
### Prepare Custom Instructions
3637

@@ -68,12 +69,13 @@ Refer to the [README](../README.md) doc for preparation.
6869
```text
6970
I'd like to scaffold a Blazor web app. Follow the instructions below.
7071

72+
- Use context7.
7173
- Your working directory is `dotnet`.
7274
- Identify all the steps first, which you're going to do.
7375
- Show me the list of .NET projects related to Blazor and ask me to choose.
7476
- Generate a Blazor project.
7577
- Use the project name of `Contoso.BlazorApp`.
76-
- Update `launchSettings.json` to change the port number of `3030` for HTTP, `43030` for HTTPS.
78+
- Update `launchSettings.json` to change the port number of `3031` for HTTP, `43031` for HTTPS.
7779
- Create a solution, `ContosoWebApp`, and add the Blazor project into this solution.
7880
- Build the Blazor app and verify if the app is built properly.
7981
- Run this Blazor app and verify if the app is running properly.
@@ -90,9 +92,11 @@ Refer to the [README](../README.md) doc for preparation.
9092
```text
9193
Now, we're migrating the existing React-based web app to Blazor web app. Follow the instructions below for the migration.
9294
95+
- Use context7.
9396
- The existing React application is located at `javascript`.
9497
- Your working directory is `dotnet/Contoso.BlazorApp`.
9598
- Identify all the steps first, which you're going to do.
99+
- There's a backend API app running on `http://localhost:8080`.
96100
- Analyze the application structure of the existing React app.
97101
- Migrate all the React components to Blazor ones. Both corresponding components should be as exactly close to each other as possible.
98102
- Migrate all necessary CSS elements from React to Blazor.
@@ -103,6 +107,9 @@ Refer to the [README](../README.md) doc for preparation.
103107
1. Once migration is over, use prompt like below to verify the migration result.
104108
105109
```text
110+
I'd like to build the Blazor app. Follow the instructions.
111+
112+
- Use context7.
106113
- Build the Blazor app and verify if the app is built properly.
107114
- If building the app fails, analyze the issues and fix them.
108115
```
@@ -113,14 +120,36 @@ Refer to the [README](../README.md) doc for preparation.
113120
> - If the build keeps failing, check out the error messages and ask them to GitHub Copilot Agent to figure them out.
114121
115122
1. Click the `[keep]` button of GitHub Copilot to take the changes.
116-
117123
1. Once the build succeeds, use prompt like below to verify the migration result.
118124
119125
```text
126+
I'd like to run the Blazor app. Follow the instructions.
127+
128+
- Use context7.
120129
- Run this Blazor app and verify if the app is running properly.
130+
- Ignore backend API app connection error at this stage.
121131
- If running the app fails, analyze the issues and fix them.
122132
```
123133
134+
### Verify Blazor Frontend App
135+
136+
1. Make sure that the Spring Boot backend app is up and running.
137+
138+
```text
139+
Run the Spring Boot backend API, which is located at the `java` directory.
140+
```
141+
142+
1. Click the `[keep]` button of GitHub Copilot to take the changes.
143+
1. Verify if it's built properly or not.
144+
145+
```text
146+
Run the Blazor app and verify if the app is properly running.
147+
148+
If app running fails, analyze the issues and fix them.
149+
```
150+
151+
1. Open a web browser and navigate to `http://localhost:3031`.
152+
1. Verify if both frontend and backend apps are running properly.
124153
1. Click the `[keep]` button of GitHub Copilot to take the changes.
125154
126155
---

docs/05-containerization.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ Refer to the [README](../README.md) doc for preparation.
3232
![GitHub Copilot Agent Mode](./images/setup-03.png)
3333

3434
1. Select model to either `GPT-4.1` or `Claude Sonnet 4`.
35+
1. Make sure that you've configured [MCP Servers](./00-setup.md#set-up-mcp-servers).
3536

3637
### Prepare Custom Instructions
3738

@@ -139,7 +140,7 @@ Refer to the [README](../README.md) doc for preparation.
139140
```text
140141
Use the container image just built, run a container and verify if the app is running properly.
141142
142-
- Use the host port of `3000`.
143+
- Use the host port of `3030`.
143144
```
144145
145146
1. Make sure that both frontend and backend apps are NOT communicating with each other because they don't know each other yet. Run the prompt like below.
@@ -162,7 +163,7 @@ Refer to the [README](../README.md) doc for preparation.
162163
- Create `compose.yaml` as the Docker Compose file.
163164
- Use `contoso` as the network name.
164165
- Use `contoso-backend` as the container name of the Java app. Its target port is 8080, and host port is 5050.
165-
- Use `contoso-frontend` as the container name of the .NET app. Its target port is 8080, and host port is 3000.
166+
- Use `contoso-frontend` as the container name of the .NET app. Its target port is 8080, and host port is 3030.
166167
```
167168
168169
1. Once the `compose.yaml` file is created, run it and verify if both apps are running properly.
@@ -171,6 +172,8 @@ Refer to the [README](../README.md) doc for preparation.
171172
Now, run the Docker compose file and verify if the apps are running properly.
172173
```
173174
175+
1. Open a web browser and navigate to `http://localhost:3030`, and verify if the apps are up and running properly.
176+
174177
---
175178
176179
Congratulations! 🎉 You've completed all the workshop sessions successfully!

0 commit comments

Comments
 (0)