docs: replace deprecated --ai flag with --integration in all documentation#2359
Conversation
…ation 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 github#2358
There was a problem hiding this comment.
Pull request overview
Updates user-facing documentation to use the modern --integration / --integration-options flags instead of deprecated --ai-prefixed flags, reducing first-run deprecation warnings and aligning docs with the current CLI interface.
Changes:
- Replaced
--ai/--ai-skills/--ai-commands-dirusage in docs with--integrationand--integration-options. - Updated headings and examples across install/upgrade/dev docs and contributing guide.
- Updated
specify initdocstring/help examples and related printed example strings.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updates quick-start and detailed examples to use --integration / --integration-options. |
| docs/installation.md | Renames section and updates uvx install/init examples to --integration. |
| docs/upgrade.md | Updates upgrade command examples/table entries to use --integration. |
| docs/local-development.md | Updates local invocation examples to use --integration. |
| CONTRIBUTING.md | Updates manual testing command example to use --integration. |
| extensions/EXTENSION-USER-GUIDE.md | Updates skills-mode reference to --integration-options="--skills". |
| src/specify_cli/init.py | Updates init docstring examples and printed “Example:” guidance strings. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 7/7 changed files
- Comments generated: 4
- Fix duplicate copilot example in README.md (replace with codex) - Fix invalid gemini --integration-options="--skills" example (gemini does not support --skills) - Update generic integration comment from 'Unsupported agent' to 'Bring your own agent; requires --commands-dir' - Clarify EXTENSION-USER-GUIDE.md: skills auto-register for skills-based integrations, not only with --integration-options
There was a problem hiding this comment.
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (3)
src/specify_cli/init.py:1033
- The
--aimis-parsed-value check prints an example using--integration, but the error/hint text is specifically about--ai. This mixed messaging can confuse users who just need to add the missing--aivalue (or who don’t realize--aiis deprecated). Consider either (a) keeping the example in--aiform, or (b) updating the error/hint to explicitly mention that--aiis deprecated and showing both--integration ...and--ai ...examples.
if ai_assistant and ai_assistant.startswith("--"):
console.print(f"[red]Error:[/red] Invalid value for --ai: '{ai_assistant}'")
console.print("[yellow]Hint:[/yellow] Did you forget to provide a value for --ai?")
console.print("[yellow]Example:[/yellow] specify init --integration claude --here")
console.print(f"[yellow]Available agents:[/yellow] {', '.join(AGENT_CONFIG.keys())}")
src/specify_cli/init.py:1040
- This validation branch is triggered for the deprecated
--ai-commands-dirflag, but the suggested example uses--integration-optionsinstead. For someone who just forgot to pass a value to--ai-commands-dir, that example doesn’t show the direct fix. Suggest printing an example that uses--ai-commands-dir(and optionally add a second line noting the preferred replacement with--integration generic --integration-options=...).
if ai_commands_dir and ai_commands_dir.startswith("--"):
console.print(f"[red]Error:[/red] Invalid value for --ai-commands-dir: '{ai_commands_dir}'")
console.print("[yellow]Hint:[/yellow] Did you forget to provide a value for --ai-commands-dir?")
console.print("[yellow]Example:[/yellow] specify init --integration generic --integration-options=\"--commands-dir .myagent/commands/\"")
raise typer.Exit(1)
docs/installation.md:139
- This section still documents
--offlineas changing behavior (“use bundled assets instead of downloading from GitHub”), but in the CLI--offlineis marked deprecated/no-op and hidden. The docs should be updated to reflect current behavior (bundled assets by default) and avoid instructing users to pass a hidden/deprecated flag; alternatively, keep the note but clarify that--offlineis retained only for backward compatibility.
**Step 4: Initialize a project (no network required)**
```bash
# Initialize a project — no GitHub access needed
specify init my-project --integration claude --offline
The --offline flag tells the CLI to use the templates, commands, and scripts bundled inside the wheel instead of downloading from GitHub.
Deprecation notice: Starting with v0.6.0,
specify initwill use bundled assets by default and the--offlineflag will be removed. The GitHub download path will be retired because bundled assets eliminate the need for network access, avoid proxy/firewall issues, and guarantee that templates always match the installed CLI version. No action will be needed —specify initwill simply work without network access out of the box.
</details>
- **Files reviewed:** 7/7 changed files
- **Comments generated:** 2
…roughout Full sweep across all documentation and user-facing CLI messages to align terminology. Bare references like 'AI agent', 'AI assistant', and 'AI Agent' are replaced with 'coding agent' or 'coding agent integration' as appropriate. Intentionally left unchanged: - 'AI coding agent' (already correct expanded form) - Deprecated --ai flag help text and error messages (describes the deprecated flag itself) - Community extension descriptions (external project text) - 'generated by an AI' in CONTRIBUTING.md (general AI, not agent)
There was a problem hiding this comment.
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comments suppressed due to low confidence (1)
src/specify_cli/init.py:1033
- The error message is specifically about an invalid/missing value for
--ai, but the suggested example uses--integration. This can be confusing for users who are trying to fix the--aiinvocation; consider showing an example that matches--ai(and optionally a second example for the canonical--integration).
if ai_assistant and ai_assistant.startswith("--"):
console.print(f"[red]Error:[/red] Invalid value for --ai: '{ai_assistant}'")
console.print("[yellow]Hint:[/yellow] Did you forget to provide a value for --ai?")
console.print("[yellow]Example:[/yellow] specify init --integration claude --here")
console.print(f"[yellow]Available agents:[/yellow] {', '.join(AGENT_CONFIG.keys())}")
- Files reviewed: 8/8 changed files
- Comments generated: 4
…scope - Remove --offline from docstring examples (deprecated no-op) - Remove --offline from CONTRIBUTING.md testing example - Replace --offline instructions in docs/installation.md with note that bundled assets are used by default - Qualify --integration-options="--skills" in README.md to note it only applies to integrations that support skills mode
There was a problem hiding this comment.
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 8/8 changed files
- Comments generated: 0 new
Summary
Replace all user-facing
--ai,--ai-skills, and--ai-commands-dirreferences in documentation with their modern equivalents:--ai <agent>→--integration <agent>--ai-skills→--integration-options="--skills"--ai-commands-dir <dir>→--integration generic --integration-options="--commands-dir <dir>"Changes
README.md--ai-skillsmentionsdocs/installation.mduvxone-liner examples, section heading renamedocs/upgrade.mddocs/local-development.mdCONTRIBUTING.mdextensions/EXTENSION-USER-GUIDE.md--ai-skills→--integration-options="--skills"src/specify_cli/__init__.pyOut of scope (per issue)
CHANGELOG.md— historical record, left as-isTesting
All 1728 tests pass.
Closes #2358