aiblueprint-cli 1.4.39 → 1.4.41

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 (3) hide show
  1. package/README.md +32 -0
  2. package/dist/cli.js +84 -37
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -136,6 +136,38 @@ npx aiblueprint-cli@latest claude-code symlink
136
136
  - `cc` - Claude Code with permissions skipped
137
137
  - `ccc` - Claude Code with continue mode
138
138
 
139
+ ### Skills
140
+
141
+ Install individual skills directly into `~/.claude/skills/`:
142
+
143
+ ```bash
144
+ # Install a single skill
145
+ npx skills add Melvynx/aiblueprint --skill ultrathink
146
+
147
+ # Install multiple skills
148
+ npx skills add Melvynx/aiblueprint --skill claude-memory
149
+ npx skills add Melvynx/aiblueprint --skill fix-errors
150
+ ```
151
+
152
+ **Available skills:**
153
+
154
+ | Skill | Description |
155
+ |-------|-------------|
156
+ | `commit` | Quick commit and push with clean messages |
157
+ | `create-pr` | Auto-generated pull requests |
158
+ | `fix-pr-comments` | Resolve PR review comments |
159
+ | `merge` | Context-aware branch merging |
160
+ | `claude-memory` | CLAUDE.md and .claude/rules management |
161
+ | `prompt-creator` | Expert prompt engineering |
162
+ | `skill-creator` | Guide for creating Claude Code skills |
163
+ | `subagent-creator` | Guide for building subagents |
164
+ | `ralph-loop` | Autonomous AI coding loop |
165
+ | `fix-errors` | Fix ESLint and TypeScript errors |
166
+ | `fix-grammar` | Fix grammar and spelling |
167
+ | `oneshot` | Ultra-fast feature implementation |
168
+ | `ultrathink` | Deep thinking mode for elegant solutions |
169
+ | `apex-free` | APEX methodology (Analyze-Plan-Execute-eXamine) |
170
+
139
171
  ## 💎 Premium
140
172
 
