claude-code-arcane 2.9.7 → 2.9.8
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/CHANGELOG.md +7 -0
- package/dist/cli.js +33 -18
- package/package.json +1 -1
- package/profiles/core.yaml +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
## [2.9.8](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.9.7...v2.9.8) (2026-09-09)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **statusline:** point the global install at the script it owns ([1a8aada](https://github.com/SebastianLuser/claude-code-arcane/commit/1a8aada612e7f2bad2d60450306c0d51887f6b65))
|
|
7
|
+
|
|
1
8
|
## [2.9.7](https://github.com/SebastianLuser/claude-code-arcane/compare/v2.9.6...v2.9.7) (2026-09-08)
|
|
2
9
|
|
|
3
10
|
|
package/dist/cli.js
CHANGED
|
@@ -397,6 +397,14 @@ import os from "os";
|
|
|
397
397
|
function arcaneHome() {
|
|
398
398
|
return process.env.ARCANE_HOME ?? path3.join(os.homedir(), ".arcane");
|
|
399
399
|
}
|
|
400
|
+
var RELATIVE_STATUSLINE_COMMAND = "bash .claude/statusline.sh";
|
|
401
|
+
function statuslineCommand(target) {
|
|
402
|
+
if (path3.resolve(target) !== path3.resolve(os.homedir())) {
|
|
403
|
+
return RELATIVE_STATUSLINE_COMMAND;
|
|
404
|
+
}
|
|
405
|
+
const script = path3.join(target, ".claude", "statusline.sh").replace(/\\/g, "/");
|
|
406
|
+
return `bash "${script}"`;
|
|
407
|
+
}
|
|
400
408
|
function getPackageRoot() {
|
|
401
409
|
const thisFile = fileURLToPath(import.meta.url);
|
|
402
410
|
return path3.resolve(path3.dirname(thisFile), "..");
|
|
@@ -1243,7 +1251,7 @@ var Installer = class {
|
|
|
1243
1251
|
if (this.hasStatusline) {
|
|
1244
1252
|
settings.statusLine = {
|
|
1245
1253
|
type: "command",
|
|
1246
|
-
command:
|
|
1254
|
+
command: statuslineCommand(this.target)
|
|
1247
1255
|
};
|
|
1248
1256
|
}
|
|
1249
1257
|
const activeStyle = this.merged.output_styles[0];
|
|
@@ -1926,7 +1934,7 @@ async function addCommand(items = []) {
|
|
|
1926
1934
|
manifest.profile_command = manifest.profiles.filter((p3) => p3 !== "core").join("+");
|
|
1927
1935
|
}
|
|
1928
1936
|
if (statuslineAdded) {
|
|
1929
|
-
addStatuslineToSettings(claudeDir);
|
|
1937
|
+
addStatuslineToSettings(target, claudeDir);
|
|
1930
1938
|
}
|
|
1931
1939
|
} else {
|
|
1932
1940
|
const result = addSkill(root, target, item, manifest.installed_skills);
|
|
@@ -2046,14 +2054,14 @@ function mergePermissions(claudeDir, newPerms) {
|
|
|
2046
2054
|
settings.permissions = perms;
|
|
2047
2055
|
writeJsonSync(settingsPath, settings);
|
|
2048
2056
|
}
|
|
2049
|
-
function addStatuslineToSettings(claudeDir) {
|
|
2057
|
+
function addStatuslineToSettings(target, claudeDir) {
|
|
2050
2058
|
const settingsPath = path14.join(claudeDir, "settings.json");
|
|
2051
2059
|
if (!fs12.existsSync(settingsPath)) return;
|
|
2052
2060
|
const settings = readJsonSync(settingsPath);
|
|
2053
2061
|
if (settings.statusLine) return;
|
|
2054
2062
|
settings.statusLine = {
|
|
2055
2063
|
type: "command",
|
|
2056
|
-
command:
|
|
2064
|
+
command: statuslineCommand(target)
|
|
2057
2065
|
};
|
|
2058
2066
|
writeJsonSync(settingsPath, settings);
|
|
2059
2067
|
}
|
|
@@ -2867,22 +2875,29 @@ function syncUnhashedFiles(root, claudeDir, merged, dryRun) {
|
|
|
2867
2875
|
fs15.mkdirSync(path17.dirname(t.dst), { recursive: true });
|
|
2868
2876
|
fs15.copyFileSync(t.src, t.dst);
|
|
2869
2877
|
}
|
|
2870
|
-
const
|
|
2871
|
-
if (
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2878
|
+
const settingsPath = path17.join(claudeDir, "settings.json");
|
|
2879
|
+
if (fs15.existsSync(settingsPath)) {
|
|
2880
|
+
try {
|
|
2881
|
+
const settings = JSON.parse(fs15.readFileSync(settingsPath, "utf-8"));
|
|
2882
|
+
let dirty = false;
|
|
2883
|
+
const activeStyle = merged.output_styles[0];
|
|
2884
|
+
if (activeStyle && settings.outputStyle !== activeStyle) {
|
|
2885
|
+
changed.push(`settings.json (outputStyle: ${activeStyle})`);
|
|
2886
|
+
settings.outputStyle = activeStyle;
|
|
2887
|
+
dirty = true;
|
|
2888
|
+
}
|
|
2889
|
+
const wanted = statuslineCommand(path17.dirname(claudeDir));
|
|
2890
|
+
const current = settings.statusLine;
|
|
2891
|
+
if (wanted !== RELATIVE_STATUSLINE_COMMAND && current && current.command !== wanted) {
|
|
2892
|
+
changed.push("settings.json (statusLine path)");
|
|
2893
|
+
settings.statusLine = { ...current, command: wanted };
|
|
2894
|
+
dirty = true;
|
|
2895
|
+
}
|
|
2896
|
+
if (dirty && !dryRun) {
|
|
2897
|
+
fs15.writeFileSync(settingsPath, `${JSON.stringify(settings, null, 2)}
|
|
2881
2898
|
`, "utf-8");
|
|
2882
|
-
}
|
|
2883
|
-
}
|
|
2884
|
-
} catch {
|
|
2885
2899
|
}
|
|
2900
|
+
} catch {
|
|
2886
2901
|
}
|
|
2887
2902
|
}
|
|
2888
2903
|
return changed;
|
package/package.json
CHANGED