Skip to content

Commit 2d8cca3

Browse files
committed
docs: replace deprecated --ai flag with --integration in all documentation
Replace all user-facing --ai, --ai-skills, and --ai-commands-dir references with their modern equivalents: - --ai <agent> → --integration <agent> - --ai-skills → --integration-options="--skills" - --ai-commands-dir <dir> → --integration generic --integration-options="--commands-dir <dir>" Updated files: - README.md (~17 occurrences) - docs/installation.md (~8 occurrences) - docs/upgrade.md (~11 occurrences) - docs/local-development.md (~5 occurrences) - CONTRIBUTING.md (1 occurrence) - extensions/EXTENSION-USER-GUIDE.md (1 occurrence) - src/specify_cli/__init__.py (docstring examples and error messages) Left unchanged: - CHANGELOG.md (historical record) - Test files (intentionally exercise deprecated flag path) - CLI flag implementation (backward compatibility) Closes #2358
1 parent ca51d73 commit 2d8cca3

7 files changed

Lines changed: 54 additions & 54 deletions

File tree

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ uv pip install -e .
9494
# Ensure the `specify` binary in this environment points at your working tree so the agent runs the branch you're testing.
9595

9696
# Initialize a test project using your local changes
97-
uv run specify init <temp-dir>/speckit-test --ai <agent> --offline
97+
uv run specify init <temp-dir>/speckit-test --integration <agent> --offline
9898
cd <temp-dir>/speckit-test
9999

100100
# Open in your agent

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ And use the tool directly:
8181
specify init <PROJECT_NAME>
8282

8383
# Or initialize in existing project
84-
specify init . --ai copilot
84+
specify init . --integration copilot
8585
# or
86-
specify init --here --ai copilot
86+
specify init --here --integration copilot
8787

8888
# Check installed tools
8989
specify check
@@ -105,9 +105,9 @@ Run directly without installing:
105105
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <PROJECT_NAME>
106106

107107
# Or initialize in existing project
108-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . --ai copilot
108+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init . --integration copilot
109109
# or
110-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --ai copilot
110+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --integration copilot
111111
```
112112

113113
**Benefits of persistent installation:**
@@ -302,7 +302,7 @@ Run `specify integration list` to see all available integrations in your install
302302

303303
## Available Slash Commands
304304

305-
After running `specify init`, your AI coding agent will have access to these slash commands for structured development. If you pass `--ai <agent> --ai-skills`, Spec Kit installs agent skills instead of slash-command prompt files; `--ai-skills` requires `--ai`.
305+
After running `specify init`, your AI coding agent will have access to these slash commands for structured development. If you pass `--integration <agent> --integration-options="--skills"`, Spec Kit installs agent skills instead of slash-command prompt files.
306306

307307
#### Core Commands
308308

@@ -478,29 +478,29 @@ specify init --here --force
478478
You will be prompted to select the AI agent you are using. You can also proactively specify it directly in the terminal:
479479

480480
```bash
481-
specify init <project_name> --ai copilot
482-
specify init <project_name> --ai gemini
483-
specify init <project_name> --ai copilot
481+
specify init <project_name> --integration copilot
482+
specify init <project_name> --integration gemini
483+
specify init <project_name> --integration copilot
484484

485485
# Or in current directory:
486-
specify init . --ai copilot
487-
specify init . --ai codex --ai-skills
486+
specify init . --integration copilot
487+
specify init . --integration codex --integration-options="--skills"
488488

489489
# or use --here flag
490-
specify init --here --ai copilot
491-
specify init --here --ai codex --ai-skills
490+
specify init --here --integration copilot
491+
specify init --here --integration codex --integration-options="--skills"
492492

493493
# Force merge into a non-empty current directory
494-
specify init . --force --ai copilot
494+
specify init . --force --integration copilot
495495