141
173
  Unlock advanced features at [mlv.sh/claude-cli](https://mlv.sh/claude-cli)
package/dist/cli.js CHANGED
@@ -5,15 +5,29 @@ var __getProtoOf = Object.getPrototypeOf;
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ function __accessProp(key) {
9
+ return this[key];
10
+ }
11
+ var __toESMCache_node;
12
+ var __toESMCache_esm;
8
13
  var __toESM = (mod, isNodeMode, target) => {
14
+ var canCache = mod != null && typeof mod === "object";
15
+ if (canCache) {
16
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
17
+ var cached = cache.get(mod);
18
+ if (cached)
19
+ return cached;
20
+ }
9
21
  target = mod != null ? __create(__getProtoOf(mod)) : {};
10
22
  const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
11
23
  for (let key of __getOwnPropNames(mod))
12
24
  if (!__hasOwnProp.call(to, key))
13
25
  __defProp(to, key, {
14
- get: () => mod[key],
26
+ get: __accessProp.bind(mod, key),
15
27
  enumerable: true
16
28
  });
29
+ if (canCache)
30
+ cache.set(mod, to);
17
31
  return to;
18
32
  };
19
33
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
@@ -32921,45 +32935,78 @@ async function setupOpenCodeSymlink(claudeDir, customOpenCodeFolder, customClaud
32921
32935
  import { execSync } from "child_process";
32922
32936
  import path4 from "path";
32923
32937
  import os5 from "os";
32924
- async function checkAndInstallDependencies() {
32925
- const isWindows = os5.platform() === "win32";
32926
- const checkCommand = (cmd) => {
32927
- try {
32928
- const whichCmd = isWindows ? `where ${cmd}` : `which ${cmd}`;
32929
- execSync(whichCmd, { stdio: "ignore" });
32938
+ var isWindows = os5.platform() === "win32";
32939
+ function checkCommand(cmd) {
32940
+ try {
32941
+ const whichCmd = isWindows ? `where ${cmd}` : `which ${cmd}`;
32942
+ execSync(whichCmd, { stdio: "ignore" });
32943
+ return true;
32944
+ } catch {
32945
+ return false;
32946
+ }
32947
+ }
32948
+ function silentExec(command, options) {
32949
+ try {
32950
+ execSync(command, {
32951
+ stdio: "pipe",
32952
+ timeout: options?.timeout ?? 60000,
32953
+ cwd: options?.cwd,
32954
+ env: { ...process.env, CI: "true" }
32955
+ });
32956
+ return true;
32957
+ } catch {
32958
+ return false;
32959
+ }
32960
+ }
32961
+ function installBun() {
32962
+ if (!isWindows) {
32963
+ if (silentExec("curl -fsSL https://bun.sh/install | bash", { timeout: 120000 })) {
32930
32964
  return true;
32931
- } catch {
32932
- return false;
32933
32965
  }
32934
- };
32966
+ }
32967
+ return silentExec("npm install -g bun");
32968
+ }
32969
+ function installCcusage() {
32970
+ return silentExec("npm install -g ccusage");
32971
+ }
32972
+ function logSkipped(name) {
32973
+ console.log(source_default.gray(` ${name} already installed, skipping...`));
32974
+ }
32975
+ function logInstalling(name) {
32976
+ console.log(source_default.yellow(`
32977
+ Installing ${name}...`));
32978
+ }
32979
+ function logInstalled(name) {
32980
+ console.log(source_default.green(` ✓ ${name} installed`));
32981
+ }
32982
+ function logInstallFailed(name, manualCommand) {
32983
+ console.log("");
32984
+ console.log(source_default.yellow(` ⚠ Could not install ${name} automatically`));
32985
+ console.log(source_default.gray(` This is usually a permissions issue with npm global installs.`));
32986
+ console.log(source_default.gray(` Run this manually to fix it:
32987
+ `));
32988
+ console.log(source_default.white(` ${manualCommand}`));
32989
+ console.log("");
32990
+ }
32991
+ async function checkAndInstallDependencies() {
32935
32992
  if (checkCommand("bun")) {
32936
- console.log(source_default.gray(" bun already installed, skipping..."));
32993
+ logSkipped("bun");
32937
32994
  } else {
32938
- console.log(source_default.yellow(`
32939
- Installing bun...`));
32940
- try {
32941
- execSync("npm install -g bun", {
32942
- stdio: "inherit",
32943
- timeout: 60000,
32944
- env: { ...process.env, CI: "true" }
32945
- });
32946
- } catch {
32947
- console.log(source_default.yellow(" ⚠ Failed to install bun. Please install it manually: npm install -g bun"));
32995
+ logInstalling("bun");
32996
+ if (installBun()) {
32997
+ logInstalled("bun");
32998
+ } else {
32999
+ logInstallFailed("bun", isWindows ? "npm install -g bun" : "curl -fsSL https://bun.sh/install | bash");
32948
33000
  }
32949
33001
  }
32950
33002
  if (checkCommand("ccusage")) {
32951
- console.log(source_default.gray(" ccusage already installed, skipping..."));
33003
+ logSkipped("ccusage");
32952
33004
  } else {
32953
- console.log(source_default.yellow(`
32954
- Installing ccusage...`));
32955
- try {
32956
- execSync("npm install -g ccusage", {
32957
- stdio: "inherit",
32958
- timeout: 60000,
32959
- env: { ...process.env, CI: "true" }
32960
- });
32961
- } catch {
32962
- console.log(source_default.yellow(" ⚠ Failed to install ccusage. Please install it manually: npm install -g ccusage"));
33005
+ logInstalling("ccusage");
33006
+ if (installCcusage()) {
33007
+ logInstalled("ccusage");
33008
+ } else {
33009
+ logInstallFailed("ccusage", "sudo npm install -g ccusage");
32963
33010
  }
32964
33011
  }
32965
33012
  }
@@ -32970,7 +33017,7 @@ async function installScriptsDependencies(claudeDir) {
32970
33017
  try {
32971
33018
  execSync("bun install --no-save", {
32972
33019
  cwd: scriptsDir,
32973
- stdio: "inherit",
33020
+ stdio: "pipe",
32974
33021
  timeout: 60000,
32975
33022
  env: {
32976
33023
  ...process.env,
@@ -36510,10 +36557,10 @@ import { spawn as spawn2 } from "child_process";
36510
36557
  import { execSync as execSync4 } from "child_process";
36511
36558
  import path21 from "path";
36512
36559
  import os19 from "os";
36513
- function checkCommand(cmd) {
36560
+ function checkCommand2(cmd) {
36514
36561
  try {
36515
- const isWindows = os19.platform() === "win32";
36516
- const whichCmd = isWindows ? `where ${cmd}` : `which ${cmd}`;
36562
+ const isWindows2 = os19.platform() === "win32";
36563
+ const whichCmd = isWindows2 ? `where ${cmd}` : `which ${cmd}`;
36517
36564
  execSync4(whichCmd, { stdio: "ignore" });
36518
36565
  return true;
36519
36566
  } catch {
@@ -36534,7 +36581,7 @@ Usage: aiblueprint ${prefix} <action>`));
36534
36581
  `));
36535
36582
  }
36536
36583
  async function executeScript(scriptName, claudeDir) {
36537
- if (!checkCommand("bun")) {
36584
+ if (!checkCommand2("bun")) {
36538
36585
  console.error(source_default.red("Bun is not installed. Install with: npm install -g bun"));
36539
36586
  return 1;
36540
36587
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiblueprint-cli",
3
- "version": "1.4.39",
3
+ "version": "1.4.41",
4
4
  "description": "AIBlueprint CLI for setting up Claude Code configurations",
5
5
  "author": "AIBlueprint",
6
6
  "license": "MIT",