@axiomatic-labs/claudeflow 2.14.118 → 2.14.119
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 +0 -37
- package/package.json +1 -1
package/lib/install.js
CHANGED
|
@@ -11,7 +11,6 @@ const ui = require('./ui.js');
|
|
|
11
11
|
// claudeflow-* skill from the release while preserving any user-generated
|
|
12
12
|
// skills that are not part of the shipped asset.
|
|
13
13
|
const TEMPLATE_MANAGED_MANIFEST = path.join('.claudeflow', 'config', 'template-managed-manifest.json');
|
|
14
|
-
const CLAUDE_BACKUP_ROOT = '.claudeflow-backups';
|
|
15
14
|
const REQUIRED_TEMPLATE_RULES = [];
|
|
16
15
|
const LEGACY_TEMPLATE_RULES = ['claudeflow-implementation.md', 'example-rules.md'];
|
|
17
16
|
const SHARED_APPEND_PROMPT_TEMPLATE = path.join('.claudeflow', 'templates', 'claudeflow-core-system-prompt.md');
|
|
@@ -28,7 +27,6 @@ async function run() {
|
|
|
28
27
|
let copiedTemplateSkillCount = 0;
|
|
29
28
|
let staleRemovedCount = 0;
|
|
30
29
|
let managedPathCount = 0;
|
|
31
|
-
let backupPath = null;
|
|
32
30
|
|
|
33
31
|
ui.banner(current || undefined);
|
|
34
32
|
|
|
@@ -56,10 +54,6 @@ async function run() {
|
|
|
56
54
|
fs.mkdirSync(tmpExtract, { recursive: true });
|
|
57
55
|
|
|
58
56
|
const cwd = process.cwd();
|
|
59
|
-
backupPath = createPreInstallBackup(cwd, {
|
|
60
|
-
isUpdate,
|
|
61
|
-
currentVersion: current,
|
|
62
|
-
});
|
|
63
57
|
|
|
64
58
|
try {
|
|
65
59
|
ui.step('Extracting template files...');
|
|
@@ -299,9 +293,6 @@ async function run() {
|
|
|
299
293
|
ui.success(`${staleRemovedCount} stale template-managed files removed`);
|
|
300
294
|
ui.success(`Template-managed manifest updated (${managedPathCount} paths)`);
|
|
301
295
|
ui.info('Default Claude Code status line is seeded when missing. Existing custom statusLine settings are preserved on update and can be overridden in .claude/settings.local.json.');
|
|
302
|
-
if (backupPath) {
|
|
303
|
-
ui.success(`Backup created: ${path.relative(cwd, backupPath)}`);
|
|
304
|
-
}
|
|
305
296
|
|
|
306
297
|
if (current === version) {
|
|
307
298
|
ui.done(`Claudeflow ${version} reinstalled.`);
|
|
@@ -325,9 +316,6 @@ async function run() {
|
|
|
325
316
|
ui.success(`${docCount} docs installed`);
|
|
326
317
|
ui.success(`Template-managed manifest written (${managedPathCount} paths)`);
|
|
327
318
|
ui.info('Default Claude Code status line installed. Override it in .claude/settings.json or .claude/settings.local.json.');
|
|
328
|
-
if (backupPath) {
|
|
329
|
-
ui.success(`Backup created: ${path.relative(cwd, backupPath)}`);
|
|
330
|
-
}
|
|
331
319
|
|
|
332
320
|
ui.done(`Claudeflow ${version} installed.`);
|
|
333
321
|
}
|
|
@@ -936,31 +924,6 @@ function indexSerenaProject(projectRoot) {
|
|
|
936
924
|
}
|
|
937
925
|
}
|
|
938
926
|
|
|
939
|
-
function createPreInstallBackup(projectRoot, options = {}) {
|
|
940
|
-
const sourceClaudeDir = path.join(projectRoot, '.claude');
|
|
941
|
-
if (!fs.existsSync(sourceClaudeDir) || !fs.statSync(sourceClaudeDir).isDirectory()) {
|
|
942
|
-
return null;
|
|
943
|
-
}
|
|
944
|
-
|
|
945
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
946
|
-
const modeLabel = options.isUpdate ? 'update' : 'install';
|
|
947
|
-
const fromVersion = sanitizeForPath(options.currentVersion || 'none');
|
|
948
|
-
const backupDir = path.join(
|
|
949
|
-
projectRoot,
|
|
950
|
-
CLAUDE_BACKUP_ROOT,
|
|
951
|
-
`${timestamp}-${modeLabel}-from-${fromVersion}`,
|
|
952
|
-
'.claude',
|
|
953
|
-
);
|
|
954
|
-
|
|
955
|
-
ui.step('Creating safety backup of .claude...');
|
|
956
|
-
fs.mkdirSync(path.dirname(backupDir), { recursive: true });
|
|
957
|
-
copyDirSync(sourceClaudeDir, backupDir, new Set(['tmp']));
|
|
958
|
-
return path.dirname(backupDir);
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
function sanitizeForPath(value) {
|
|
962
|
-
return String(value || 'none').replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/-+/g, '-');
|
|
963
|
-
}
|
|
964
927
|
|
|
965
928
|
function normalizeRelativePath(value) {
|
|
966
929
|
return String(value || '').replace(/\\/g, '/').replace(/^\/+/, '');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axiomatic-labs/claudeflow",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.119",
|
|
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"
|