496496
# or
497-
specify init --here --force --ai copilot
497+
specify init --here --force --integration copilot
498498
```
499499

500500
The CLI will check if you have Claude Code, Gemini CLI, Cursor CLI, Qwen CLI, opencode, Codex CLI, Qoder CLI, Tabnine CLI, Kiro CLI, Pi, Forge, Goose, or Mistral Vibe installed. If you do not, or you prefer to get the templates without checking for the right tools, use `--ignore-agent-tools` with your command:
501501

502502
```bash
503-
specify init <project_name> --ai copilot --ignore-agent-tools
503+
specify init <project_name> --integration copilot --ignore-agent-tools
504504
```
505505

506506
### **STEP 1:** Establish project principles

docs/installation.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,16 @@ uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init .
3939
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here
4040
```
4141
42-
### Specify AI Agent
42+
### Specify Integration
4343

4444
You can proactively specify your AI agent during initialization:
4545

4646
```bash
47-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai claude
48-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai gemini
49-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai copilot
50-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai codebuddy
51-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai pi
47+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration claude
48+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration gemini
49+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration copilot
50+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration codebuddy
51+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration pi
5252
```
5353

5454
### Specify Script Type (Shell vs PowerShell)
@@ -73,7 +73,7 @@ uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <proje
7373
If you prefer to get the templates without checking for the right tools:
7474

7575
```bash
76-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --ai claude --ignore-agent-tools
76+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init <project_name> --integration claude --ignore-agent-tools
7777
```
7878

7979
## Verification
@@ -131,7 +131,7 @@ pip install --no-index --find-links=./dist specify-cli
131131

132132
```bash
133133
# Initialize a project — no GitHub access needed
134-
specify init my-project --ai claude --offline
134+
specify init my-project --integration claude --offline
135135
```
136136

137137
The `--offline` flag tells the CLI to use the templates, commands, and scripts bundled inside the wheel instead of downloading from GitHub.

docs/local-development.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ You can execute the CLI via the module entrypoint without installing anything:
2020
```bash
2121
# From repo root
2222
python -m src.specify_cli --help
23-
python -m src.specify_cli init demo-project --ai claude --ignore-agent-tools --script sh
23+
python -m src.specify_cli init demo-project --integration claude --ignore-agent-tools --script sh
2424
```
2525

2626
If you prefer invoking the script file style (uses shebang):
@@ -52,7 +52,7 @@ Re-running after code edits requires no reinstall because of editable mode.
5252
`uvx` can run from a local path (or a Git ref) to simulate user flows:
5353

5454
```bash
55-
uvx --from . specify init demo-uvx --ai copilot --ignore-agent-tools --script sh
55+
uvx --from . specify init demo-uvx --integration copilot --ignore-agent-tools --script sh
5656
```
5757

5858
You can also point uvx at a specific branch without merging:
@@ -69,14 +69,14 @@ If you're in another directory, use an absolute path instead of `.`:
6969

7070
```bash
7171
uvx --from /mnt/c/GitHub/spec-kit specify --help
72-
uvx --from /mnt/c/GitHub/spec-kit specify init demo-anywhere --ai copilot --ignore-agent-tools --script sh
72+
uvx --from /mnt/c/GitHub/spec-kit specify init demo-anywhere --integration copilot --ignore-agent-tools --script sh
7373
```
7474

7575
Set an environment variable for convenience:
7676

7777
```bash
7878
export SPEC_KIT_SRC=/mnt/c/GitHub/spec-kit
79-
uvx --from "$SPEC_KIT_SRC" specify init demo-env --ai copilot --ignore-agent-tools --script ps
79+
uvx --from "$SPEC_KIT_SRC" specify init demo-env --integration copilot --ignore-agent-tools --script ps
8080
```
8181

8282
(Optional) Define a shell function:
@@ -123,7 +123,7 @@ When testing `init --here` in a dirty directory, create a temp workspace:
123123

124124
```bash
125125
mkdir /tmp/spec-test && cd /tmp/spec-test
126-
python -m src.specify_cli init --here --ai claude --ignore-agent-tools --script sh # if repo copied here
126+
python -m src.specify_cli init --here --integration claude --ignore-agent-tools --script sh # if repo copied here
127127
```
128128

