Skip to main content

Prerequisites

Before installing Spec Kit, ensure you have the following tools installed:

Operating System

Linux, macOS, or Windows (PowerShell scripts supported without WSL)

Python 3.11+

Required for running the Specify CLI tool

uv Package Manager

Modern Python package and project manager

Git

Version control for specification management

AI Coding Assistant

You’ll need one of the supported AI coding assistants. Spec Kit works with:
You can skip AI agent tool checks during installation using the --ignore-agent-tools flag if you prefer to configure them later.

Installing uv

The uv tool is a fast Python package installer and resolver. Install it using one of these methods:
curl -LsSf https://astral.sh/uv/install.sh | sh
Verify the installation:
uv --version

Installing Specify CLI

Spec Kit offers two installation approaches depending on your usage pattern: Install the Specify CLI once and use it across all your projects:
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git
Benefits of persistent installation:
  • Tool stays installed and available in your PATH
  • No need to create shell aliases
  • Better tool management with uv tool list, uv tool upgrade, uv tool uninstall
  • Cleaner shell configuration
  • Faster subsequent runs (no reinstallation)
After installation, the specify command is available globally:
# Create a new project directory
specify init my-awesome-app

Upgrading Specify

To upgrade to the latest version:
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
For detailed upgrade instructions, see the Upgrade Guide.

Option 2: One-Time Usage

Run Specify directly without installing, using uvx:
uvx --from git+https://github.com/github/spec-kit.git specify init my-awesome-app
This method reinstalls Specify each time you run it, which is slower. Use this for testing or one-off projects. For regular use, choose the persistent installation method.

Configuration Options

Specify AI Assistant

You can specify your AI assistant during initialization to set up the correct command files and directory structure:
specify init my-project --ai claude
See the CLI Reference for all available AI assistant options.

Script Type Selection

All automation scripts provide both Bash (.sh) and PowerShell (.ps1) variants:
specify init my-project --script sh
Auto-detection behavior:
  • Windows: Defaults to ps (PowerShell)
  • Linux/macOS: Defaults to sh (Bash)
  • Interactive mode: Prompts for selection unless --script is specified

Initialize in Current Directory

You can initialize Spec Kit in an existing directory:
specify init . --ai claude

Additional Options

specify init my-project --no-git

Verifying Installation

After initialization, verify your setup:
1

Check System Tools

Run the check command to verify all prerequisites:
specify check
This validates the presence of:
  • Git version control
  • Python 3.11+
  • Your selected AI coding assistant (if applicable)
2

Verify Project Structure

Your project should have the following structure:
my-project/
├── .specify/
│   ├── memory/
│   │   └── constitution.md
│   ├── scripts/
│   │   ├── bash/
│   │   │   ├── check-prerequisites.sh
│   │   │   ├── create-new-feature.sh
│   │   │   ├── setup-plan.sh
│   │   │   └── update-agent-context.sh
│   │   └── powershell/
│   │       ├── check-prerequisites.ps1
│   │       ├── create-new-feature.ps1
│   │       ├── setup-plan.ps1
│   │       └── update-agent-context.ps1
│   ├── specs/
│   └── templates/
│       ├── constitution-template.md
│       ├── plan-template.md
│       ├── spec-template.md
│       └── tasks-template.md
└── .claude/commands/  (or .github/agents/, .cursor/commands/, etc.)
    ├── constitution.md
    ├── specify.md
    ├── clarify.md
    ├── plan.md
    ├── tasks.md
    └── implement.md
3

Test AI Agent Commands

Launch your AI coding assistant in the project directory and verify the slash commands are available:
  • /speckit.constitution - Create project principles
  • /speckit.specify - Define requirements
  • /speckit.clarify - Resolve ambiguities
  • /speckit.plan - Generate technical plans
  • /speckit.tasks - Create task lists
  • /speckit.implement - Execute implementation

Troubleshooting

Git Credential Manager on Linux

If you encounter Git authentication issues on Linux, install Git Credential Manager:
#!/usr/bin/env bash
set -e
echo "Downloading Git Credential Manager v2.6.1..."
wget https://github.com/git-ecosystem/git-credential-manager/releases/download/v2.6.1/gcm-linux_amd64.2.6.1.deb
echo "Installing Git Credential Manager..."
sudo dpkg -i gcm-linux_amd64.2.6.1.deb
echo "Configuring Git to use GCM..."
git config --global credential.helper manager
echo "Cleaning up..."
rm gcm-linux_amd64.2.6.1.deb
echo "✅ Git Credential Manager installed successfully"

Python Version Issues

If you encounter Python version errors, verify your Python installation:
python --version
# or
python3 --version
Spec Kit requires Python 3.11 or later. If you have an older version, upgrade using your system’s package manager or download from python.org.

Path Issues

If the specify command is not found after persistent installation:
# Check if uv tools directory is in PATH
echo $PATH | grep .local/bin

# If not, add to your shell profile
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

Next Steps

Quick Start Guide

Follow the quick start to create your first specification

CLI Reference

Explore all available commands and options

Build docs developers (and LLMs) love