@chiendt/ack-cli 1.0.1-dev.1 → 1.0.1-dev.5
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/cli-manifest.json +88 -2
- package/dist/index.js +76 -10
- package/package.json +1 -1
package/cli-manifest.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.0.1-dev.
|
|
3
|
-
"generatedAt": "2026-05-
|
|
2
|
+
"version": "1.0.1-dev.5",
|
|
3
|
+
"generatedAt": "2026-05-20T10:05:13.303Z",
|
|
4
4
|
"commands": {
|
|
5
5
|
"agents": {
|
|
6
6
|
"name": "agents",
|
|
@@ -1810,6 +1810,92 @@
|
|
|
1810
1810
|
}
|
|
1811
1811
|
]
|
|
1812
1812
|
}
|
|
1813
|
+
],
|
|
1814
|
+
"subcommands": [
|
|
1815
|
+
{
|
|
1816
|
+
"name": "install",
|
|
1817
|
+
"description": "Run skills dependency install script (install.sh / install.ps1)",
|
|
1818
|
+
"usage": "ack setup install [options]",
|
|
1819
|
+
"examples": [
|
|
1820
|
+
{
|
|
1821
|
+
"command": "ack setup install",
|
|
1822
|
+
"description": "Run install script in ./.claude/skills"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
"command": "ack setup install --global",
|
|
1826
|
+
"description": "Run install script in ~/.claude/skills"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
"command": "ack setup install --dir /custom/path --with-sudo",
|
|
1830
|
+
"description": "Custom dir with sudo for system packages"
|
|
1831
|
+
}
|
|
1832
|
+
],
|
|
1833
|
+
"optionGroups": [
|
|
1834
|
+
{
|
|
1835
|
+
"title": "Options",
|
|
1836
|
+
"options": [
|
|
1837
|
+
{
|
|
1838
|
+
"flags": "--global",
|
|
1839
|
+
"description": "Use ~/.claude/skills"
|
|
1840
|
+
},
|
|
1841
|
+
{
|
|
1842
|
+
"flags": "--dir <dir>",
|
|
1843
|
+
"description": "Custom skills directory"
|
|
1844
|
+
},
|
|
1845
|
+
{
|
|
1846
|
+
"flags": "--with-sudo",
|
|
1847
|
+
"description": "Allow sudo for system packages (Linux)"
|
|
1848
|
+
},
|
|
1849
|
+
{
|
|
1850
|
+
"flags": "-y, --yes",
|
|
1851
|
+
"description": "Skip confirmation prompts"
|
|
1852
|
+
}
|
|
1853
|
+
]
|
|
1854
|
+
}
|
|
1855
|
+
]
|
|
1856
|
+
}
|
|
1857
|
+
]
|
|
1858
|
+
},
|
|
1859
|
+
"setup install": {
|
|
1860
|
+
"name": "setup install",
|
|
1861
|
+
"description": "Run skills dependency install script (install.sh / install.ps1)",
|
|
1862
|
+
"usage": "ack setup install [options]",
|
|
1863
|
+
"examples": [
|
|
1864
|
+
{
|
|
1865
|
+
"command": "ack setup install",
|
|
1866
|
+
"description": "Run install script in ./.claude/skills"
|
|
1867
|
+
},
|
|
1868
|
+
{
|
|
1869
|
+
"command": "ack setup install --global",
|
|
1870
|
+
"description": "Run install script in ~/.claude/skills"
|
|
1871
|
+
},
|
|
1872
|
+
{
|
|
1873
|
+
"command": "ack setup install --dir /custom/path --with-sudo",
|
|
1874
|
+
"description": "Custom dir with sudo for system packages"
|
|
1875
|
+
}
|
|
1876
|
+
],
|
|
1877
|
+
"optionGroups": [
|
|
1878
|
+
{
|
|
1879
|
+
"title": "Options",
|
|
1880
|
+
"options": [
|
|
1881
|
+
{
|
|
1882
|
+
"flags": "--global",
|
|
1883
|
+
"description": "Use ~/.claude/skills"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"flags": "--dir <dir>",
|
|
1887
|
+
"description": "Custom skills directory"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
"flags": "--with-sudo",
|
|
1891
|
+
"description": "Allow sudo for system packages (Linux)"
|
|
1892
|
+
},
|
|
1893
|
+
{
|
|
1894
|
+
"flags": "-y, --yes",
|
|
1895
|
+
"description": "Skip confirmation prompts"
|
|
1896
|
+
}
|
|
1897
|
+
]
|
|
1898
|
+
}
|
|
1813
1899
|
]
|
|
1814
1900
|
},
|
|
1815
1901
|
"skills": {
|
package/dist/index.js
CHANGED
|
@@ -63692,7 +63692,7 @@ var package_default;
|
|
|
63692
63692
|
var init_package = __esm(() => {
|
|
63693
63693
|
package_default = {
|
|
63694
63694
|
name: "@chiendt/ack-cli",
|
|
63695
|
-
version: "1.0.1-dev.
|
|
63695
|
+
version: "1.0.1-dev.5",
|
|
63696
63696
|
description: "ACK CLI - tool for bootstrapping and updating ACK kits (Claude Code agent kits)",
|
|
63697
63697
|
type: "module",
|
|
63698
63698
|
repository: {
|
|
@@ -76521,9 +76521,9 @@ async function listActiveWorktrees(projectDir) {
|
|
|
76521
76521
|
for (const line of output2.split(`
|
|
76522
76522
|
`)) {
|
|
76523
76523
|
if (line.startsWith("worktree ")) {
|
|
76524
|
-
const
|
|
76525
|
-
if (
|
|
76526
|
-
const num = Number.parseInt(
|
|
76524
|
+
const path10 = line.slice(9).replace(/\\/g, "/");
|
|
76525
|
+
if (path10.startsWith(worktreePrefix)) {
|
|
76526
|
+
const num = Number.parseInt(path10.slice(worktreePrefix.length), 10);
|
|
76527
76527
|
if (!Number.isNaN(num))
|
|
76528
76528
|
issueNumbers.push(num);
|
|
76529
76529
|
}
|
|
@@ -80968,9 +80968,45 @@ var init_projects_command_help = __esm(() => {
|
|
|
80968
80968
|
};
|
|
80969
80969
|
});
|
|
80970
80970
|
|
|
80971
|
+
// src/domains/help/commands/setup-install-command-help.ts
|
|
80972
|
+
var setupInstallCommandHelp;
|
|
80973
|
+
var init_setup_install_command_help = __esm(() => {
|
|
80974
|
+
setupInstallCommandHelp = {
|
|
80975
|
+
name: "setup install",
|
|
80976
|
+
description: "Run skills dependency install script (install.sh / install.ps1)",
|
|
80977
|
+
usage: "ack setup install [options]",
|
|
80978
|
+
examples: [
|
|
80979
|
+
{
|
|
80980
|
+
command: "ack setup install",
|
|
80981
|
+
description: "Run install script in ./.claude/skills"
|
|
80982
|
+
},
|
|
80983
|
+
{
|
|
80984
|
+
command: "ack setup install --global",
|
|
80985
|
+
description: "Run install script in ~/.claude/skills"
|
|
80986
|
+
},
|
|
80987
|
+
{
|
|
80988
|
+
command: "ack setup install --dir /custom/path --with-sudo",
|
|
80989
|
+
description: "Custom dir with sudo for system packages"
|
|
80990
|
+
}
|
|
80991
|
+
],
|
|
80992
|
+
optionGroups: [
|
|
80993
|
+
{
|
|
80994
|
+
title: "Options",
|
|
80995
|
+
options: [
|
|
80996
|
+
{ flags: "--global", description: "Use ~/.claude/skills" },
|
|
80997
|
+
{ flags: "--dir <dir>", description: "Custom skills directory" },
|
|
80998
|
+
{ flags: "--with-sudo", description: "Allow sudo for system packages (Linux)" },
|
|
80999
|
+
{ flags: "-y, --yes", description: "Skip confirmation prompts" }
|
|
81000
|
+
]
|
|
81001
|
+
}
|
|
81002
|
+
]
|
|
81003
|
+
};
|
|
81004
|
+
});
|
|
81005
|
+
|
|
80971
81006
|
// src/domains/help/commands/setup-command-help.ts
|
|
80972
81007
|
var setupCommandHelp;
|
|
80973
81008
|
var init_setup_command_help = __esm(() => {
|
|
81009
|
+
init_setup_install_command_help();
|
|
80974
81010
|
setupCommandHelp = {
|
|
80975
81011
|
name: "setup",
|
|
80976
81012
|
description: "Run guided setup for provider API keys, preferred image provider, and optional packages",
|
|
@@ -81008,6 +81044,15 @@ var init_setup_command_help = __esm(() => {
|
|
|
81008
81044
|
}
|
|
81009
81045
|
]
|
|
81010
81046
|
}
|
|
81047
|
+
],
|
|
81048
|
+
subcommands: [
|
|
81049
|
+
{
|
|
81050
|
+
name: "install",
|
|
81051
|
+
description: setupInstallCommandHelp.description,
|
|
81052
|
+
usage: setupInstallCommandHelp.usage,
|
|
81053
|
+
examples: setupInstallCommandHelp.examples,
|
|
81054
|
+
optionGroups: setupInstallCommandHelp.optionGroups
|
|
81055
|
+
}
|
|
81011
81056
|
]
|
|
81012
81057
|
};
|
|
81013
81058
|
});
|
|
@@ -81395,6 +81440,7 @@ var init_commands2 = __esm(() => {
|
|
|
81395
81440
|
init_plan_command_help();
|
|
81396
81441
|
init_projects_command_help();
|
|
81397
81442
|
init_setup_command_help();
|
|
81443
|
+
init_setup_install_command_help();
|
|
81398
81444
|
init_skills_command_help();
|
|
81399
81445
|
init_uninstall_command_help();
|
|
81400
81446
|
init_update_command_help();
|
|
@@ -81425,6 +81471,7 @@ var init_help_commands = __esm(() => {
|
|
|
81425
81471
|
plan: planCommandHelp,
|
|
81426
81472
|
projects: projectsCommandHelp,
|
|
81427
81473
|
setup: setupCommandHelp,
|
|
81474
|
+
"setup install": setupInstallCommandHelp,
|
|
81428
81475
|
skills: skillsCommandHelp,
|
|
81429
81476
|
uninstall: uninstallCommandHelp,
|
|
81430
81477
|
update: updateCommandHelp,
|
|
@@ -108963,6 +109010,22 @@ async function setupCommand(options2) {
|
|
|
108963
109010
|
f2.success(`Installed packages: ${ctx.packagesInstalled.join(", ")}`);
|
|
108964
109011
|
}
|
|
108965
109012
|
}
|
|
109013
|
+
// src/commands/setup/setup-install-command.ts
|
|
109014
|
+
init_package_installer();
|
|
109015
|
+
init_logger();
|
|
109016
|
+
init_path_resolver();
|
|
109017
|
+
import path9 from "node:path";
|
|
109018
|
+
async function setupInstallCommand(options2) {
|
|
109019
|
+
if (options2.dir && options2.global) {
|
|
109020
|
+
logger.error("--dir and --global are mutually exclusive. Use one or the other.");
|
|
109021
|
+
process.exit(1);
|
|
109022
|
+
}
|
|
109023
|
+
const resolvedDir = options2.dir ? path9.resolve(options2.dir) : PathResolver.buildSkillsPath(options2.global ? PathResolver.getGlobalKitDir() : process.cwd(), !!options2.global);
|
|
109024
|
+
await handleSkillsInstallation(resolvedDir, {
|
|
109025
|
+
skipConfirm: !!options2.yes,
|
|
109026
|
+
withSudo: !!options2.withSudo
|
|
109027
|
+
});
|
|
109028
|
+
}
|
|
108966
109029
|
// src/commands/skills/skills-command.ts
|
|
108967
109030
|
init_dist2();
|
|
108968
109031
|
init_skill_catalog_generator();
|
|
@@ -112355,6 +112418,9 @@ function registerCommands(cli) {
|
|
|
112355
112418
|
cli.command("setup", "Configure API keys and optional packages").option("--global", "Configure globally (~/.claude/)").option("--skip-packages", "Skip optional package installation").option("--dir <dir>", "Target directory (default: current directory)").action(async (options2) => {
|
|
112356
112419
|
await setupCommand(options2);
|
|
112357
112420
|
});
|
|
112421
|
+
cli.command("setup install", "Run skills dependency install script").option("--global", "Use ~/.claude/skills").option("--dir <dir>", "Custom skills directory").option("--with-sudo", "Allow sudo for system packages (Linux)").option("-y, --yes", "Skip confirmation prompts").action(async (options2) => {
|
|
112422
|
+
await setupInstallCommand(options2);
|
|
112423
|
+
});
|
|
112358
112424
|
cli.command("skills", "Install AckKit skills to other coding agents").option("-n, --name <skill>", "Skill name to install/uninstall").option("-a, --agent <agents...>", "Target agents (claude-code, cursor, codex, etc.)").option("-g, --global", "Install/uninstall globally instead of project-level").option("-l, --list", "List available skills").option("--installed", "Show installed skills (use with --list)").option("--all", "Install to all supported agents").option("-u, --uninstall", "Uninstall skill(s)").option("--force", "Force uninstall even if not in registry").option("--sync", "Sync registry with filesystem (remove orphans)").option("-y, --yes", "Skip confirmation prompts").option("--catalog", "Show skill catalog stats").option("--regenerate", "Force regenerate catalog (use with --catalog)").option("--search <query>", "BM25 full-text search over skill catalog").option("--json", "Output search results as JSON (use with --search)").option("--limit <n>", "Max search results, default 10 (use with --search)").option("--validate", "Validate SKILL.md frontmatter fields").action(async (options2) => {
|
|
112359
112425
|
if (options2.agent && !Array.isArray(options2.agent)) {
|
|
112360
112426
|
options2.agent = [options2.agent];
|
|
@@ -112379,8 +112445,8 @@ function registerCommands(cli) {
|
|
|
112379
112445
|
cli.command("plan [action] [target]", "Plan management: parse, validate, status, kanban, create, check, uncheck, add-phase").option("--json", "Output in JSON format").option("--strict", "Strict validation mode").option("--port <port>", "Port for kanban dashboard").option("--no-open", "Don't auto-open browser").option("--dev", "Development mode for dashboard").option("-g, --global", "Use global plans scope (~/.claude/plans or configured global root)").option("--title <title>", "Plan title (for create)").option("--phases <phases>", "Comma-separated phase names (for create)").option("--dir <dir>", "Plan directory (for create)").option("--priority <priority>", "Priority: P1, P2, P3 (for create)").option("--issue <issue>", "GitHub issue number (for create)").option("--after <after>", "Insert after phase ID (for add-phase)").option("--start", "Mark as in-progress instead of completed (for check)").option("--source <source>", "Creation source: skill | cli | dashboard (for create)").option("--session-id <id>", "Claude session ID for tracking (for create)").action(async (action, target, options2) => {
|
|
112380
112446
|
await planCommand(action, target, options2);
|
|
112381
112447
|
});
|
|
112382
|
-
cli.command("api [action] [service] [path]", "Interact with AckKit API and proxy services").option("--method <method>", "HTTP method for proxy requests (default: GET)").option("--body <json>", "Request body as JSON string (proxy only)").option("--query <json>", "Query params as JSON string (proxy only)").option("--key <key>", "API key to use (setup only)").option("--force", "Force re-setup even if key exists (setup only)").option("--json", "Output raw JSON instead of formatted display").option("--locale <locale>", "Locale for vidcap summary/caption (default: en)").option("--max-results <n>", "Max results for vidcap search").option("--second <s>", "Timestamp in seconds for vidcap screenshot").option("--order <order>", "Sort order for vidcap comments (time/relevance)").option("--format <fmt>", "Summary format for reviewweb (bullet/paragraph)").option("--max-length <n>", "Max summary length for reviewweb").option("--instructions <text>", "Extraction instructions for reviewweb extract").option("--template <json>", "JSON template for reviewweb extract").option("--type <type>", "Link type filter for reviewweb links (web/image/file/all)").option("--country <code>", "Country code for reviewweb SEO commands").action(async (action, service,
|
|
112383
|
-
await apiCommand(action, service,
|
|
112448
|
+
cli.command("api [action] [service] [path]", "Interact with AckKit API and proxy services").option("--method <method>", "HTTP method for proxy requests (default: GET)").option("--body <json>", "Request body as JSON string (proxy only)").option("--query <json>", "Query params as JSON string (proxy only)").option("--key <key>", "API key to use (setup only)").option("--force", "Force re-setup even if key exists (setup only)").option("--json", "Output raw JSON instead of formatted display").option("--locale <locale>", "Locale for vidcap summary/caption (default: en)").option("--max-results <n>", "Max results for vidcap search").option("--second <s>", "Timestamp in seconds for vidcap screenshot").option("--order <order>", "Sort order for vidcap comments (time/relevance)").option("--format <fmt>", "Summary format for reviewweb (bullet/paragraph)").option("--max-length <n>", "Max summary length for reviewweb").option("--instructions <text>", "Extraction instructions for reviewweb extract").option("--template <json>", "JSON template for reviewweb extract").option("--type <type>", "Link type filter for reviewweb links (web/image/file/all)").option("--country <code>", "Country code for reviewweb SEO commands").action(async (action, service, path10, options2) => {
|
|
112449
|
+
await apiCommand(action, service, path10, options2);
|
|
112384
112450
|
});
|
|
112385
112451
|
cli.command("migrate", "Migrate agents, commands, skills, config, rules, and hooks to other providers").option("-a, --agent <agents...>", "Target providers (cursor, codex, droid, opencode, etc.)").option("-g, --global", "Install globally instead of project-level").option("--all", "Migrate to all supported providers").option("-y, --yes", "Skip confirmation prompts").option("--only-agents", "Migrate agents only").option("--only-commands", "Migrate commands only").option("--only-skills", "Migrate skills only").option("--config", "Migrate CLAUDE.md config only").option("--rules", "Migrate .claude/rules/ only").option("--hooks", "Migrate .claude/hooks/ only").option("--skip-agents", "Skip agents migration").option("--skip-commands", "Skip commands migration").option("--skip-skills", "Skip skills migration (preserve symlinks/custom layouts)").option("--skip-config", "Skip config migration").option("--skip-rules", "Skip rules migration").option("--skip-hooks", "Skip hooks migration").option("--source <path>", "Custom CLAUDE.md source path (config only, not agents/commands/skills/hooks)").option("--dry-run", "Preview migration targets without writing files").option("-f, --force", "Force reinstall deleted/edited items").option("--install", "Opt-in install picker mode (select specific items to install)").option("--reconcile", "Force reconcile mode (current default when registry is valid)").option("--reinstall-empty-dirs", "Reinstall all items when their type directory is empty (default: true)").option("--respect-deletions", "Preserve deletion even when type directory is empty (disables reinstall-empty-dirs)").action(async (options2) => {
|
|
112386
112452
|
if (options2.agent && !Array.isArray(options2.agent)) {
|
|
@@ -112841,18 +112907,18 @@ class Logger2 {
|
|
|
112841
112907
|
isVerbose() {
|
|
112842
112908
|
return this.verboseEnabled;
|
|
112843
112909
|
}
|
|
112844
|
-
setLogFile(
|
|
112910
|
+
setLogFile(path10) {
|
|
112845
112911
|
if (this.logFileStream) {
|
|
112846
112912
|
this.logFileStream.end();
|
|
112847
112913
|
this.logFileStream = undefined;
|
|
112848
112914
|
}
|
|
112849
|
-
if (
|
|
112850
|
-
this.logFileStream = createWriteStream5(
|
|
112915
|
+
if (path10) {
|
|
112916
|
+
this.logFileStream = createWriteStream5(path10, {
|
|
112851
112917
|
flags: "a",
|
|
112852
112918
|
mode: 384
|
|
112853
112919
|
});
|
|
112854
112920
|
this.registerExitHandler();
|
|
112855
|
-
this.verbose(`Logging to file: ${
|
|
112921
|
+
this.verbose(`Logging to file: ${path10}`);
|
|
112856
112922
|
}
|
|
112857
112923
|
}
|
|
112858
112924
|
close() {
|