specweave 1.0.474 → 1.0.476
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.
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Refresh SpecWeave Plugins
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* When Claude Code CLI is available and supports plugin commands, uses the
|
|
5
|
+
* native `claude plugin install` flow for proper marketplace registration,
|
|
6
|
+
* settings enablement, and scope management.
|
|
7
|
+
*
|
|
8
|
+
* Falls back to direct file copy into .claude/skills/ when Claude CLI is
|
|
9
|
+
* unavailable (e.g. Cursor, Windsurf, or other non-Claude tools).
|
|
6
10
|
*
|
|
7
11
|
* @since 1.0.279
|
|
8
12
|
* @updated 1.0.535 - Migrated from CLI-based install to direct file copy
|
|
13
|
+
* @updated 1.0.475 - Restored native Claude CLI install when available
|
|
9
14
|
*/
|
|
10
15
|
export interface RefreshPluginsOptions {
|
|
11
16
|
verbose?: boolean;
|
|
@@ -14,7 +19,11 @@ export interface RefreshPluginsOptions {
|
|
|
14
19
|
all?: boolean;
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
|
-
* Refresh plugins
|
|
22
|
+
* Refresh plugins using the best available installation method.
|
|
23
|
+
*
|
|
24
|
+
* When Claude Code CLI is available, uses native `claude plugin install` for
|
|
25
|
+
* proper marketplace registration, scope management, and settings enablement.
|
|
26
|
+
* Falls back to direct file copy when CLI is unavailable.
|
|
18
27
|
*
|
|
19
28
|
* Always installs all plugins. Uses hash comparison to skip unchanged ones.
|
|
20
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-plugins.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/refresh-plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refresh-plugins.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/refresh-plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAsBH,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yEAAyE;IACzE,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAoDD;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG9F"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Refresh SpecWeave Plugins
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* When Claude Code CLI is available and supports plugin commands, uses the
|
|
5
|
+
* native `claude plugin install` flow for proper marketplace registration,
|
|
6
|
+
* settings enablement, and scope management.
|
|
7
|
+
*
|
|
8
|
+
* Falls back to direct file copy into .claude/skills/ when Claude CLI is
|
|
9
|
+
* unavailable (e.g. Cursor, Windsurf, or other non-Claude tools).
|
|
6
10
|
*
|
|
7
11
|
* @since 1.0.279
|
|
8
12
|
* @updated 1.0.535 - Migrated from CLI-based install to direct file copy
|
|
13
|
+
* @updated 1.0.475 - Restored native Claude CLI install when available
|
|
9
14
|
*/
|
|
10
15
|
import chalk from 'chalk';
|
|
11
16
|
import * as fs from 'fs';
|
|
12
17
|
import * as path from 'path';
|
|
13
18
|
import { consoleLogger as logger } from '../../utils/logger.js';
|
|
14
19
|
import { getDirname } from '../../utils/esm-helpers.js';
|
|
15
|
-
import { copyPluginSkillsToProject, findSpecweaveRoot, } from '../../utils/plugin-copier.js';
|
|
20
|
+
import { copyPluginSkillsToProject, installPlugin, findSpecweaveRoot, } from '../../utils/plugin-copier.js';
|
|
16
21
|
import { getProjectRoot } from '../../utils/find-project-root.js';
|
|
22
|
+
import { detectClaudeCli } from '../../utils/claude-cli-detector.js';
|
|
23
|
+
import { enablePluginsInSettings } from '../helpers/init/claude-plugin-enabler.js';
|
|
17
24
|
const __dirname = getDirname(import.meta.url);
|
|
18
25
|
// ---------------------------------------------------------------------------
|
|
19
26
|
// Helpers
|
|
@@ -56,13 +63,34 @@ function getAvailablePlugins(marketplacePath) {
|
|
|
56
63
|
// Main command
|
|
57
64
|
// ---------------------------------------------------------------------------
|
|
58
65
|
/**
|
|
59
|
-
* Refresh plugins
|
|
66
|
+
* Refresh plugins using the best available installation method.
|
|
67
|
+
*
|
|
68
|
+
* When Claude Code CLI is available, uses native `claude plugin install` for
|
|
69
|
+
* proper marketplace registration, scope management, and settings enablement.
|
|
70
|
+
* Falls back to direct file copy when CLI is unavailable.
|
|
60
71
|
*
|
|
61
72
|
* Always installs all plugins. Uses hash comparison to skip unchanged ones.
|
|
62
73
|
*/
|
|
63
74
|
export async function refreshPluginsCommand(options = {}) {
|
|
75
|
+
// Step 0: Detect Claude CLI for native install support.
|
|
76
|
+
// Wrapped in try-catch because detectClaudeCli() spawns child processes
|
|
77
|
+
// (which, claude --version, claude plugin --help) that could fail unexpectedly.
|
|
78
|
+
let useNativeCli = false;
|
|
79
|
+
try {
|
|
80
|
+
const cliStatus = detectClaudeCli();
|
|
81
|
+
useNativeCli = cliStatus.available && cliStatus.pluginCommandsWork;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// CLI detection failed — fall back to direct copy silently
|
|
85
|
+
logger.debug('Claude CLI detection failed, falling back to direct copy');
|
|
86
|
+
}
|
|
64
87
|
console.log(chalk.blue.bold('\n SpecWeave Plugin Refresh'));
|
|
65
|
-
|
|
88
|
+
if (useNativeCli) {
|
|
89
|
+
console.log(chalk.blue.bold(` Mode: native Claude CLI (claude plugin install)\n`));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.log(chalk.blue.bold(` Mode: direct copy to .claude/skills/\n`));
|
|
93
|
+
}
|
|
66
94
|
// Step 1: Find specweave root
|
|
67
95
|
const specweaveRoot = resolveSpecweaveRoot();
|
|
68
96
|
if (!specweaveRoot) {
|
|
@@ -79,23 +107,36 @@ export async function refreshPluginsCommand(options = {}) {
|
|
|
79
107
|
return;
|
|
80
108
|
}
|
|
81
109
|
console.log(chalk.gray(` Found ${allPlugins.length} plugins in marketplace.json`));
|
|
82
|
-
// Step 3: Determine project root
|
|
110
|
+
// Step 3: Determine project root (always needed — fallback copy uses it,
|
|
111
|
+
// and installPlugin() calls getProjectRoot() internally for the lockfile)
|
|
83
112
|
const projectRoot = getProjectRoot();
|
|
84
|
-
// Step 4: Process each plugin
|
|
113
|
+
// Step 4: Process each plugin
|
|
85
114
|
let installed = 0;
|
|
86
115
|
let skipped = 0;
|
|
87
116
|
let failed = 0;
|
|
117
|
+
const installedPluginNames = [];
|
|
88
118
|
for (const plugin of allPlugins) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
119
|
+
let result;
|
|
120
|
+
if (useNativeCli) {
|
|
121
|
+
// Try native install first; fall back to direct copy if it fails
|
|
122
|
+
result = installPlugin(plugin.name, specweaveRoot, { force: options.force });
|
|
123
|
+
if (!result.success) {
|
|
124
|
+
logger.debug(`Native install failed for ${plugin.name}, trying direct copy`);
|
|
125
|
+
result = copyPluginSkillsToProject(plugin.name, specweaveRoot, projectRoot, { force: options.force });
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
result = copyPluginSkillsToProject(plugin.name, specweaveRoot, projectRoot, { force: options.force });
|
|
130
|
+
}
|
|
92
131
|
if (result.success && result.skipped) {
|
|
93
132
|
console.log(chalk.green(` ✓ ${plugin.name}: active`));
|
|
94
133
|
skipped++;
|
|
134
|
+
installedPluginNames.push(plugin.name);
|
|
95
135
|
}
|
|
96
136
|
else if (result.success) {
|
|
97
137
|
console.log(chalk.green(` + ${plugin.name}: installed`));
|
|
98
138
|
installed++;
|
|
139
|
+
installedPluginNames.push(plugin.name);
|
|
99
140
|
}
|
|
100
141
|
else {
|
|
101
142
|
console.log(chalk.red(` ✗ ${plugin.name}: failed`));
|
|
@@ -105,6 +146,13 @@ export async function refreshPluginsCommand(options = {}) {
|
|
|
105
146
|
failed++;
|
|
106
147
|
}
|
|
107
148
|
}
|
|
149
|
+
// Step 4b: Enable plugins in Claude Code settings (native mode only)
|
|
150
|
+
if (useNativeCli && installedPluginNames.length > 0) {
|
|
151
|
+
const enabled = enablePluginsInSettings(installedPluginNames);
|
|
152
|
+
if (!enabled) {
|
|
153
|
+
console.log(chalk.yellow(' ⚠ Could not enable plugins in ~/.claude/settings.json'));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
108
156
|
// Step 5: Summary
|
|
109
157
|
console.log('');
|
|
110
158
|
console.log(chalk.blue.bold(' Summary'));
|
|
@@ -117,7 +165,12 @@ export async function refreshPluginsCommand(options = {}) {
|
|
|
117
165
|
if (installed === 0 && skipped === 0 && failed === 0) {
|
|
118
166
|
console.log(chalk.gray(' No plugins processed'));
|
|
119
167
|
}
|
|
120
|
-
|
|
168
|
+
if (useNativeCli) {
|
|
169
|
+
console.log(chalk.gray(` Location: ~/.claude/plugins/cache/ (native)`));
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
console.log(chalk.gray(` Location: .claude/skills/ (project-local)`));
|
|
173
|
+
}
|
|
121
174
|
console.log('');
|
|
122
175
|
}
|
|
123
176
|
//# sourceMappingURL=refresh-plugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh-plugins.js","sourceRoot":"","sources":["../../../../src/cli/commands/refresh-plugins.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"refresh-plugins.js","sourceRoot":"","sources":["../../../../src/cli/commands/refresh-plugins.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.476",
|
|
4
4
|
"description": "100+ domain-expert AI skills — PM, Architect, Frontend, QA, Security and more. Skills learn your team's patterns permanently. Spec-first planning, autonomous execution, multi-agent teams, synced to GitHub/JIRA. Claude Code, Cursor, Copilot & more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|