aiblueprint-cli 1.4.22 → 1.4.23

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.
Files changed (2) hide show
  1. package/dist/cli.js +46 -3
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -33100,6 +33100,43 @@ function transformHook(hook, claudeDir) {
33100
33100
  }
33101
33101
  return transformed;
33102
33102
  }
33103
+ var TEXT_FILE_EXTENSIONS = new Set([
33104
+ ".ts",
33105
+ ".tsx",
33106
+ ".js",
33107
+ ".jsx",
33108
+ ".mjs",
33109
+ ".cjs",
33110
+ ".json",
33111
+ ".jsonl",
33112
+ ".md",
33113
+ ".mdx",
33114
+ ".txt",
33115
+ ".sh",
33116
+ ".bash",
33117
+ ".zsh",
33118
+ ".yaml",
33119
+ ".yml",
33120
+ ".toml",
33121
+ ".ini",
33122
+ ".cfg",
33123
+ ".html",
33124
+ ".css",
33125
+ ".scss",
33126
+ ".less"
33127
+ ]);
33128
+ function isTextFile(filePath) {
33129
+ const ext = filePath.toLowerCase().slice(filePath.lastIndexOf("."));
33130
+ return TEXT_FILE_EXTENSIONS.has(ext);
33131
+ }
33132
+ function transformFileContent(content, claudeDir) {
33133
+ let transformed = content;
33134
+ for (const pattern of KNOWN_CLAUDE_PATHS) {
33135
+ transformed = transformed.replace(new RegExp(pattern.source, "g"), `${claudeDir}/`);
33136
+ }
33137
+ transformed = transformed.replace(/\\/g, "/");
33138
+ return transformed;
33139
+ }
33103
33140
 
33104
33141
  // src/commands/setup/settings.ts
33105
33142
  function toPosixPath(p) {
@@ -35389,7 +35426,7 @@ async function analyzeSyncChanges(claudeDir, githubToken) {
35389
35426
  unchangedCount: allItems.filter((i) => i.status === "unchanged").length
35390
35427
  };
35391
35428
  }
35392
- async function downloadFromPrivateGitHub2(relativePath, targetPath, githubToken) {
35429
+ async function downloadFromPrivateGitHub2(relativePath, targetPath, githubToken, claudeDir) {
35393
35430
  try {
35394
35431
  const url = `https://raw.githubusercontent.com/${PREMIUM_REPO2}/${PREMIUM_BRANCH2}/claude-code-config/${relativePath}`;
35395
35432
  const response = await fetch(url, {
@@ -35403,7 +35440,13 @@ async function downloadFromPrivateGitHub2(relativePath, targetPath, githubToken)
35403
35440
  }
35404
35441
  const content = await response.arrayBuffer();
35405
35442
  await import_fs_extra11.default.ensureDir(path13.dirname(targetPath));
35406
- await import_fs_extra11.default.writeFile(targetPath, Buffer.from(content));
35443
+ if (isTextFile(relativePath)) {
35444
+ const textContent = Buffer.from(content).toString("utf-8");
35445
+ const transformedContent = transformFileContent(textContent, claudeDir);
35446
+ await import_fs_extra11.default.writeFile(targetPath, transformedContent, "utf-8");
35447
+ } else {
35448
+ await import_fs_extra11.default.writeFile(targetPath, Buffer.from(content));
35449
+ }
35407
35450
  return true;
35408
35451
  } catch {
35409
35452
  return false;
@@ -35463,7 +35506,7 @@ async function syncSelectedItems(claudeDir, items, githubToken, onProgress) {
35463
35506
  }
35464
35507
  } else {
35465
35508
  onProgress?.(item.relativePath, item.status === "new" ? "adding" : "updating");
35466
- const ok = await downloadFromPrivateGitHub2(item.relativePath, targetPath, githubToken);
35509
+ const ok = await downloadFromPrivateGitHub2(item.relativePath, targetPath, githubToken, claudeDir);
35467
35510
  if (ok) {
35468
35511
  success++;
35469
35512
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiblueprint-cli",
3
- "version": "1.4.22",
3
+ "version": "1.4.23",
4
4
  "description": "AIBlueprint CLI for setting up Claude Code configurations",
5
5
  "author": "AIBlueprint",
6
6
  "license": "MIT",