Skip to content

LinkedInLearning/spec-driven-development-with-github-spec-kit-4641001

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

COURSENAME

This is the repository for the LinkedIn Learning course course-name. The full course is available from LinkedIn Learning.

lil-thumbnail-url

How to use these exercise files

This repo does not have traditional exercise files. Instead it has a baseline Codespaces and project setup for you to experiment with Spec Kit in a safe environment.

When you spin up this repo in GitHub Codespaces, UV is already installed and you can jump right to the step-by-step process.

If you are running this repo on your own computer, you need to install UV manually:

On MacOS and Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

On Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Step-by-step instructions for VS Code and GitHub Copilot

To start a greenfield project using Spec Kit:

Step 1: Install Spec Kit

In the current folder:

uvx --from git+https://github.com/github/spec-kit.git specify init --here

In a new folder:

uvx --from git+https://github.com/github/spec-kit.git specify init <PROJECT_NAME>

NOTE: If you install Spec Kit in the root folder, the CLI will ask you if you really want to do this and warn of potential files being affected. You can safely say yes if you want to work in the root folder. If you want to start with a clean slate, create a new folder (described above) and re-open VS Code into that folder.

Step 2: Update the Constitution

Navigate to /memory/constitution.md and update the Constitution to fit your project needs and requirements.

Note: If you use AI to build out part of or all of your Constitution, read through it from top to bottom to ensure it makes sense for your project.

Step 3: Create a spec using the /specify command

  1. Open GitHub Copilot
  2. Type in /specify to invoke the prompt template
  3. Describe your project including purpose, goals, user interactions, etc. Keep it high level, as if you're describing an idea to someone. No technical details yet.
  4. Run the prompt and allow any requests for Copilot to use chmod to change the execution context for script files (this just allows Copilot to execute the files)

Step 4: Review the spec

  1. Open /specs/[subfolder]/spec.md and review all the contents in the file.
  2. Answer any items under `### Edge Cases```
  3. Run the following command in Copilot:
Go through all [NEEDS CLARIFICATION] items one by one and let's answer them together.
  1. Prompt Copilot to go through the checklist to ensure all steps are addressed properly:
Read the review and acceptance checklist, and check off each item in the checklist if the feature spec meets the criteria. Leave it empty if it does not.

Step 5: Generate a plan using the /plan command

In Copilot, invoke the /plan template and provide more detailed instructions about your project. This can include what tools, frameworks, or other features you want to add. This is where you start adding technical details.

Step 6: Review the plan

Go to the /specs/ folder and review the files now generated, specifically plan.md, data-model.md, and research.md. Make changes as necessary and have Copilot review those changes.

Step 7: Generate tasks using the /tasks command

In copilot, invoke the /tasks template and prompt the system to generate tasks.

Step 8: Review the tasks and other related files

Go to the /specs/ folder and review tasks.md and other relevant folders.

Step 9: Implement the tasks

In Copilot, instruct the system to implement the tasks for tasks.md. Prompt the system on how you want to proceed here: Whether you want the AI to run through every task, or stop at each to ask you questions, or a combination.

Step 10: Work with Copilot to complete all tasks

Let Copilot do its job. Answer questions, perform actions, and intervene when necessary. Remember: You are using a tool, and you steer the direction the tool is going and what it does. Human-in-the-Loop is the whole point here!

Next steps: Test, review, refine, and keep working

Once the first set of tasks is complete, start working on your project to test and refine it. This is the beginning - what's next is up to you!

Relevant links

Instructor

Instructor name

Instructor description

Check out my other courses on LinkedIn Learning.

About

This is a code repository for the LinkedIn Learning course Spec-Driven Development with GitHub Spec Kit

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •