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: Instructions/Labs/LAB_AK_06_vibe_coding_prototype_ecommerce_app.md
+16-24Lines changed: 16 additions & 24 deletions
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ For an AI agent to develop your envisioned app, it needs to understand your prod
57
57
58
58
-**Code first and iterate to define requirements**: This approach begins with minimal base specifications and jumps straight into coding. As development progresses, the app evolves organically through iterative cycles, gradually shaping the product’s features and user experience. This approach risks deviating from your original vision, for better or for worse, as you explore features implemented by the AI. An AI-led process can become unexpectedly time-consuming and may not yield the desired results, especially when the initial specifications are vague or open-ended.
59
59
60
-
-**Explore requirements before coding**: This approach emphasizes clarity from the start. You collaborate with the AI to draft a detailed Product Requirements Document (PRD) before writing any code. The PRD outlines the app’s purpose, target users, key features, and technical constraints. By establishing a clear vision upfront, you give the AI a solid foundation to generate code that aligns with your goals—reducing ambiguity and improving the chances of building the app you actually intended.
60
+
-**Explore requirements before coding**: This approach emphasizes clarity from the start. You collaborate with the AI to draft a Product Requirements Document (PRD) before writing any code. The PRD outlines the app’s purpose, target users, key features, and technical constraints. By establishing a clear vision upfront, you give the AI a solid foundation to generate code that aligns with your goals—reducing ambiguity and improving the chances of building the app you actually intended.
61
61
62
62
In this task, you use GitHub Copilot to evaluate your base specifications and develop product requirements for your prototype app.
63
63
@@ -69,9 +69,9 @@ Use the following steps to complete this section of the exercise:
69
69
70
70
1. In the **Add Folder to Workspace** dialog, navigate to an easy-to-find folder location, create a new folder named **VibeCoding-PrototypeApp**, and then select **Add**.
71
71
72
-
The folder location should be outside of any existing Git repository and should be easy to find. After completing this lab exercise, you may want to archive or delete the project.
72
+
The folder location should be outside of any existing Git repository and should be easy to find. For example, if you're using a Windows PC, you can create a new folder named **VibeCoding-PrototypeApp** on your **Desktop**or in your **Documents** directory.
73
73
74
-
For example, if you're using a Windows PC, you can create a new folder named **VibeCoding-PrototypeApp** on your **Desktop**or in your **Documents** directory.
74
+
After completing this lab exercise, you can either archive or delete the code project.
75
75
76
76
1. Open GitHub Copilot's Chat view.
77
77
@@ -90,17 +90,14 @@ Use the following steps to complete this section of the exercise:
90
90
1. In the Chat view, enter the following prompt:
91
91
92
92
```plaintext
93
-
94
93
I want to create a product requirements document (PRD) for an app that I'll develop using a vibe coding process. I want the PRD to include information about the app's purpose, target audience, features, and technical requirements. I've defined the following high-level parameters for my app: 1 - Use HTML, CSS, and JavaScript to create a client-side web app. 2 - Include the following web pages: Products, ProductDetails, ShoppingCart, and Checkout. 3 - Enable navigation between pages. I want the prototype app to implement basic features and satisfy a small number of high-level use cases. The prototype should implement the following: basic use case functionality, simple navigation, a sample dataset, and basic styling. I'll be adding the PRD to the chat context, then asking GitHub Copilot Agent to create the prototype app. What sections should I include in the PRD to enable GitHub Copilot Agent to create my envisioned prototype?
95
-
96
94
```
97
95
98
96
1. Review the response generated by GitHub Copilot.
99
97
100
98
For example, your response may be similar to the following sample:
101
99
102
100
```md
103
-
104
101
To enable GitHub Copilot Agent to create your envisioned prototype app, your Product Requirements Document (PRD) should include the following sections:
105
102
106
103
1. App Overview / Purpose
@@ -135,7 +132,6 @@ Use the following steps to complete this section of the exercise:
135
132
- Clarify what is not required (e.g., user authentication, payment processing, backend integration).
136
133
137
134
Including these sections will give clear, actionable guidance for building your prototype app.
138
-
139
135
```
140
136
141
137
> **NOTE**: Don't worry if your response includes different section titles or if the sections appear in a different order. The responses that AI tools generate are often slightly different from one chat session to another. The selected AI model, your chat history, and the context of your chat session can also affect responses.
@@ -150,7 +146,7 @@ Use the following steps to complete this section of the exercise:
150
146
151
147
1. In the Chat view, enter the following prompt:
152
148
153
-
```markdown
149
+
```plaintext
154
150
The PRD sections that you suggested look good. Here's some information that should help you construct the PRD:
155
151
156
152
My prototype app targets online shoppers interested in ordering my products. The prototype should include the following:
@@ -169,7 +165,6 @@ Use the following steps to complete this section of the exercise:
169
165
- The ShoppingCart page should display the list of products added to the cart. The list should include the product name, quantity, and total price for that product. The ShoppingCart page should also provide a way to update the quantity of each product that's in the cart, and an option to remove products from the cart.
170
166
- The Checkout page should display a summary of the products being purchased, including product name, quantity, and price. The total price should be clearly displayed along with the option to "Process Order".
171
167
- The left-side navigation menu should provide basic navigation between pages. The navigation bar should collapse down to display a one or two letter abbreviation when the display width drops below 300 pixels. The navigation bar should allow users to navigate between the app pages.
172
-
173
168
```
174
169
175
170
GitHub Copilot should generate a response that includes a suggested PRD based on the information you provided. The response should include the sections that you reviewed earlier, and it should include content for each section based on the information you provided.
@@ -180,7 +175,7 @@ Use the following steps to complete this section of the exercise:
180
175
181
176
1. In the Chat view, enter the following prompt:
182
177
183
-
```markdown
178
+
```md
184
179
Create a markdown file named VibeCodingPRD.md using your suggested sections and the inputs that I've provided.
185
180
```
186
181
@@ -194,7 +189,7 @@ Use the following steps to complete this section of the exercise:
194
189
195
190
1. In the Chat view, enter the following prompt:
196
191
197
-
```markdown
192
+
```md
198
193
Can you create low-fidelity wireframe diagrams (or text-based layouts) that represent the web pages and navigation bar (expanded and collapsed) for my prototype app? Use the PRD that I've provided as a reference.
199
194
```
200
195
@@ -203,7 +198,6 @@ Use the following steps to complete this section of the exercise:
203
198
For example, the response may look similar to the following:
204
199
205
200
```md
206
-
207
201
Certainly! Here are text-based, low-fidelity wireframe layouts for each main page of your prototype app, based on your PRD:
208
202
209
203
---
@@ -279,14 +273,13 @@ Use the following steps to complete this section of the exercise:
279
273
---
280
274
281
275
These wireframes provide a clear, simple structure for each page and the navigation menu, matching your requirements. If you want these added to your PRD or as a separate markdown file, let me know!
282
-
283
276
```
284
277
285
278
> **NOTE**: There are many other ways to create wireframe diagrams. For an AI-based approach that aligns with your vibe coding process, you can use Microsoft's M365 Copilot. Just provide M365 Copilot with a description of your app (the contents of your PRD) and ask the AI to create images of low-fidelity wireframe diagrams. For high-fidelity wireframe diagrams that you create manually, you can use a UI/UX design tool such as Figma.
286
279
287
280
1. In the Chat view, enter the following prompt:
288
281
289
-
```markdown
282
+
```md
290
283
Save the low-fidelity wireframe diagrams as text files, one file for each web page and one for navigation.
291
284
```
292
285
@@ -318,7 +311,6 @@ Use the following steps to complete this section of the exercise:
318
311
The EXPLORER view in Visual Studio Code should look similar to the following:
319
312
320
313
```plaintext
321
-
322
314
UNTITLED (WORKSPACE)
323
315
└── VibeCoding-PrototypeApp
324
316
├── ShoppingApp
@@ -327,8 +319,7 @@ Use the following steps to complete this section of the exercise:
327
319
├── wireframe-navigation.txt
328
320
├── wireframe-product-details.txt
329
321
├── wireframe-products.txt
330
-
└── wireframe-shopping-cart.txt
331
-
322
+
```└── wireframe-shopping-cart.txt
332
323
```
333
324
334
325
1. Add the PRD and wireframe diagrams to the chat context.
@@ -341,7 +332,7 @@ Use the following steps to complete this section of the exercise:
341
332
342
333
1. In the Chat view, enter the following prompt:
343
334
344
-
```markdown
335
+
```md
345
336
I want you to create a prototype shopping app using the information in my PRD and wireframe diagrams. Create the prototype app in the selected 'ShoppingApp' folder. The prototype should implement the following: basic use case functionality, simple navigation, a sample dataset, and basic styling. After creating the prototype app, add a '.github/copilot-instructions.md' file to the workspace. Add the contents of the PRD and wireframe files to the 'copilot-instructions.md' file.
346
337
```
347
338
@@ -368,12 +359,14 @@ Use the following steps to complete this section of the exercise:
368
359
369
360
The folder should contain the following files:
370
361
362
+
```plaintext
371
363
ShoppingApp
372
364
├── .github
373
365
│ └── copilot-instructions.md
374
366
├── app.js
375
367
├── index.html
376
368
├── styles.css
369
+
```
377
370
378
371
1. Take a couple minutes to review each of the code files.
379
372
@@ -428,13 +421,13 @@ Use the following steps to complete this section of the exercise:
428
421
429
422
1. In the Chat view, to adjust the breakpoint for the collapsed navigation bar, enter the following prompt:
430
423
431
-
```markdown
424
+
```md
432
425
#codebase Refactor the prototype app to use a higher breakpoint for the collapsed navigation bar. Change from 300 to 600px. Update the copilot-instructions.md file to explain the updated 600px requirement.
433
426
```
434
427
435
428
If the agent implemented a navigation bar that changes orientation, switches from vertical to horizontal, when the screen narrows, use the following command to update the navigation bar's behavior:
436
429
437
-
```markdown
430
+
```md
438
431
#codebase Refactor the code to ensure that the navigation bar stays on the left-side of the app for all devices types and sizes. The navigation bar should be responsive and maintain its position, in either an expanded or collapsed mode.
439
432
```
440
433
@@ -446,7 +439,7 @@ Use the following steps to complete this section of the exercise:
446
439
447
440
1. In the Chat view, enter the following prompt:
448
441
449
-
```markdown
442
+
```md
450
443
#codebase Update the prototype app to display an emoji in the nav bar for each of the web pages. Ensure that the emoji is centered horizontally in the nav bar when the nav bar is collapsed. Update the copilot-instructions.md file to include this product requirement.
451
444
```
452
445
@@ -462,7 +455,7 @@ Use the following steps to complete this section of the exercise:
462
455
463
456
1. In the Chat view, to identify additional opportunities for improvements, enter the following prompt:
464
457
465
-
```markdown
458
+
```md
466
459
#codebase Review the product requirements and wireframe diagrams in the copilot-instructions.md file. Are there any features or requirements that are missing from the implementation? Are there obvious opportunities to improve the user experience?
467
460
```
468
461
@@ -474,15 +467,14 @@ Use the following steps to complete this section of the exercise:
474
467
475
468
Use GitHub Copilot's suggestions, and any testing notes that you created, to implement improvements. For example, you can ask GitHub Copilot Agent to help you implement the following changes:
476
469
477
-
```markdown
470
+
```md
478
471
#codebase Implement the following improvements to the prototype app:
479
472
480
473
- Replace alert() popups with in-app notification banners or toasts.
481
474
- Add a confirmation/thank you message after processing an order.
482
475
- Add a visual indicator (badge) for the number of items in the cart on the nav bar.
483
476
484
477
Ensure that the copilot-instructions.md file is updated to reflect any changes to the product features, technical requirements, user experience, or other measurable characteristics.
485
-
486
478
```
487
479
488
480
> **TIP**: You can copy information from GitHub Copilot's response to help construct your new prompt. You can also refer to sections of the previous response in your prompt.
0 commit comments