-
Notifications
You must be signed in to change notification settings - Fork 7.3k
Add specify integration subcommand for post-init integration management #2065
Copy link
Copy link
Open
Description
Summary
Add a specify integration subcommand group — consistent with the existing specify extension and specify preset patterns — for managing integrations in existing projects after initial setup.
Motivation
Currently, integrations can only be set up during specify init. There's no way to install, uninstall, or switch integrations after project creation. This subcommand fills that gap using the manifest-based hash tracking introduced in #1924.
Proposed Commands
specify integration list # show available + installed status
specify integration install copilot # install into existing project
specify integration uninstall copilot # hash-safe removal
specify integration switch claude # uninstall current, install targetKey Behaviors
installwrites files + manifest (same asspecify init --integration)uninstallchecks manifest hashes — removes unmodified files, reports modified filesswitchreads the current integration from.specify/agent.json, uninstalls it, installs the target; shared infra (.specify/scripts/, templates, memory) untouched
Naming Convention
Follows the established specify <noun> <verb> pattern:
| Feature | Subcommand |
|---|---|
| Extensions | specify extension list / add / remove |
| Presets | specify preset list / add / remove |
| Integrations | specify integration list / install / uninstall / switch |
Depends on
- From Agents to Integrations #1924 (integration architecture + manifest system)
Acceptance Criteria
-
specify integration listshows available integrations and installed status -
specify integration install <key>installs an integration into an existing project -
specify integration uninstall <key>safely removes unmodified files, keeps modified ones -
specify integration switch <target>reads current from.specify/agent.json, performs uninstall + install - Full lifecycle test: install → modify file → uninstall → verify modified file kept
- Switch between integrations preserves shared infra
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.