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.
- package/README.md +32 -0
- package/dist/cli.js +84 -37
- 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: (
|
|
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
|
-
|
|
32925
|
-
|
|
32926
|
-
|
|
32927
|
-
|
|
32928
|
-
|
|
32929
|
-
|
|
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
|
-
|
|
32993
|
+
logSkipped("bun");
|
|
32937
32994
|
} else {
|
|
32938
|
-
|
|
32939
|
-
|
|
32940
|
-
|
|
32941
|
-
|
|
32942
|
-
|
|
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
|
-
|
|
33003
|
+
logSkipped("ccusage");
|
|
32952
33004
|
} else {
|
|
32953
|
-
|
|
32954
|
-
|
|
32955
|
-
|
|
32956
|
-
|
|
32957
|
-
|
|
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: "
|
|
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
|
|
36560
|
+
function checkCommand2(cmd) {
|
|
36514
36561
|
try {
|
|
36515
|
-
const
|
|
36516
|
-
const whichCmd =
|
|
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 (!
|
|
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
|
}
|