Update Universal Development Standards to the latest version.
Updates development standards and configures AI tool integrations with interactive version selection.
/plugin marketplace add asiaostrich/universal-dev-standards/plugin install universal-dev-standards@asia-ostrichUpdate Universal Development Standards to the latest version.
將 Universal Development Standards 更新至最新版本。
When invoked without --yes, use AskUserQuestion to confirm update preferences.
當不帶 --yes 執行時,使用 AskUserQuestion 確認更新偏好。
First, run uds check --summary to show compact installation status.
首先,執行 uds check --summary 顯示精簡安裝狀態。
uds check --summary
This shows: version (with update indicator), level, files status, Skills status, and Commands status.
If updates are available, use AskUserQuestion with options based on version type.
根據可用更新的版本類型顯示對應選項。
Pre-release versions are sorted by stability (ascending):
Pre-release 版本按穩定度排序(由低到高):
| Type | Stability | Description | 說明 |
|---|---|---|---|
| alpha | 🔴 Early | Features may be incomplete, for internal testing | 功能可能不完整,供內部測試 |
| beta | 🟡 Testing | Features complete, may have bugs, for early adopters | 功能大致完成,可能有 bug,供早期採用者 |
| rc | 🟢 Near-stable | Release candidate, close to stable, for beta testers | 候選發布版,接近正式版,供 beta 測試者 |
Version comparison: alpha < beta < rc < stable
For detailed versioning standards, see core/versioning.md.
If stable version available (e.g., 3.5.1):
| Option | Description |
|---|---|
| Update Now | Update standards to latest stable version X.Y.Z (Recommended) |
| Check Beta | Check for beta version updates |
| Skip | Don't update at this time |
If only pre-release version available, show specific type:
Detect the version type from uds check output and display the specific type name:
| Detected Type | Option Label | Description |
|---|---|---|
X.Y.Z-alpha.N | Update to Alpha | Update to alpha version X.Y.Z-alpha.N (🔴 Early testing) |
X.Y.Z-beta.N | Update to Beta | Update to beta version X.Y.Z-beta.N (🟡 Feature complete) |
X.Y.Z-rc.N | Update to RC | Update to RC version X.Y.Z-rc.N (🟢 Near-stable) |
Always include Skip option: Don't update at this time.
Example AskUserQuestion for beta version:
If Update Now selected:
uds update --yes
If Check Beta selected:
uds update --beta --yes
After update completes, check for missing or outdated Skills/Commands using multi-stage AskUserQuestion.
更新完成後,使用多階段 AskUserQuestion 檢查缺少或過時的 Skills/Commands。
Important: Since AskUserQuestion has limited options (max 4), we use a multi-stage approach to handle different AI tools and installation preferences.
重要: 由於 AskUserQuestion 選項有限(最多 4 個),使用多階段方式處理不同 AI 工具和安裝偏好。
First, read the manifest to identify configured AI tools and their Skills status:
首先讀取 manifest 來識別已配置的 AI 工具及其 Skills 狀態:
# Read manifest to get configured AI tools
cat .standards/manifest.json
# Check existing Skills installations
ls .claude/skills/ 2>/dev/null || echo "Not installed"
ls .opencode/skill/ 2>/dev/null || echo "Not installed"
For each configured AI tool that supports Skills, check if Skills are installed.
If any configured AI tools are missing Skills, use Smart Grouping strategy.
如果有已配置的 AI 工具缺少 Skills,使用智能分組策略。
IMPORTANT: AskUserQuestion has a 4-option limit. Use smart grouping to handle this.
重要:AskUserQuestion 最多只能有 4 個選項。 使用智能分組來處理。
Step 4b-1: Check Marketplace Status (Claude Code only)
First, check if Plugin Marketplace is already installed:
ls ~/.claude/plugins/universal-dev-standards@asia-ostrich 2>/dev/null && echo "Marketplace installed"
Step 4b-2: Apply Smart Grouping Strategy
Example (Claude Code only, Marketplace not installed):
Question: "Skills 要安裝到哪裡?"
Options:
1. Plugin Marketplace (建議) - 自動更新,易於管理
2. User Level (~/.claude/skills/) - 所有專案共用
3. Project Level (.claude/skills/) - 僅此專案
4. 跳過 - 不安裝 Skills
Example (OpenCode + Copilot, Claude Code already via Marketplace):
Question: "Skills 要安裝到哪裡?(Claude Code: ✓ 已透過 Marketplace 安裝)"
Options:
1. 全部 User Level - 所有專案共用
2. 全部 Project Level (建議) - 僅此專案
3. 跳過 - 不安裝額外 Skills
Stage 1: Ask unified or individual
Question: "有多個 AI 工具需要安裝 Skills,安裝層級要如何設定?"
Options:
1. 統一層級 (建議) - 所有工具使用相同層級
2. 個別設定 - 為每個工具分別選擇層級
3. 跳過 - 不安裝 Skills
Stage 2a: If unified → ask level once
Question: "所有 Skills 要安裝到哪個層級?"
Options:
1. User Level - 所有專案共用
2. Project Level (建議) - 僅此專案
Stage 2b: If individual → per-tool questions
Execute installation:
uds configure --type skills --ai-tool opencode --skills-location project
uds configure --type skills --ai-tool cursor --skills-location user
Note: If user selects unified level, the --skills-location option is used. If individual, run without the option to trigger interactive prompt.
注意: 如果用戶選擇統一層級,使用 --skills-location 選項。如果選擇個別設定,不帶此選項執行以觸發互動提示。
Check for configured AI tools that support Commands but don't have them installed:
檢查已配置但尚未安裝 Commands 的 AI 工具:
# Check existing Commands installations
ls .opencode/commands/ 2>/dev/null || echo "Not installed"
ls .github/commands/ 2>/dev/null || echo "Not installed"
Note: Not all AI tools support Commands. Tools that support Commands:
If any configured AI tools are missing Commands, use Smart Grouping strategy.
如果有已配置的 AI 工具缺少 Commands,使用智能分組策略。
IMPORTANT: AskUserQuestion has a 4-option limit. Use smart grouping to handle this.
重要:AskUserQuestion 最多只能有 4 個選項。 使用智能分組來處理。
Example (OpenCode only):
Question: "Commands 要安裝到哪裡?"
Options:
1. User Level (~/.config/opencode/command/) - 所有專案共用
2. Project Level (.opencode/command/) - 僅此專案 (建議)
3. 跳過 - 使用 Skills 即可
Example (OpenCode + Copilot):
Question: "Commands 要安裝到哪裡?"
Options:
1. 全部 User Level - 所有專案共用
2. 全部 Project Level (建議) - 僅此專案
3. 跳過 - 使用 Skills 即可
Stage 1: Ask unified or individual
Question: "有多個 AI 工具需要安裝 Commands,安裝層級要如何設定?"
Options:
1. 統一層級 (建議) - 所有工具使用相同層級
2. 個別設定 - 為每個工具分別選擇層級
3. 跳過 - 不安裝 Commands
Stage 2a: If unified → ask level once
Question: "所有 Commands 要安裝到哪個層級?"
Options:
1. User Level - 所有專案共用
2. Project Level (建議) - 僅此專案
Stage 2b: If individual → per-tool questions
Execute installation:
# CLI will prompt for installation level
uds configure --type commands --ai-tool opencode
uds configure --type commands --ai-tool copilot
Note: The CLI will interactively prompt for installation level (project or user) when --ai-tool is specified.
注意: 指定 --ai-tool 時,CLI 會互動詢問安裝層級(project 或 user)。
Important: The CLI tracks user's declined choices in manifest.declinedFeatures.
重要: CLI 會在 manifest.declinedFeatures 中追蹤用戶拒絕的選項。
/config skills or /config commands用戶之前拒絕的工具不會在後續提示中顯示。可透過 /config skills 或 /config commands 重新安裝。
After all operations complete, explain:
When invoked with --yes or specific options, skip interactive questions:
/update --yes # Update without confirmation
/update --beta --yes # Update to beta version
/update --offline # Skip npm registry check
/update --skills # Update Skills only
/update --commands # Update Commands only
Note: In --yes mode, CLI shows hints about available Skills/Commands but does NOT auto-install them (conservative behavior).
| Option | Description | 說明 |
|---|---|---|
--yes, -y | Skip confirmation prompt | 跳過確認提示 |
--offline | Skip npm registry check | 跳過 npm registry 檢查 |
--beta | Check for beta version updates | 檢查 beta 版本更新 |
--skills | Update Skills only | 僅更新 Skills |
--commands | Update Commands only | 僅更新 Commands |
--integrations-only | Regenerate integration files only | 僅重新產生整合檔案 |
--sync-refs | Sync integration file references | 同步整合檔案參考 |
--standards-only | Update standards without integrations | 僅更新標準,不更新整合 |
.standards/ directory.cursorrules, CLAUDE.md, etc.)manifest.jsonSkills are managed separately:
| Installation | Update Method | 更新方法 |
|---|---|---|
| Plugin Marketplace | Auto-updates on Claude Code restart | 重啟 Claude Code 自動更新 |
| User-level | cd ~/.claude/skills && git pull | 手動更新 |
| Project-level | cd .claude/skills && git pull | 手動更新 |
"Standards not initialized"
/init first to initialize standards"Already up to date"
"Skills previously declined"
/config skills to reinstall declined Skills