You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To check for updates or upgrade the installed CLI, use the self-management commands. See the [Upgrade Guide](./docs/upgrade.md) for detailed scenarios and customization options.
63
+
64
+
```bash
65
+
# Check whether a newer release is available (read-only — does not modify anything)
66
+
specify self check
67
+
68
+
# Preview what would run, without actually upgrading
69
+
specify self upgrade --dry-run
70
+
71
+
# Upgrade in place to the latest stable release (auto-detects uv tool vs pipx install)
72
+
specify self upgrade
73
+
74
+
# Or pin a specific release tag (replace vX.Y.Z[suffix] with your desired release tag)
75
+
specify self upgrade --tag vX.Y.Z[suffix]
76
+
```
77
+
78
+
Bare `specify self upgrade` executes immediately, matching the no-prompt behavior of commands like `pip install -U` and `npm update`. For `uv tool` installs, it runs `uv tool install specify-cli --force --from <git ref>` under the hood so pinned release tags work, including dev, alpha/beta/rc, or build metadata suffixes. `uvx` (ephemeral) runs and source checkouts are detected and produce path-specific guidance instead of running an installer. Set `SPECIFY_UPGRADE_TIMEOUT_SECS` to cap how long the installer subprocess may run (default: no timeout — interrupt with `Ctrl+C` if needed).
79
+
62
80
### 3. Establish project principles
63
81
64
82
Launch your coding agent in the project directory. Most agents expose spec-kit as `/speckit.*` slash commands; Codex CLI in skills mode uses `$speckit-*` instead.
@@ -133,7 +151,7 @@ Run `specify integration list` to see all available integrations in your install
133
151
134
152
After running `specify init`, your AI coding agent will have access to these slash commands for structured development. For integrations that support skills mode, passing `--integration <agent> --integration-options="--skills"` installs agent skills instead of slash-command prompt files.
135
153
136
-
####Core Commands
154
+
### Core Commands
137
155
138
156
Essential commands for the Spec-Driven Development workflow:
139
157
@@ -146,7 +164,7 @@ Essential commands for the Spec-Driven Development workflow:
146
164
|`/speckit.taskstoissues`|`speckit-taskstoissues`| Convert generated task lists into GitHub issues for tracking and execution |
147
165
|`/speckit.implement`|`speckit-implement`| Execute all tasks to build the feature according to the plan |
148
166
149
-
####Optional Commands
167
+
### Optional Commands
150
168
151
169
Additional commands for enhanced quality and validation:
Copy file name to clipboardExpand all lines: docs/community/extensions.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,8 +114,8 @@ The following community-contributed extensions are available in [`catalog.commun
114
114
| Staff Review Extension | Staff-engineer-level code review that validates implementation against spec, checks security, performance, and test coverage |`code`| Read-only |[spec-kit-staff-review](https://github.com/arunt14/spec-kit-staff-review)|
115
115
| Status Report | Project status, feature progress, and next-action recommendations for spec-driven workflows |`visibility`| Read-only |[Open-Agent-Tools/spec-kit-status](https://github.com/Open-Agent-Tools/spec-kit-status)|
116
116
| Superpowers Bridge | Orchestrates obra/superpowers skills within the spec-kit SDD workflow across the full lifecycle (clarification, TDD, review, verification, critique, debugging, branch completion) |`process`| Read+Write |[superpowers-bridge](https://github.com/RbBtSn0w/spec-kit-extensions/tree/main/superpowers-bridge)|
117
-
| Superpowers Bridge (WangX0111) | Bridges spec-kit with obra/superpowers (brainstorming, TDD, subagent, code-review) into a unified, resumable workflow with graceful degradation and session progress tracking |`process`| Read+Write |[superspec](https://github.com/WangX0111/superspec)|
118
117
| Superpowers Implementation Bridge | Thin orchestrator between Spec Kit (design) and Superpowers (implementation). Cross-agent. |`process`| Read+Write |[speckit-superpowers-bridge](https://github.com/lihan3238/speckit-superpowers-bridge)|
118
+
| Superspec | Bridges spec-kit with obra/superpowers (brainstorming, TDD, subagent, code-review) into a unified, resumable workflow with graceful degradation and session progress tracking |`process`| Read+Write |[superspec](https://github.com/WangX0111/superspec)|
119
119
| Team Assign | Assign tasks.md items to human engineers, split into subtasks, and generate a per-engineer workboard |`process`| Read+Write |[spec-kit-team-assign](https://github.com/tarunkumarbhati/spec-kit-team-assign)|
120
120
| Time Machine | Retroactively apply the full SDD workflow to existing codebases — analyse, spec, and ship feature-by-feature |`process`| Read+Write |[spec-kit-time-machine](https://github.com/teeyo/spec-kit-time-machine)|
121
121
| TinySpec | Lightweight single-file workflow for small tasks — skip the heavy multi-step SDD process |`process`| Read+Write |[spec-kit-tinyspec](https://github.com/Quratulain-bilal/spec-kit-tinyspec)|
Copy file name to clipboardExpand all lines: docs/installation.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,6 +88,8 @@ specify version
88
88
89
89
This helps verify you are running the official Spec Kit build from GitHub, not an unrelated package with the same name.
90
90
91
+
**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).
92
+
91
93
After initialization, you should see the following commands available in your coding agent:
|`-i` / `--input`| Updated input values as `key=value` (repeatable) |
34
+
31
35
Resumes a paused or failed workflow run from the exact step where it stopped. Useful after responding to a gate step or fixing an issue that caused a failure.
32
36
37
+
Supplied `--input` values are merged over the run's stored inputs and re-validated against the workflow's input types, then the blocked step is re-run with the updated values. This lets a run continue with information that only became available after it paused, or with a corrected value after a failure:
Copy file name to clipboardExpand all lines: docs/upgrade.md
+39-9Lines changed: 39 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,8 +8,10 @@
8
8
9
9
| What to Upgrade | Command | When to Use |
10
10
|----------------|---------|-------------|
11
-
|**CLI Tool Only**|`uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.Z`| Get latest CLI features without touching project files |
12
-
|**CLI Tool Only (pipx)**|`pipx install --force git+https://github.com/github/spec-kit.git@vX.Y.Z`| Reinstall/upgrade a pipx-installed CLI to a specific release |
11
+
|**CLI Tool (recommended)**|`specify self upgrade`| Latest stable release, in place. Auto-detects whether you installed via `uv tool` or `pipx`. |
12
+
|**CLI Tool — pin a version**|`specify self upgrade --tag vX.Y.Z[suffix]`| Upgrade to a specific release tag instead of the latest stable. Suffixes are limited to dev, alpha/beta/rc, and/or build metadata forms. |
13
+
|**CLI Tool — manual fallback**|`uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git@vX.Y.Z`| When `specify self upgrade` isn't available (older installs) or when you want explicit control. |
14
+
|**CLI Tool — manual fallback (pipx)**|`pipx install --force git+https://github.com/github/spec-kit.git@vX.Y.Z`| Same as above, for pipx installs. |
13
15
|**Project Files**|`specify init --here --force --integration <your-agent>`| Update slash commands, templates, and scripts in your project |
14
16
|**Both**| Run CLI upgrade, then project update | Recommended for major version updates |
15
17
@@ -19,12 +21,32 @@
19
21
20
22
The CLI tool (`specify`) is separate from your project files. Upgrade it to get the latest features and bug fixes.
21
23
22
-
Before upgrading, you can check whether a newer released version is available:
24
+
### Recommended: `specify self upgrade`
25
+
26
+
The CLI ships with two self-management commands that handle the common case automatically:
23
27
24
28
```bash
29
+
# Check whether a newer release is available (read-only — does not modify anything)
25
30
specify self check
31
+
32
+
# Preview what would run, without actually upgrading
33
+
specify self upgrade --dry-run
34
+
35
+
# Upgrade in place to the latest stable release (auto-detects uv tool vs pipx install)
36
+
specify self upgrade
37
+
38
+
# Or pin a specific release tag (replace vX.Y.Z[suffix] with the tag you want)
39
+
specify self upgrade --tag vX.Y.Z[suffix]
26
40
```
27
41
42
+
Bare `specify self upgrade` executes immediately, matching the no-prompt behavior of commands like `pip install -U` and `npm update`. The CLI classifies your runtime into one of: `uv tool`, `pipx`, `uvx (ephemeral)`, source checkout, or unsupported. Only `uv tool` and `pipx` are upgraded automatically; for `uv tool` installs, it runs `uv tool install specify-cli --force --from <git ref>` under the hood so pinned release tags work. The other paths print path-specific guidance and exit 0 without touching anything.
43
+
44
+
Pinned tags must start with `vMAJOR.MINOR.PATCH`. Optional suffixes are limited to dev, alpha/beta/rc, and/or build metadata forms such as `v1.0.0-rc1`, `v0.8.0.dev0`, `v0.8.0+build.42`, or the combination `v1.0.0-rc1+build.42`; branch names, hash refs, `latest`, and bare versions without `v` are rejected.
45
+
46
+
Set `SPECIFY_UPGRADE_TIMEOUT_SECS` to cap how long the installer subprocess may run (default: no timeout — interrupt with `Ctrl+C` if needed). If that internal timeout fires, `specify self upgrade` exits 124 and reports that it timed out while waiting for the installer subprocess, including the configured timeout and manual retry command. A real installer exit code 124 is propagated with `Upgrade failed. Installer exit code: 124.`, so scripts should treat exit 124 as ambiguous and inspect the message when they need to distinguish the two cases.
47
+
48
+
If your installed CLI is older than the release that introduced `specify self upgrade`, use the manual equivalents below. These commands are also useful when you want explicit control over the installer command.
49
+
28
50
### If you installed with `uv tool install`
29
51
30
52
Upgrade to a specific release (check [Releases](https://github.com/github/spec-kit/releases) for the latest tag):
# Confirms the CLI is working and shows installed tools
57
80
specify check
81
+
82
+
# Confirms the installed version against the latest GitHub release
83
+
specify self check
58
84
```
59
85
60
-
This shows installed tools and confirms the CLI is working. Use `specify version` to confirm which persistent CLI version is currently on your `PATH`.
86
+
`specify check`shows the surrounding tool environment; `specify self check`is read-only and tells you whether you're now on the latest release (`Up to date: X.Y.Z`) or if a newer one became available between releases.
61
87
62
88
---
63
89
@@ -186,8 +212,8 @@ Restart your IDE to refresh the command list.
0 commit comments