129129
Or copy only the modified CLI portion if you want a lighter sandbox.

docs/upgrade.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
|----------------|---------|-------------|
1111
| **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 |
1212
| **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 |
13-
| **Project Files** | `specify init --here --force --ai <your-agent>` | Update slash commands, templates, and scripts in your project |
13+
| **Project Files** | `specify init --here --force --integration <your-agent>` | Update slash commands, templates, and scripts in your project |
1414
| **Both** | Run CLI upgrade, then project update | Recommended for major version updates |
1515

1616
---
@@ -32,7 +32,7 @@ uv tool install specify-cli --force --from git+https://github.com/github/spec-ki
3232
Specify the desired release tag:
3333

3434
```bash
35-
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --ai copilot
35+
uvx --from git+https://github.com/github/spec-kit.git@vX.Y.Z specify init --here --integration copilot
3636
```
3737

3838
### If you installed with `pipx`
@@ -82,15 +82,15 @@ The `specs/` directory is completely excluded from template packages and will ne
8282
Run this inside your project directory:
8383

8484
```bash
85-
specify init --here --force --ai <your-agent>
85+
specify init --here --force --integration <your-agent>
8686
```
8787

8888
Replace `<your-agent>` with your AI coding agent. Refer to this list of [Supported AI Coding Agent Integrations](reference/integrations.md)
8989

9090
**Example:**
9191

9292
```bash
93-
specify init --here --force --ai copilot
93+
specify init --here --force --integration copilot
9494
```
9595

9696
### Understanding the `--force` flag
@@ -124,7 +124,7 @@ Without `--force`, shared infrastructure files that already exist are skipped
124124
cp .specify/memory/constitution.md .specify/memory/constitution-backup.md
125125

126126
# 2. Run the upgrade
127-
specify init --here --force --ai copilot
127+
specify init --here --force --integration copilot
128128

129129
# 3. Restore your customized constitution
130130
mv .specify/memory/constitution-backup.md .specify/memory/constitution.md
@@ -182,7 +182,7 @@ Restart your IDE to refresh the command list.
182182
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
183183

184184
# Update project files to get new commands
185-
specify init --here --force --ai copilot
185+
specify init --here --force --integration copilot
186186

187187
# Restore your constitution if customized
188188
git restore .specify/memory/constitution.md
@@ -199,7 +199,7 @@ cp -r .specify/templates /tmp/templates-backup
199199
uv tool install specify-cli --force --from git+https://github.com/github/spec-kit.git
200200

201201
# 3. Update project
202-
specify init --here --force --ai copilot
202+
specify init --here --force --integration copilot
203203

204204
# 4. Restore customizations
205205
mv /tmp/constitution-backup.md .specify/memory/constitution.md
@@ -232,7 +232,7 @@ If you initialized your project with `--no-git`, you can still upgrade:
232232
cp .specify/memory/constitution.md /tmp/constitution-backup.md
233233

234234
# Run upgrade
235-
specify init --here --force --ai copilot --no-git
235+
specify init --here --force --integration copilot --no-git
236236

237237
# Restore customizations
238238
mv /tmp/constitution-backup.md .specify/memory/constitution.md
@@ -253,13 +253,13 @@ The `--no-git` flag tells Spec Kit to **skip git repository initialization**. Th
253253
**During initial setup:**
254254

255255
```bash
256-
specify init my-project --ai copilot --no-git
256+
specify init my-project --integration copilot --no-git
257257
```
258258

259259
**During upgrade:**
260260

261261
```bash
262-
specify init --here --force --ai copilot --no-git
262+
specify init --here --force --integration copilot --no-git
263263
```
264264

265265
### What `--no-git` does NOT do
@@ -367,7 +367,7 @@ Only Spec Kit infrastructure files:
367367
- **Use `--force` flag** - Skip this confirmation entirely:
368368

369369
```bash
370-
specify init --here --force --ai copilot
370+
specify init --here --force --integration copilot
371371
```
372372

