universal-dev-standards 3.3.0-beta.3 → 3.3.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/commands/skills.js +44 -15
- package/src/prompts/init.js +1 -1
- package/standards-registry.json +3 -3
package/README.md
CHANGED
|
@@ -252,7 +252,7 @@ This CLI works alongside [Claude Code Skills](../skills/claude-code/):
|
|
|
252
252
|
**Install Skills via Plugin Marketplace | 透過 Plugin Marketplace 安裝 Skills:**
|
|
253
253
|
```bash
|
|
254
254
|
/plugin marketplace add AsiaOstrich/universal-dev-standards
|
|
255
|
-
/plugin install universal-dev-standards@
|
|
255
|
+
/plugin install universal-dev-standards@asia-ostrich
|
|
256
256
|
```
|
|
257
257
|
|
|
258
258
|
**Important | 重要**: For standards with Skills available, use the Skill OR copy the source document — never both.
|
package/package.json
CHANGED
package/src/commands/skills.js
CHANGED
|
@@ -33,8 +33,13 @@ function getInstalledPlugins() {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
// Plugin keys for different marketplace versions
|
|
37
|
+
const PLUGIN_KEY_NEW = 'universal-dev-standards@asia-ostrich';
|
|
38
|
+
const PLUGIN_KEY_OLD = 'universal-dev-standards@universal-dev-standards';
|
|
39
|
+
|
|
36
40
|
/**
|
|
37
41
|
* Find universal-dev-standards plugin in installed plugins
|
|
42
|
+
* Prioritizes new @asia-ostrich marketplace, falls back to legacy @universal-dev-standards
|
|
38
43
|
* @param {Object} pluginsInfo - Installed plugins info
|
|
39
44
|
* @returns {Object|null} Plugin info or null
|
|
40
45
|
*/
|
|
@@ -43,16 +48,17 @@ function findUdsPlugin(pluginsInfo) {
|
|
|
43
48
|
return null;
|
|
44
49
|
}
|
|
45
50
|
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
// Priority order: new marketplace first, then legacy
|
|
52
|
+
const keysToCheck = [PLUGIN_KEY_NEW, PLUGIN_KEY_OLD];
|
|
53
|
+
|
|
54
|
+
for (const key of keysToCheck) {
|
|
55
|
+
const installations = pluginsInfo.plugins[key];
|
|
56
|
+
if (installations && installations.length > 0) {
|
|
57
|
+
return {
|
|
58
|
+
key,
|
|
59
|
+
isLegacyMarketplace: key === PLUGIN_KEY_OLD,
|
|
60
|
+
...installations[0]
|
|
61
|
+
};
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
|
|
@@ -105,11 +111,14 @@ export function skillsCommand() {
|
|
|
105
111
|
const skills = listSkillsInDir(udsPlugin.installPath);
|
|
106
112
|
if (skills.length > 0) {
|
|
107
113
|
installations.push({
|
|
108
|
-
location:
|
|
114
|
+
location: udsPlugin.isLegacyMarketplace
|
|
115
|
+
? 'Plugin Marketplace (legacy)'
|
|
116
|
+
: 'Plugin Marketplace',
|
|
109
117
|
path: udsPlugin.installPath,
|
|
110
118
|
version: udsPlugin.version || 'unknown',
|
|
111
119
|
skills,
|
|
112
|
-
recommended:
|
|
120
|
+
recommended: !udsPlugin.isLegacyMarketplace,
|
|
121
|
+
legacyMarketplace: udsPlugin.isLegacyMarketplace
|
|
113
122
|
});
|
|
114
123
|
}
|
|
115
124
|
}
|
|
@@ -178,7 +187,7 @@ export function skillsCommand() {
|
|
|
178
187
|
console.log();
|
|
179
188
|
console.log(chalk.gray('Install via Plugin Marketplace:'));
|
|
180
189
|
console.log(chalk.cyan(' /plugin marketplace add AsiaOstrich/universal-dev-standards'));
|
|
181
|
-
console.log(chalk.cyan(' /plugin install universal-dev-standards@
|
|
190
|
+
console.log(chalk.cyan(' /plugin install universal-dev-standards@asia-ostrich'));
|
|
182
191
|
console.log();
|
|
183
192
|
return;
|
|
184
193
|
}
|
|
@@ -188,6 +197,8 @@ export function skillsCommand() {
|
|
|
188
197
|
// Header
|
|
189
198
|
if (install.recommended) {
|
|
190
199
|
console.log(chalk.green(`✓ ${install.location}`) + chalk.gray(' (recommended)'));
|
|
200
|
+
} else if (install.legacyMarketplace) {
|
|
201
|
+
console.log(chalk.yellow(`⚠ ${install.location}`));
|
|
191
202
|
} else if (install.deprecated) {
|
|
192
203
|
console.log(chalk.yellow(`⚠ ${install.location}`));
|
|
193
204
|
} else {
|
|
@@ -201,17 +212,28 @@ export function skillsCommand() {
|
|
|
201
212
|
// Skills list
|
|
202
213
|
console.log(chalk.gray(` Skills (${install.skills.length}):`));
|
|
203
214
|
for (const skill of install.skills) {
|
|
204
|
-
const icon = install.deprecated
|
|
215
|
+
const icon = (install.deprecated || install.legacyMarketplace)
|
|
216
|
+
? chalk.yellow('○')
|
|
217
|
+
: chalk.green('✓');
|
|
205
218
|
console.log(` ${icon} ${skill}`);
|
|
206
219
|
}
|
|
207
220
|
console.log();
|
|
208
221
|
|
|
222
|
+
// Legacy marketplace migration notice
|
|
223
|
+
if (install.legacyMarketplace) {
|
|
224
|
+
console.log(chalk.yellow(' ⚠ Legacy marketplace detected.'));
|
|
225
|
+
console.log(chalk.gray(' Migrate to new marketplace for continued updates:'));
|
|
226
|
+
console.log(chalk.cyan(' /plugin uninstall universal-dev-standards@universal-dev-standards'));
|
|
227
|
+
console.log(chalk.cyan(' /plugin install universal-dev-standards@asia-ostrich'));
|
|
228
|
+
console.log();
|
|
229
|
+
}
|
|
230
|
+
|
|
209
231
|
// Deprecation warning
|
|
210
232
|
if (install.deprecated) {
|
|
211
233
|
console.log(chalk.yellow(' ⚠ Manual installation is deprecated.'));
|
|
212
234
|
console.log(chalk.gray(' Migrate to Plugin Marketplace for automatic updates:'));
|
|
213
235
|
console.log(chalk.cyan(' /plugin marketplace add AsiaOstrich/universal-dev-standards'));
|
|
214
|
-
console.log(chalk.cyan(' /plugin install universal-dev-standards@
|
|
236
|
+
console.log(chalk.cyan(' /plugin install universal-dev-standards@asia-ostrich'));
|
|
215
237
|
console.log();
|
|
216
238
|
}
|
|
217
239
|
}
|
|
@@ -231,3 +253,10 @@ export function skillsCommand() {
|
|
|
231
253
|
|
|
232
254
|
console.log();
|
|
233
255
|
}
|
|
256
|
+
|
|
257
|
+
// Export for testing
|
|
258
|
+
export const _testing = {
|
|
259
|
+
findUdsPlugin,
|
|
260
|
+
PLUGIN_KEY_NEW,
|
|
261
|
+
PLUGIN_KEY_OLD
|
|
262
|
+
};
|
package/src/prompts/init.js
CHANGED
|
@@ -108,7 +108,7 @@ export async function promptSkillsInstallLocation() {
|
|
|
108
108
|
console.log(chalk.gray(' → Automatic updates when new versions are released'));
|
|
109
109
|
console.log(chalk.gray(' → If not installed yet, run:'));
|
|
110
110
|
console.log(chalk.gray(' /plugin marketplace add AsiaOstrich/universal-dev-standards'));
|
|
111
|
-
console.log(chalk.gray(' /plugin install universal-dev-standards@
|
|
111
|
+
console.log(chalk.gray(' /plugin install universal-dev-standards@asia-ostrich'));
|
|
112
112
|
} else if (location === 'user') {
|
|
113
113
|
console.log(chalk.gray(' → Skills will be installed to ~/.claude/skills/'));
|
|
114
114
|
console.log(chalk.gray(' → Available across all your projects'));
|
package/standards-registry.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "3.3.0-beta.
|
|
3
|
+
"version": "3.3.0-beta.5",
|
|
4
4
|
"lastUpdated": "2026-01-07",
|
|
5
5
|
"description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
|
|
6
6
|
"formats": {
|
|
@@ -48,14 +48,14 @@
|
|
|
48
48
|
"standards": {
|
|
49
49
|
"name": "universal-dev-standards",
|
|
50
50
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
51
|
-
"version": "3.3.0-beta.
|
|
51
|
+
"version": "3.3.0-beta.5"
|
|
52
52
|
},
|
|
53
53
|
"skills": {
|
|
54
54
|
"name": "universal-dev-standards",
|
|
55
55
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
56
56
|
"localPath": "skills/claude-code",
|
|
57
57
|
"rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills/claude-code",
|
|
58
|
-
"version": "3.3.0-beta.
|
|
58
|
+
"version": "3.3.0-beta.5",
|
|
59
59
|
"note": "Skills are now included in the main repository under skills/"
|
|
60
60
|
}
|
|
61
61
|
},
|