2025-09-08 23:14:53 -07:00
# Installation Guide
2025-09-08 23:21:12 -07:00
## Prerequisites
2025-09-08 23:14:53 -07:00
2025-09-12 10:27:43 -07:00
- **Linux/macOS** (or Windows; PowerShell scripts now supported without WSL)
2026-03-17 22:50:18 +03:00
- AI coding agent: [Claude Code ](https://www.anthropic.com/claude-code ), [GitHub Copilot ](https://code.visualstudio.com/ ), [Codebuddy CLI ](https://www.codebuddy.ai/cli ), [Gemini CLI ](https://github.com/google-gemini/gemini-cli ), or [Pi Coding Agent ](https://pi.dev )
2026-05-27 08:10:38 -04:00
- [uv ](https://docs.astral.sh/uv/ ) for package management (recommended) or [pipx ](https://pipx.pypa.io/ ) for persistent installation
2025-09-08 23:14:53 -07:00
- [Python 3.11+ ](https://www.python.org/downloads/ )
- [Git ](https://git-scm.com/downloads )
## Installation
2026-05-14 10:14:32 -05:00
> [!IMPORTANT]
> The only official, maintained packages for Spec Kit come from the [github/spec-kit](https://github.com/github/spec-kit) GitHub repository. Any packages with the same name available on PyPI (e.g. `specify-cli` on pypi.org) are **not** affiliated with this project and are not maintained by the Spec Kit maintainers. For normal installs, use the GitHub-based commands shown below. For offline or air-gapped environments, locally built wheels created from this repository are also valid.
2026-04-15 14:35:49 +02:00
2026-05-14 10:14:32 -05:00
### Persistent Installation (Recommended)
2025-09-08 23:14:53 -07:00
2026-05-14 10:14:32 -05:00
Install once and use everywhere. Replace `vX.Y.Z` with a tag from [Releases ](https://github.com/github/spec-kit/releases ):
2025-09-08 23:14:53 -07:00
2026-05-06 15:05:14 -05:00
> [!NOTE]
2026-05-14 10:14:32 -05:00
> The command below requires **[uv](https://docs.astral.sh/uv/)**. If you see `command not found: uv`, [install uv first](./install/uv.md).
2026-05-06 15:05:14 -05:00
2025-09-08 23:14:53 -07:00
```bash
2026-05-14 10:14:32 -05:00
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
2025-09-08 23:14:53 -07:00
```
2026-05-14 10:14:32 -05:00
Then initialize a project:
2025-09-08 23:14:53 -07:00
```bash
2026-05-14 10:14:32 -05:00
specify init <PROJECT_NAME> --integration copilot
2025-09-08 23:14:53 -07:00
```
2026-05-14 10:14:32 -05:00
### One-time Usage
Run directly without installing — see the [One-time usage (uvx) ](install/one-time.md ) guide.
### Alternative Package Managers
- **pipx** — see the [pipx installation guide ](install/pipx.md )
- **Enterprise / Air-Gapped** — see the [air-gapped installation guide ](install/air-gapped.md )
2026-04-24 16:04:04 -05:00
### Specify Integration
2025-09-08 23:14:53 -07:00
2026-05-06 20:48:50 +03:00
Interactive terminals prompt you to choose a coding agent integration during initialization. Non-interactive sessions, such as CI or piped runs, default to GitHub Copilot unless you pass `--integration` .
2026-04-24 16:04:04 -05:00
You can proactively specify your coding agent integration during initialization:
2025-09-08 23:14:53 -07:00
```bash
2026-05-14 10:14:32 -05:00
specify init <project_name> --integration claude
specify init <project_name> --integration gemini
specify init <project_name> --integration copilot
specify init <project_name> --integration codebuddy
specify init <project_name> --integration pi
2025-09-08 23:14:53 -07:00
```
2025-09-12 10:27:43 -07:00
### Specify Script Type (Shell vs PowerShell)
All automation scripts now have both Bash (`.sh` ) and PowerShell (`.ps1` ) variants.
Auto behavior:
2025-10-20 00:49:15 +02:00
2025-09-12 10:27:43 -07:00
- Windows default: `ps`
- Other OS default: `sh`
- Interactive mode: you'll be prompted unless you pass `--script`
Force a specific script type:
2025-10-20 00:49:15 +02:00
2025-09-12 10:27:43 -07:00
```bash
2026-05-14 10:14:32 -05:00
specify init <project_name> --script sh
specify init <project_name> --script ps
2025-09-12 10:27:43 -07:00
```
2025-09-08 23:14:53 -07:00
### Ignore Agent Tools Check
If you prefer to get the templates without checking for the right tools:
```bash
2026-05-14 10:14:32 -05:00
specify init <project_name> --integration claude --ignore-agent-tools
2025-09-08 23:14:53 -07:00
```
## Verification
2026-04-15 14:35:49 +02:00
After installation, run the following command to confirm the correct version is installed:
```bash
specify version
```
This helps verify you are running the official Spec Kit build from GitHub, not an unrelated package with the same name.
2026-06-04 02:04:54 +09:00
**Stay current:** Run `specify self check` periodically to learn whether a newer release is available — it is read-only and never modifies your installation. When you are ready to upgrade, follow the [Upgrade Guide ](./upgrade.md ).
2026-04-24 16:04:04 -05:00
After initialization, you should see the following commands available in your coding agent:
2025-10-20 00:49:15 +02:00
2025-10-06 22:16:48 -07:00
- `/speckit.specify` - Create specifications
- `/speckit.plan` - Generate implementation plans
- `/speckit.tasks` - Break down into actionable tasks
2025-09-08 23:14:53 -07:00
2026-05-15 04:14:52 +08:00
Scripts are installed into a variant subdirectory matching the chosen script type:
- `.specify/scripts/bash/` — contains `.sh` scripts (default on Linux/macOS)
- `.specify/scripts/powershell/` — contains `.ps1` scripts (default on Windows)
2025-09-12 10:27:43 -07:00
2025-09-08 23:21:12 -07:00
## Troubleshooting
2025-09-08 23:14:53 -07:00
2026-03-20 14:46:48 -05:00
### Enterprise / Air-Gapped Installation
2026-05-14 10:14:32 -05:00
If your environment blocks access to PyPI or GitHub, see the [Enterprise / Air-Gapped Installation ](install/air-gapped.md ) guide for step-by-step instructions on creating portable wheel bundles.
2026-03-20 14:46:48 -05:00
2025-09-08 23:14:53 -07:00
### Git Credential Manager on Linux
2026-05-14 10:14:32 -05:00
If you're having issues with Git authentication on Linux, see the [Air-Gapped Installation guide ](install/air-gapped.md#git-credential-manager-on-linux ) for Git Credential Manager setup instructions.