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_14_get-started-spec-driven-development.md
+20-18Lines changed: 20 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ GitHub Spec Kit is an open-source toolkit that enables Spec-Driven Development (
10
10
11
11
In this exercise, you learn how to use the GitHub Spec Kit to develop a new greenfield application. You begin by initializing the GitHub Spec Kit for a new .NET project. You then use GitHub Spec Kit workflows to create the constitution, specification, plan, and tasks documents for the new application. Finally, you use GitHub Spec Kit's implementation workflow to implement an initial MVP version of the application.
12
12
13
-
This exercise should take approximately **60** minutes to complete.
13
+
This exercise should take approximately **75** minutes to complete.
14
14
15
15
> **IMPORTANT**: To complete this exercise, you must provide your own GitHub account and GitHub Copilot subscription. If you don't have a GitHub account, you can <ahref="https://github.com/"target="_blank">sign up</a> for a free individual account and use a GitHub Copilot Free plan to complete the exercise. If you have access to a GitHub Copilot Pro, GitHub Copilot Pro+, GitHub Copilot Business, or GitHub Copilot Enterprise subscription from within your lab environment, you can use your existing GitHub Copilot subscription to complete this exercise.
16
16
@@ -22,7 +22,7 @@ For help with configuring your lab environment, open the following link in a bro
22
22
23
23
## Exercise scenario
24
24
25
-
You're a software developer working for a consulting firm that's moving to a spec-driven development (SDD) methodology using GitHub Spec Kit and GitHub Copilot in Visual Studio Code. You need to start using the SDD methodology and GitHub Spec Kit as soon as possible. One of your clients, Contoso Corporation, needs you to develop an RSS feed reader app for internal employees. You decide to use the SDD methodology for this greenfield project. Using a SDD methodology with GitHub Spec Kit ensures that an MVP version of the application is delivered quickly, and that additional features can be rolled out seamlessly.
25
+
You're a software developer working for a consulting firm that's moving to a spec-driven development (SDD) methodology using GitHub Spec Kit and GitHub Copilot in Visual Studio Code. Your firm has asked you to start using the SDD methodology and GitHub Spec Kit as soon as possible. One of your clients, Contoso Corporation, needs you to develop an RSS feed reader app for internal employees. You decide to use the SDD methodology for this greenfield project. Using a SDD methodology with GitHub Spec Kit ensures that an MVP version of the application is delivered quickly, and that additional features can be rolled out seamlessly.
26
26
27
27
Contoso's stakeholders documented the project goals, features, and technical requirements for the RSS feed reader app. This information can be used to help generate the constitution, specification, plan, and tasks documents.
28
28
@@ -154,7 +154,7 @@ Use the following steps to complete this task:
154
154
155
155
1. Select **Publish to GitHub private repository**.
156
156
157
-
> **IMPORTANT**: If prompted to sign in to GitHub, follow the sign-in process to authenticate your GitHub account.
157
+
If prompted to sign in to GitHub, follow the sign-in process to authenticate your GitHub account.
158
158
159
159
1. Verify that the repository was created successfully.
160
160
@@ -203,7 +203,7 @@ Use the following steps to complete this task:
203
203
204
204
You can start a new session by selecting the **New Chat** button (the **+** icon at the top of the Chat panel). Starting a new Chat session ensures a clean context.
205
205
206
-
> **NOTE:** This lab exercise was tested successfully using the GPT-5.2, Claude Sonnet 4.5, and Claude Opus 4.5 models. The results generated by these models were similar, and relatively consistent. However, using older models such as GPT-4 and GPT-5 mini often produced inconsistent and unexpected results. If possible, we suggest using newer language models that are optimized for complex reasoning when running GitHub Spec Kit commands.
206
+
> **NOTE:** This lab exercise was tested successfully using the GPT-5.2, Claude Sonnet 4.5, and Claude Opus 4.5 models. The results generated by these models were similar, although the Claude models (especially Claude Opus 4.5) tended to generate a longer list of tasks in the tasks.md file. Testing with older models, such as GPT-4 and GPT-5 mini, often resulted in inconsistent and unexpected results. If possible, we suggest using newer language models that are optimized for complex reasoning when running GitHub Spec Kit commands.
207
207
208
208
1. Take a moment to consider your options for running the /speckit.constitution command.
209
209
@@ -326,7 +326,7 @@ Use the following steps to complete this task:
326
326
327
327
1. Monitor GitHub Copilot's response.
328
328
329
-
It can take a minute or two for GitHub Copilot to analyze the project requirements and then update the constitution.md file.
329
+
It can take a few minutes for GitHub Copilot to analyze the project requirements and then update the constitution.md file.
330
330
331
331
1. Once GitHub Copilot is finished updating the constitution.md file, take a minute to review the suggested edits.
332
332
@@ -561,7 +561,7 @@ Use the following steps to complete this task:
561
561
562
562
GitHub Copilot analyzes the spec.md and plan.md files and generate tasks in the tasks.md file.
563
563
564
-
It can take 3-4 minutes for GitHub Copilot to generate the tasks.md file. Provide permission and assistance when required.
564
+
It can take 4-6 minutes for GitHub Copilot to generate the tasks.md file. Provide permission and assistance when required.
565
565
566
566
1. Once the tasks workflow is complete, take a few minutes to review the **tasks.md** file.
567
567
@@ -629,11 +629,13 @@ Use the following steps to complete this task:
629
629
630
630
```plaintext
631
631
**Phases**: Setup → Foundation → US1 only
632
-
**Tasks**: T001 - T037 (37 tasks)
632
+
**Tasks**: T001 - T057 (57 tasks)
633
633
**Deliverable**: Users can add a known-good feed URL; refresh; see items; restart and confirm persistence.
634
634
```
635
635
636
-
1. In the Chat view, enter a command that starts the implement workflow for the MVP strategy:
636
+
The MVP First strategy isn't always limited to the first user story. Depending on the feature complexity, it might include several user stories. They should be listed sequentially after the foundational phase and clearly marked as part of the MVP implementation strategy.
637
+
638
+
1. In the Chat view, enter a command that starts the implement workflow for the MVP First strategy:
637
639
638
640
Create a command that specifies the range of tasks required to implement the MVP version of the feature. Use the task range specified in the Implementation Strategy section of the tasks.md file, or calculate it based on the tasks listed under each phase.
639
641
@@ -642,27 +644,27 @@ Use the following steps to complete this task:
642
644
For example (referencing the MVP implementation example from the previous step), you might enter the following command:
643
645
644
646
```dotnetcli
645
-
/speckit.implement Implement the MVP strategy (Tasks: T001 - T037)
647
+
/speckit.implement Implement the MVP First strategy (Tasks: T001 - T057)
646
648
```
647
649
648
-
This command instructs GitHub Copilot to begin implementing the tasks required for the MVP version of the RSS Feed Reader app.
650
+
This command instructs GitHub Copilot to begin implementing the tasks required for the MVP First strategy of the RSS Feed Reader app.
649
651
650
-
In this exercise, we ask you to implement all of the tasks for the MVP strategy using a single /speckit.implement command. In part, this is because we can't predict how many tasks and phases will be associated with the MVP in your tasks.md file. Although the RSS reader scenario is relatively simple, it's still significant and can take 20+ minutes for the implementation to complete (quicker than manual coding but requiring patience while the AI debugs its work). In a production environment, you would probably follow a phased approach, such as implementing the tasks for the Setup and Foundational phases first, and then implementing the tasks for the User Story phases one at a time.
652
+
In this exercise, you implement all of the tasks for the MVP First strategy using a single /speckit.implement command. In part, this is because we can't predict how many tasks and phases will be associated with the MVP First strategy in your tasks.md file. Although the RSS feed reader scenario is relatively simple, it still include a significant task scope and can take 20-30 minutes for the implementation to complete (quicker than manual coding but it requires some patience while the AI debugs its work). In a production environment, you would probably follow a phased approach, such as implementing the tasks for the Setup and Foundational phases first, and then implementing the tasks for each User Story phase one at a time.
651
653
652
654
1. Monitor GitHub Copilot's response and provide assistance in the Chat view.
653
655
654
656
The agent builds the app incrementally, task by task, following the order defined in the tasks.md file.
655
657
656
-
> **NOTE**: GitHub Copilot is diligent about checking its work during the implementation, which is great. GitHub Copilot also keeps you involved during the implementation process. Requests for assistance occur frequently. The time required to complete the implementation can be affected by how quickly you respond to requests for assistance.
658
+
> **NOTE**: GitHub Copilot is diligent about checking its work during the implementation, which is great, but can be time-consuming. GitHub Copilot also keeps you involved during the implementation process. Requests for assistance occur frequently. The time required to complete the implementation can be affected by how quickly you respond to requests for assistance/permission.
657
659
658
660
1. If manual testing is required to verify a task, perform the steps described in the Chat view, and then report the results back to GitHub Copilot.
659
661
660
662
You might encounter issues during manual testing. For example:
661
663
662
-
1. GitHub Copilot tells you that manual testing is required to verify that Feed URLs are working correctly.
664
+
1. GitHub Copilot tells you that manual testing is required to verify that subscriptions can be added successfully.
663
665
1. The backend application is already running locally on `http://localhost:5000`.
664
666
1. You start the frontend application using Visual Studio Code's terminal. The frontend application starts successfully and is running on `http://localhost:5239`.
665
-
1. You open a browser and navigate to the frontend application (for example, `http://localhost:5239`).
667
+
1. You open a browser and navigate to the URL specified for the frontend application.
666
668
1. When the page loads, it reports an error: "An unhandled error has occurred. Reload".
667
669
1. You open the browser's developer tools to investigate further.
668
670
1. In the developer tools console, you see the following error message:
@@ -689,9 +691,9 @@ Use the following steps to complete this task:
689
691
690
692
Continue to provide assistance until the issue is resolved. Once the issue is resolved, GitHub Copilot should ask you to resume manual testing.
691
693
692
-
1. Continue with the implementation workflow until all tasks required for the MVP application are complete.
694
+
1. Continue with the implementation workflow until all tasks required for the MVP application are complete and the application is fully functional.
693
695
694
-
GitHub Copilot should notify in the Chat view when the MVP implementation is complete.
696
+
GitHub Copilot should notify in the Chat view when the backend and frontend applications are fully functional.
695
697
696
698
1. Accept all changes made to the project files.
697
699
@@ -709,7 +711,7 @@ Use the following steps to complete this task:
709
711
710
712
1. Use the launch configuration to run the backend and frontend applications.
711
713
712
-
If you encounter any errors, provide a detailed description of the error message and any relevant logs to GitHub Copilot for assistance.
714
+
If you encounter any errors, provide a detailed description of the error message and any relevant logs to GitHub Copilot for assistance. You can launch the backend and frontend separately if needed.
713
715
714
716
1. Open a browser and navigate to the Subscriptions page of the frontend application.
715
717
@@ -727,7 +729,7 @@ Use the following steps to complete this task:
727
729
- https://devblogs.microsoft.com/oldnewthing/feed/ (The Old New Thing)
You can find the acceptance scenarios in the spec.md file. The acceptance scenarios listed under the **User Scenarios & Testing** section. The MVP application is usually associated with the first user story (US1) in the spec.md file.
732
+
You can find the acceptance scenarios in the spec.md file. The acceptance scenarios listed under the **User Scenarios & Testing** section.
731
733
732
734
For example, the acceptance scenarios for the MVP application might be similar to the following example:
0 commit comments