This repository provides a GitHub template with a DevContainer for setting up a development environment tailored for the Spec-Kit framework to enable GitHub Copilot-assisted development. It includes all necessary tools, dependencies, and configurations to kickstart your project, ensuring a consistent and reproducible setup.
Since this repository is a template, you should always create a new repository from this template to work in. Although this repository contains no application code, it provides a preconfigured development container (DevContainer) that automates the installation of tools and dependencies. Your repository will serve as a scaffold for Spec-Kit projects, optimized for GitHub Copilot integration.
Spec-Kit enables Spec-Driven Development β a methodology that flips traditional development by making specifications executable and directly generating working implementations. Instead of writing code first and documentation later, you define what you want to build (the spec) and let AI agents implement it according to your technical plans.
This project requires WSL2 (Windows Subsystem for Linux) installed on your Windows computer and Docker installed in WSL. If you already have these prerequisites, proceed to the QuickStart - Step 1.
-
WSL2 with Ubuntu distribution
-
Docker Engine installed in WSL (not Docker Desktop)
-
VS Code with Dev Containers extension
New to WSL/Docker? See our Complete Setup Guide for detailed step-by-step instructions.
-
Always open this project from within WSL (not from Windows file system)
-
Project must be located in WSL filesystem (
/home/username/...) -
Docker must be running in WSL before opening DevContainer
-
Use
code .from WSL terminal, not Windows file explorer
- Navigate to the SpecKitDevContainerTemplate repo on GitHub.
- Click the green βUse this templateβ button
- Select βCreate a new repositoryβ and fill in the details (e.g., repository name, visibility like public/private).
- This creates a new repository (e.g., https://github.com/your-username/new-project) based on the template, with a clean commit history (no history from the template repo).
- Get the URL for the repo. You'll need this URL in the next step. It should look like https://github.com/your-username/new-project.git
# From your WSL terminal# From your WSL terminal
# 1. Ensure Docker is running
sudo service docker start
# 2. Clone and open project
git clone <https://github.com/your-username/new-project.git>
cd <new-project>
code . # Opens VS Code in WSL mode
# 3. Reopen in Container when promptedThis repository is configured with a DevContainer that includes all necessary tools for Spec-Kit development:
-
Python 3.11+ - Required runtime
-
uv - Modern Python package manager
-
Git + Git Credential Manager - Version control with authentication
-
Spec-Kit CLI - The core tool for spec-driven development
-
GitHub Copilot - AI coding assistant integration
-
Development utilities - curl, wget, build tools, etc.
To get started:
-
Ensure Docker is running in WSL:
sudo service docker start -
Open this repository in VS Code from WSL
-
When prompted, click "Reopen in Container"
-
Wait for the container to build and setup to complete
-
Open a terminal and run:
specify check
Once the DevContainer is running, you can initialize a new Spec-Kit project:
# Initialize a new project with GitHub Copilot
specify init my-project --ai copilot
# Or initialize in the current directory
specify init --here --ai copilot
Spec-Kit supports multiple AI coding agents:
| Agent | Command Flag | Status |
|---|---|---|
| GitHub Copilot | --ai copilot |
β Fully supported |
| Claude Code | --ai claude |
β Fully supported |
| Cursor | --ai cursor |
β Fully supported |
| Windsurf | --ai windsurf |
β Fully supported |
| Gemini CLI | --ai gemini |
β Fully supported |
| Qwen Code | --ai qwen |
β Fully supported |
| opencode | --ai opencode |
β Fully supported |
After initializing a project, you'll have access to these slash commands in your AI agent:
| Command | Purpose |
|---|---|
/constitution |
Create project governing principles and development guidelines |
/specify |
Define what you want to build (requirements and user stories) |
/clarify |
Clarify underspecified areas (run before /plan) |
/plan |
Create technical implementation plans with your tech stack |
/tasks |
Generate actionable task lists for implementation |
/analyze |
Cross-artifact consistency & coverage analysis |
/implement |
Execute all tasks to build the feature |
# 1. Start with project principles
/constitution Create principles focused on code quality, testing standards, user experience consistency, and performance requirements
# 2. Define what you want to build
/specify Build a photo album organizer with drag-and-drop functionality
# 3. Create technical plan
/plan Use Vite with vanilla HTML, CSS, JavaScript and SQLite database
# 4. Break down into tasks
/tasks
# 5. Implement the solution
/implement
The DevContainer includes:
mcr.microsoft.com/devcontainers/python:3.11-bullseye
- Git with latest version
- GitHub CLI
- Node.js LTS
- Python development tools (Python, Pylint, Black, Flake8)
- GitHub Copilot and Copilot Chat
- JSON, YAML, and PowerShell support
8000- Python Development Server3000- Node.js Development Server5000- Flask Development Server8080- General Development Server
If you prefer not to use the DevContainer, you can set up Spec-Kit manually:
- Linux/macOS (or WSL2 on Windows)
- Python 3.11+
- Git
- AI coding agent (GitHub Copilot, Claude Code, etc.)
# Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install Spec-Kit CLI
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
# Verify installation
specify check
-
SPECIFY_FEATURE- Override feature detection for non-Git repositories -
GH_TOKEN/GITHUB_TOKEN- GitHub token for API requests
# Initialize with PowerShell scripts (Windows/cross-platform)
specify init my-project --ai copilot --script ps
# Use GitHub token for API requests
specify init my-project --ai claude --github-token ghp_your_token_here
# Skip SSL/TLS verification (not recommended)
specify init my-project --ai copilot --skip-tls
- Docker not found / DevContainer won't start
# Ensure Docker is running in WSL
sudo service docker start
# Check Docker status
sudo service docker status
# Verify Docker works
docker run hello-world
- Permission denied when accessing Docker
# Add user to docker group (then restart WSL)
sudo usermod -aG docker $USER
# Restart WSL session
exit # then reopen WSL terminal
- DevContainer build fails
# Clean Docker cache (run from WSL)
docker system prune -a
# Rebuild container in VS Code
# Ctrl+Shift+P β "Dev Containers: Rebuild Container"
-
VS Code can't find WSL/files
-
Always open project from WSL terminal using
code . -
Don't open from Windows file explorer
-
Project must be in WSL file system (
/home/username/...)
-
-
Spec-Kit CLI not found
# Ensure PATH includes uv tools export PATH="/home/vscode/.local/bin:$PATH" source ~/.bashrc
-
Git authentication issues
# Git Credential Manager should be configured automatically git config --global credential.helper manager
-
Run
specify checkto verify your setup -
Check the Spec-Kit documentation
-
Open issues at github.com/github/spec-kit/issues
-
Complete Setup Guide - Detailed installation instructions
This project template is provided under the MIT License. Spec-Kit itself is also MIT licensed.