373373
**When you see this warning:**

extensions/EXTENSION-USER-GUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ Provided commands:
189189

190190
### Automatic Agent Skill Registration
191191

192-
If your project was initialized with `--ai-skills`, extension commands are **automatically registered as agent skills** during installation. This ensures that extensions are discoverable by agents that use the [agentskills.io](https://agentskills.io) skill specification.
192+
If your project was initialized with `--integration-options="--skills"`, extension commands are **automatically registered as agent skills** during installation. This ensures that extensions are discoverable by agents that use the [agentskills.io](https://agentskills.io) skill specification.
193193

194194
```text
195195
✓ Extension installed successfully!

src/specify_cli/__init__.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1004,22 +1004,22 @@ def init(
10041004
10051005
Examples:
10061006
specify init my-project
1007-
specify init my-project --ai claude
1008-
specify init my-project --ai copilot --no-git
1007+
specify init my-project --integration claude
1008+
specify init my-project --integration copilot --no-git
10091009
specify init --ignore-agent-tools my-project
1010-
specify init . --ai claude # Initialize in current directory
1010+
specify init . --integration claude # Initialize in current directory
10111011
specify init . # Initialize in current directory (interactive AI selection)
1012-
specify init --here --ai claude # Alternative syntax for current directory
1013-
specify init --here --ai codex --ai-skills
1014-
specify init --here --ai codebuddy
1015-
specify init --here --ai vibe # Initialize with Mistral Vibe support
1012+
specify init --here --integration claude # Alternative syntax for current directory
1013+
specify init --here --integration codex --integration-options="--skills"
1014+
specify init --here --integration codebuddy
1015+
specify init --here --integration vibe # Initialize with Mistral Vibe support
10161016
specify init --here
10171017
specify init --here --force # Skip confirmation when current directory not empty
1018-
specify init my-project --ai claude # Claude installs skills by default
1019-
specify init --here --ai gemini --ai-skills
1020-
specify init my-project --ai generic --ai-commands-dir .myagent/commands/ # Unsupported agent
1018+
specify init my-project --integration claude # Claude installs skills by default
1019+
specify init --here --integration gemini --integration-options="--skills"
1020+
specify init my-project --integration generic --integration-options="--commands-dir .myagent/commands/" # Unsupported agent
10211021
specify init my-project --offline # Use bundled assets (no network access)
1022-
specify init my-project --ai claude --preset healthcare-compliance # With preset
1022+
specify init my-project --integration claude --preset healthcare-compliance # With preset
10231023
"""
10241024

10251025
show_banner()
@@ -1029,14 +1029,14 @@ def init(
10291029
if ai_assistant and ai_assistant.startswith("--"):
10301030
console.print(f"[red]Error:[/red] Invalid value for --ai: '{ai_assistant}'")
10311031
console.print("[yellow]Hint:[/yellow] Did you forget to provide a value for --ai?")
1032-
console.print("[yellow]Example:[/yellow] specify init --ai claude --here")
1032+
console.print("[yellow]Example:[/yellow] specify init --integration claude --here")
10331033
console.print(f"[yellow]Available agents:[/yellow] {', '.join(AGENT_CONFIG.keys())}")
10341034
raise typer.Exit(1)
10351035

10361036
if ai_commands_dir and ai_commands_dir.startswith("--"):
10371037
console.print(f"[red]Error:[/red] Invalid value for --ai-commands-dir: '{ai_commands_dir}'")
10381038
console.print("[yellow]Hint:[/yellow] Did you forget to provide a value for --ai-commands-dir?")
1039-
console.print("[yellow]Example:[/yellow] specify init --ai generic --ai-commands-dir .myagent/commands/")
1039+
console.print("[yellow]Example:[/yellow] specify init --integration generic --integration-options=\"--commands-dir .myagent/commands/\"")
10401040
raise typer.Exit(1)
10411041

10421042
if ai_assistant:

0 commit comments

Comments
 (0)