@axiomatic-labs/claudeflow 2.10.190 → 2.10.192
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/lib/install.js +22 -30
- package/package.json +1 -1
package/lib/install.js
CHANGED
|
@@ -126,6 +126,27 @@ async function run() {
|
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
// Copy browser observer extension
|
|
130
|
+
const srcExtension = path.join(srcClaude, 'browser-observer-extension');
|
|
131
|
+
const dstExtension = path.join(cwd, '.claude', 'browser-observer-extension');
|
|
132
|
+
if (fs.existsSync(srcExtension)) {
|
|
133
|
+
copyDirSync(srcExtension, dstExtension);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// Copy rules
|
|
137
|
+
const srcRules = path.join(srcClaude, 'rules');
|
|
138
|
+
const dstRules = path.join(cwd, '.claude', 'rules');
|
|
139
|
+
if (fs.existsSync(srcRules)) {
|
|
140
|
+
copyDirSync(srcRules, dstRules);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Copy commands
|
|
144
|
+
const srcCommands = path.join(srcClaude, 'commands');
|
|
145
|
+
const dstCommands = path.join(cwd, '.claude', 'commands');
|
|
146
|
+
if (fs.existsSync(srcCommands)) {
|
|
147
|
+
copyDirSync(srcCommands, dstCommands);
|
|
148
|
+
}
|
|
149
|
+
|
|
129
150
|
// Copy all docs
|
|
130
151
|
const srcDocs = path.join(srcClaude, 'docs');
|
|
131
152
|
const dstDocs = path.join(cwd, '.claude', 'docs');
|
|
@@ -275,41 +296,12 @@ function showGettingStarted(cwd) {
|
|
|
275
296
|
console.log('');
|
|
276
297
|
}
|
|
277
298
|
|
|
278
|
-
// Install
|
|
299
|
+
// Install ast-grep CLI, uv, and Serena MCP for runtime and analysis.
|
|
279
300
|
// All steps are best-effort — failures warn but never block the install.
|
|
280
301
|
function installAnalysisTools() {
|
|
281
302
|
console.log('');
|
|
282
303
|
ui.step('Setting up runtime & analysis tools...');
|
|
283
304
|
|
|
284
|
-
// 0. bun (required by runtime observer for browser error detection)
|
|
285
|
-
const hasBun = commandExists('bun');
|
|
286
|
-
if (hasBun) {
|
|
287
|
-
ui.success('bun already installed');
|
|
288
|
-
} else {
|
|
289
|
-
ui.step('Installing bun (runtime for browser observer)...');
|
|
290
|
-
try {
|
|
291
|
-
if (process.platform === 'win32') {
|
|
292
|
-
execSync('powershell -ExecutionPolicy ByPass -c "irm bun.sh/install.ps1 | iex"', {
|
|
293
|
-
stdio: 'pipe',
|
|
294
|
-
timeout: 60000,
|
|
295
|
-
});
|
|
296
|
-
} else {
|
|
297
|
-
execSync('curl -fsSL https://bun.sh/install | bash', {
|
|
298
|
-
stdio: 'pipe',
|
|
299
|
-
timeout: 60000,
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
const bunInstalled = commandExists('bun') || commandExists(path.join(homedir(), '.bun', 'bin', 'bun'));
|
|
303
|
-
if (bunInstalled) {
|
|
304
|
-
ui.success('bun installed');
|
|
305
|
-
} else {
|
|
306
|
-
ui.warn('bun installed but not in PATH — restart your terminal for browser observer to work');
|
|
307
|
-
}
|
|
308
|
-
} catch {
|
|
309
|
-
ui.warn('bun install failed — browser error observer will not be available');
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
|
|
313
305
|
// 1. ast-grep CLI
|
|
314
306
|
const hasAstGrep = commandExists('sg');
|
|
315
307
|
if (hasAstGrep) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axiomatic-labs/claudeflow",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.192",
|
|
4
4
|
"description": "Claudeflow — AI-powered development toolkit for Claude Code. Skills, agents, hooks, and quality gates that ship production apps.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"claudeflow": "./bin/cli.js"
|