# Installation Guide ## Prerequisites - **Linux/macOS** (or Windows; PowerShell scripts now supported without WSL) - 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) - [uv](https://docs.astral.sh/uv/) for package management (recommended) or [pipx](https://pipx.pypa.io/) for persistent installation - [Python 3.11+](https://www.python.org/downloads/) - [Git](https://git-scm.com/downloads) _(optional — required only when the git extension is enabled)_ ## Installation > [!NOTE] > The official `specify-cli` package is published to [PyPI](https://pypi.org/project/specify-cli/) by the [github/spec-kit](https://github.com/github/spec-kit) maintainers. Source installs from the GitHub repository are also supported. ### Persistent Installation (Recommended) Install once and use everywhere: > [!NOTE] > The command below requires **[uv](https://docs.astral.sh/uv/)**. If you see `command not found: uv`, [install uv first](./install/uv.md). ```bash uv tool install specify-cli ``` Or install from source using a specific [release](https://github.com/github/spec-kit/releases) tag: ```bash uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z ``` Then initialize a project: ```bash specify init --integration copilot ``` ### 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) ### Specify Integration 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`. You can proactively specify your coding agent integration during initialization: ```bash specify init --integration claude specify init --integration gemini specify init --integration copilot specify init --integration codebuddy specify init --integration pi ``` ### Specify Script Type (Shell vs PowerShell) All automation scripts now have both Bash (`.sh`) and PowerShell (`.ps1`) variants. Auto behavior: - Windows default: `ps` - Other OS default: `sh` - Interactive mode: you'll be prompted unless you pass `--script` Force a specific script type: ```bash specify init --script sh specify init --script ps ``` ### Ignore Agent Tools Check If you prefer to get the templates without checking for the right tools: ```bash specify init --integration claude --ignore-agent-tools ``` ## Verification 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. **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). After initialization, you should see the following commands available in your coding agent: - `/speckit.specify` - Create specifications - `/speckit.plan` - Generate implementation plans - `/speckit.tasks` - Break down into actionable tasks 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) ## Troubleshooting ### Enterprise / Air-Gapped Installation 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. ### Git Credential Manager on Linux 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.