@agents-inc/cli 0.73.0 → 0.74.1
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 +23 -0
- package/dist/{chunk-WJL4KU5V.js → chunk-4CRWKTNQ.js} +1 -22
- package/dist/{chunk-WJL4KU5V.js.map → chunk-4CRWKTNQ.js.map} +1 -1
- package/dist/{chunk-4KLUOFP6.js → chunk-ANUYSHQA.js} +2 -2
- package/dist/{chunk-OLWGGD4G.js → chunk-B7KVPY3Z.js} +3 -3
- package/dist/{chunk-T7QY777F.js → chunk-BM5Y6LIC.js} +2 -2
- package/dist/{chunk-6JRQPSKV.js → chunk-IJLAVOKZ.js} +2 -2
- package/dist/{chunk-Y47CLMWE.js → chunk-J5T7M2CS.js} +2 -2
- package/dist/{chunk-PNZCVOCE.js → chunk-J6SHWAS6.js} +4 -4
- package/dist/{chunk-KE2EAVFQ.js → chunk-JWZLVWTX.js} +4 -4
- package/dist/{chunk-3K6FSET7.js → chunk-KTF5RKKP.js} +3 -3
- package/dist/{chunk-G23HPF6K.js → chunk-NTVY4G35.js} +3 -3
- package/dist/{chunk-GSFZDUV2.js → chunk-QJUPZPXO.js} +4 -4
- package/dist/{chunk-ZBLSWJFM.js → chunk-RRBWNEG3.js} +2 -2
- package/dist/{chunk-K7WYMQQB.js → chunk-UFAP6GHD.js} +9 -9
- package/dist/{chunk-JHMECCBN.js → chunk-VOYGRNLS.js} +2 -2
- package/dist/{chunk-H4ETXZVL.js → chunk-WQRFVEAA.js} +3 -3
- package/dist/{chunk-3REVX6S5.js → chunk-XP7BXHFG.js} +2 -2
- package/dist/{chunk-EMWP363L.js → chunk-ZCJ4YYWL.js} +37 -30
- package/dist/chunk-ZCJ4YYWL.js.map +1 -0
- package/dist/{chunk-3VNQPCOE.js → chunk-ZLMKEYDF.js} +15 -11
- package/dist/chunk-ZLMKEYDF.js.map +1 -0
- package/dist/{chunk-Y4VUU5BT.js → chunk-ZO7C5WMJ.js} +3 -3
- package/dist/commands/build/marketplace.js +3 -3
- package/dist/commands/build/plugins.js +5 -5
- package/dist/commands/build/stack.js +5 -5
- package/dist/commands/compile.js +5 -5
- package/dist/commands/config/index.js +5 -5
- package/dist/commands/config/path.js +4 -4
- package/dist/commands/config/show.js +5 -5
- package/dist/commands/diff.js +4 -4
- package/dist/commands/doctor.js +4 -4
- package/dist/commands/edit.js +15 -17
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/eject.js +5 -5
- package/dist/commands/eject.js.map +1 -1
- package/dist/commands/import/skill.js +4 -4
- package/dist/commands/info.js +4 -4
- package/dist/commands/init.js +15 -15
- package/dist/commands/list.js +4 -4
- package/dist/commands/new/agent.js +5 -5
- package/dist/commands/new/marketplace.js +6 -6
- package/dist/commands/new/skill.js +5 -5
- package/dist/commands/outdated.js +4 -4
- package/dist/commands/search.js +4 -4
- package/dist/commands/uninstall.js +7 -5
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/validate.js +4 -4
- package/dist/components/wizard/category-grid.test.js +4 -4
- package/dist/components/wizard/domain-selection.js +5 -5
- package/dist/components/wizard/source-grid.test.js +4 -4
- package/dist/components/wizard/stack-selection.js +5 -5
- package/dist/components/wizard/step-agents.js +5 -5
- package/dist/components/wizard/step-agents.test.js +5 -5
- package/dist/components/wizard/step-build.js +5 -5
- package/dist/components/wizard/step-build.test.js +5 -5
- package/dist/components/wizard/step-confirm.test.js +4 -4
- package/dist/components/wizard/step-settings.js +4 -4
- package/dist/components/wizard/step-settings.test.js +7 -7
- package/dist/components/wizard/step-sources.js +5 -5
- package/dist/components/wizard/step-sources.test.js +5 -5
- package/dist/components/wizard/step-stack.js +7 -7
- package/dist/components/wizard/step-stack.test.js +7 -7
- package/dist/components/wizard/wizard-layout.js +5 -5
- package/dist/components/wizard/wizard.js +13 -13
- package/dist/hooks/init.js +15 -15
- package/dist/{loader-XQ3WBTVP.js → loader-NHUCFMFQ.js} +3 -3
- package/dist/{source-loader-F4PGP6LH.js → source-loader-RTG42MWG.js} +4 -4
- package/dist/{source-manager-QCIO4XZK.js → source-manager-NCOFHYHD.js} +4 -4
- package/dist/stores/wizard-store.js +4 -4
- package/dist/stores/wizard-store.test.js +4 -4
- package/package.json +1 -1
- package/dist/chunk-3VNQPCOE.js.map +0 -1
- package/dist/chunk-EMWP363L.js.map +0 -1
- /package/dist/{chunk-4KLUOFP6.js.map → chunk-ANUYSHQA.js.map} +0 -0
- /package/dist/{chunk-OLWGGD4G.js.map → chunk-B7KVPY3Z.js.map} +0 -0
- /package/dist/{chunk-T7QY777F.js.map → chunk-BM5Y6LIC.js.map} +0 -0
- /package/dist/{chunk-6JRQPSKV.js.map → chunk-IJLAVOKZ.js.map} +0 -0
- /package/dist/{chunk-Y47CLMWE.js.map → chunk-J5T7M2CS.js.map} +0 -0
- /package/dist/{chunk-PNZCVOCE.js.map → chunk-J6SHWAS6.js.map} +0 -0
- /package/dist/{chunk-KE2EAVFQ.js.map → chunk-JWZLVWTX.js.map} +0 -0
- /package/dist/{chunk-3K6FSET7.js.map → chunk-KTF5RKKP.js.map} +0 -0
- /package/dist/{chunk-G23HPF6K.js.map → chunk-NTVY4G35.js.map} +0 -0
- /package/dist/{chunk-GSFZDUV2.js.map → chunk-QJUPZPXO.js.map} +0 -0
- /package/dist/{chunk-ZBLSWJFM.js.map → chunk-RRBWNEG3.js.map} +0 -0
- /package/dist/{chunk-K7WYMQQB.js.map → chunk-UFAP6GHD.js.map} +0 -0
- /package/dist/{chunk-JHMECCBN.js.map → chunk-VOYGRNLS.js.map} +0 -0
- /package/dist/{chunk-H4ETXZVL.js.map → chunk-WQRFVEAA.js.map} +0 -0
- /package/dist/{chunk-3REVX6S5.js.map → chunk-XP7BXHFG.js.map} +0 -0
- /package/dist/{chunk-Y4VUU5BT.js.map → chunk-ZO7C5WMJ.js.map} +0 -0
- /package/dist/{loader-XQ3WBTVP.js.map → loader-NHUCFMFQ.js.map} +0 -0
- /package/dist/{source-loader-F4PGP6LH.js.map → source-loader-RTG42MWG.js.map} +0 -0
- /package/dist/{source-manager-QCIO4XZK.js.map → source-manager-NCOFHYHD.js.map} +0 -0
package/dist/commands/init.js
CHANGED
|
@@ -4,17 +4,17 @@ import {
|
|
|
4
4
|
formatDashboardText,
|
|
5
5
|
getDashboardData,
|
|
6
6
|
showDashboard
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-ZCJ4YYWL.js";
|
|
8
|
+
import "../chunk-UFAP6GHD.js";
|
|
9
|
+
import "../chunk-J5T7M2CS.js";
|
|
10
10
|
import "../chunk-SXGBPQY6.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-WQRFVEAA.js";
|
|
12
|
+
import "../chunk-KTF5RKKP.js";
|
|
13
13
|
import "../chunk-HGTC76BX.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-JWZLVWTX.js";
|
|
15
|
+
import "../chunk-VOYGRNLS.js";
|
|
16
|
+
import "../chunk-XP7BXHFG.js";
|
|
17
|
+
import "../chunk-ZO7C5WMJ.js";
|
|
18
18
|
import "../chunk-K77I4XGL.js";
|
|
19
19
|
import "../chunk-NUJHWYCR.js";
|
|
20
20
|
import "../chunk-MWGDG4QN.js";
|
|
@@ -23,7 +23,7 @@ import "../chunk-7SOPVGDV.js";
|
|
|
23
23
|
import "../chunk-2MHSOPIU.js";
|
|
24
24
|
import "../chunk-KSMT5FVM.js";
|
|
25
25
|
import "../chunk-GG4BSB6S.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-ANUYSHQA.js";
|
|
27
27
|
import "../chunk-BH4LN7XV.js";
|
|
28
28
|
import "../chunk-OV5UJWS5.js";
|
|
29
29
|
import "../chunk-XMLCXRTS.js";
|
|
@@ -32,17 +32,17 @@ import "../chunk-AUNBGZS4.js";
|
|
|
32
32
|
import "../chunk-KYULKBFC.js";
|
|
33
33
|
import "../chunk-WF5PMBIR.js";
|
|
34
34
|
import "../chunk-KUV24B5M.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-B7KVPY3Z.js";
|
|
36
36
|
import "../chunk-T5DJCIUP.js";
|
|
37
37
|
import "../chunk-U3IGFMCY.js";
|
|
38
38
|
import "../chunk-6VIOO74O.js";
|
|
39
39
|
import "../chunk-CXRVM7BA.js";
|
|
40
|
-
import "../chunk-
|
|
41
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-ZLMKEYDF.js";
|
|
41
|
+
import "../chunk-RRBWNEG3.js";
|
|
42
42
|
import "../chunk-EMX7PA2I.js";
|
|
43
43
|
import "../chunk-E74Q7GUE.js";
|
|
44
|
-
import "../chunk-
|
|
45
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-IJLAVOKZ.js";
|
|
45
|
+
import "../chunk-4CRWKTNQ.js";
|
|
46
46
|
import "../chunk-SRIH4U5Y.js";
|
|
47
47
|
import "../chunk-EGMQ3SXN.js";
|
|
48
48
|
import "../chunk-NKKYTCBH.js";
|
package/dist/commands/list.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
formatInstallationDisplay,
|
|
4
4
|
getInstallationInfo
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
6
|
+
import "../chunk-RRBWNEG3.js";
|
|
7
7
|
import "../chunk-EMX7PA2I.js";
|
|
8
8
|
import "../chunk-E74Q7GUE.js";
|
|
9
9
|
import {
|
|
10
10
|
BaseCommand
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
12
|
+
import "../chunk-4CRWKTNQ.js";
|
|
13
13
|
import "../chunk-SRIH4U5Y.js";
|
|
14
14
|
import {
|
|
15
15
|
CLI_BIN_NAME,
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
getAgentDefinitions
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-J6SHWAS6.js";
|
|
5
5
|
import {
|
|
6
6
|
isClaudeCLIAvailable,
|
|
7
7
|
loadConfigTypesDataInBackground,
|
|
8
8
|
regenerateConfigTypes,
|
|
9
9
|
resolveSource
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-ZLMKEYDF.js";
|
|
11
|
+
import "../../chunk-RRBWNEG3.js";
|
|
12
12
|
import "../../chunk-EMX7PA2I.js";
|
|
13
13
|
import "../../chunk-E74Q7GUE.js";
|
|
14
14
|
import {
|
|
15
15
|
BaseCommand,
|
|
16
16
|
EXIT_CODES
|
|
17
|
-
} from "../../chunk-
|
|
17
|
+
} from "../../chunk-IJLAVOKZ.js";
|
|
18
18
|
import {
|
|
19
19
|
fileExists,
|
|
20
20
|
getErrorMessage,
|
|
21
21
|
readFile
|
|
22
|
-
} from "../../chunk-
|
|
22
|
+
} from "../../chunk-4CRWKTNQ.js";
|
|
23
23
|
import "../../chunk-SRIH4U5Y.js";
|
|
24
24
|
import {
|
|
25
25
|
CLAUDE_DIR,
|
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
import {
|
|
3
3
|
generateSkillCategoriesTs,
|
|
4
4
|
generateSkillRulesTs
|
|
5
|
-
} from "../../chunk-
|
|
5
|
+
} from "../../chunk-QJUPZPXO.js";
|
|
6
6
|
import {
|
|
7
7
|
generateMarketplace,
|
|
8
8
|
writeMarketplace
|
|
9
|
-
} from "../../chunk-
|
|
9
|
+
} from "../../chunk-BM5Y6LIC.js";
|
|
10
10
|
import {
|
|
11
11
|
LOCAL_DEFAULTS,
|
|
12
12
|
compileAllSkillPlugins,
|
|
13
13
|
generateConfigSource,
|
|
14
14
|
loadConfigTypesDataInBackground,
|
|
15
15
|
regenerateConfigTypes
|
|
16
|
-
} from "../../chunk-
|
|
17
|
-
import "../../chunk-
|
|
16
|
+
} from "../../chunk-ZLMKEYDF.js";
|
|
17
|
+
import "../../chunk-RRBWNEG3.js";
|
|
18
18
|
import "../../chunk-EMX7PA2I.js";
|
|
19
19
|
import "../../chunk-E74Q7GUE.js";
|
|
20
20
|
import {
|
|
21
21
|
BaseCommand,
|
|
22
22
|
EXIT_CODES
|
|
23
|
-
} from "../../chunk-
|
|
23
|
+
} from "../../chunk-IJLAVOKZ.js";
|
|
24
24
|
import {
|
|
25
25
|
directoryExists,
|
|
26
26
|
ensureDir,
|
|
27
27
|
getErrorMessage,
|
|
28
28
|
writeFile
|
|
29
|
-
} from "../../chunk-
|
|
29
|
+
} from "../../chunk-4CRWKTNQ.js";
|
|
30
30
|
import "../../chunk-SRIH4U5Y.js";
|
|
31
31
|
import {
|
|
32
32
|
CLAUDE_SRC_DIR,
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
generateSkillRulesTs,
|
|
8
8
|
toTitleCase,
|
|
9
9
|
validateSkillName
|
|
10
|
-
} from "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
10
|
+
} from "../../chunk-QJUPZPXO.js";
|
|
11
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
12
|
+
import "../../chunk-RRBWNEG3.js";
|
|
13
13
|
import "../../chunk-EMX7PA2I.js";
|
|
14
14
|
import "../../chunk-E74Q7GUE.js";
|
|
15
|
-
import "../../chunk-
|
|
16
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-IJLAVOKZ.js";
|
|
16
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
17
17
|
import "../../chunk-SRIH4U5Y.js";
|
|
18
18
|
import "../../chunk-EGMQ3SXN.js";
|
|
19
19
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
compareLocalSkillsWithSource,
|
|
4
4
|
detectInstallation,
|
|
5
5
|
loadSkillsMatrixFromSource
|
|
6
|
-
} from "../chunk-
|
|
7
|
-
import "../chunk-
|
|
6
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
7
|
+
import "../chunk-RRBWNEG3.js";
|
|
8
8
|
import {
|
|
9
9
|
typedEntries
|
|
10
10
|
} from "../chunk-EMX7PA2I.js";
|
|
@@ -12,11 +12,11 @@ import "../chunk-E74Q7GUE.js";
|
|
|
12
12
|
import {
|
|
13
13
|
BaseCommand,
|
|
14
14
|
EXIT_CODES
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
16
16
|
import {
|
|
17
17
|
fileExists,
|
|
18
18
|
getErrorMessage
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-4CRWKTNQ.js";
|
|
20
20
|
import "../chunk-SRIH4U5Y.js";
|
|
21
21
|
import {
|
|
22
22
|
CLI_BIN_NAME,
|
package/dist/commands/search.js
CHANGED
|
@@ -14,23 +14,23 @@ import {
|
|
|
14
14
|
fetchFromSource,
|
|
15
15
|
loadSkillsMatrixFromSource,
|
|
16
16
|
resolveAllSources
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
18
18
|
import {
|
|
19
19
|
parseFrontmatter
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-RRBWNEG3.js";
|
|
21
21
|
import "../chunk-EMX7PA2I.js";
|
|
22
22
|
import "../chunk-E74Q7GUE.js";
|
|
23
23
|
import {
|
|
24
24
|
BaseCommand,
|
|
25
25
|
EXIT_CODES
|
|
26
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
27
27
|
import {
|
|
28
28
|
copy,
|
|
29
29
|
ensureDir,
|
|
30
30
|
fileExists,
|
|
31
31
|
listDirectories,
|
|
32
32
|
readFile
|
|
33
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-4CRWKTNQ.js";
|
|
34
34
|
import "../chunk-SRIH4U5Y.js";
|
|
35
35
|
import {
|
|
36
36
|
DEFAULT_SKILLS_SUBDIR,
|
|
@@ -13,20 +13,20 @@ import {
|
|
|
13
13
|
listPluginNames,
|
|
14
14
|
loadProjectSourceConfig,
|
|
15
15
|
readForkedFromMetadata
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
17
|
+
import "../chunk-RRBWNEG3.js";
|
|
18
18
|
import "../chunk-EMX7PA2I.js";
|
|
19
19
|
import "../chunk-E74Q7GUE.js";
|
|
20
20
|
import {
|
|
21
21
|
BaseCommand,
|
|
22
22
|
EXIT_CODES
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
24
24
|
import {
|
|
25
25
|
directoryExists,
|
|
26
26
|
getErrorMessage,
|
|
27
27
|
listDirectories,
|
|
28
28
|
remove
|
|
29
|
-
} from "../chunk-
|
|
29
|
+
} from "../chunk-4CRWKTNQ.js";
|
|
30
30
|
import "../chunk-SRIH4U5Y.js";
|
|
31
31
|
import {
|
|
32
32
|
CLAUDE_DIR,
|
|
@@ -44,6 +44,7 @@ init_esm_shims();
|
|
|
44
44
|
import { Flags } from "@oclif/core";
|
|
45
45
|
import { render, Box, Text, useApp } from "ink";
|
|
46
46
|
import path from "path";
|
|
47
|
+
import os from "os";
|
|
47
48
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
48
49
|
function collectConfiguredSources(config) {
|
|
49
50
|
if (!config) return [];
|
|
@@ -252,7 +253,8 @@ var Uninstall = class _Uninstall extends BaseCommand {
|
|
|
252
253
|
for (const pluginName of target.pluginNames) {
|
|
253
254
|
if (cliAvailable) {
|
|
254
255
|
try {
|
|
255
|
-
|
|
256
|
+
const pluginScope = projectDir === os.homedir() ? "user" : "project";
|
|
257
|
+
await claudePluginUninstall(pluginName, pluginScope, projectDir);
|
|
256
258
|
} catch {
|
|
257
259
|
}
|
|
258
260
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/commands/uninstall.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Flags } from \"@oclif/core\";\nimport { render, Box, Text, useApp } from \"ink\";\nimport path from \"path\";\n\nimport { BaseCommand } from \"../base-command\";\nimport { Confirm } from \"../components/common/confirm\";\nimport { getErrorMessage } from \"../utils/errors\";\nimport { directoryExists, listDirectories, remove } from \"../utils/fs\";\nimport { claudePluginUninstall, isClaudeCLIAvailable } from \"../utils/exec\";\nimport { listPluginNames, getProjectPluginsDir } from \"../lib/plugins\";\nimport { readForkedFromMetadata } from \"../lib/skills\";\nimport { loadProjectSourceConfig } from \"../lib/configuration/config\";\nimport type { ProjectConfig } from \"../types\";\nimport { CLAUDE_DIR, CLAUDE_SRC_DIR, CLI_COLORS, DEFAULT_BRANDING } from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport { SUCCESS_MESSAGES, INFO_MESSAGES } from \"../utils/messages\";\n\ntype UninstallTarget = {\n hasPlugins: boolean;\n pluginNames: string[];\n hasLocalSkills: boolean;\n hasLocalAgents: boolean;\n hasClaudeDir: boolean;\n hasClaudeSrcDir: boolean;\n pluginsDir: string;\n skillsDir: string;\n agentsDir: string;\n claudeDir: string;\n claudeSrcDir: string;\n /** Resolved project source config from .claude-src/config.ts */\n config: Partial<ProjectConfig> | null;\n /** All configured source URLs (primary + extras) */\n configuredSources: string[];\n /** Agent names from the generated config (e.g., [\"web-developer\"]) */\n configuredAgents: string[];\n};\n\nfunction collectConfiguredSources(config: Partial<ProjectConfig> | null): string[] {\n if (!config) return [];\n return [\n ...(config.source ? [config.source] : []),\n ...(config.sources?.map((entry) => entry.url) ?? []),\n ];\n}\n\nfunction collectConfiguredAgents(config: Partial<ProjectConfig> | null): string[] {\n if (!config?.agents) return [];\n return config.agents.map((a) => a.name);\n}\n\nasync function detectUninstallTarget(projectDir: string): Promise<UninstallTarget> {\n const pluginsDir = getProjectPluginsDir(projectDir);\n const skillsDir = path.join(projectDir, CLAUDE_DIR, \"skills\");\n const agentsDir = path.join(projectDir, CLAUDE_DIR, \"agents\");\n const claudeDir = path.join(projectDir, CLAUDE_DIR);\n const claudeSrcDir = path.join(projectDir, CLAUDE_SRC_DIR);\n\n const [hasLocalSkills, hasLocalAgents, hasClaudeDir, hasClaudeSrcDir, config] = await Promise.all(\n [\n directoryExists(skillsDir),\n directoryExists(agentsDir),\n directoryExists(claudeDir),\n directoryExists(claudeSrcDir),\n loadProjectSourceConfig(projectDir),\n ],\n );\n\n let pluginNames: string[] = [];\n try {\n pluginNames = await listPluginNames(projectDir);\n } catch {\n // Best-effort: plugin detection may fail\n }\n\n const configuredSources = collectConfiguredSources(config);\n const configuredAgents = collectConfiguredAgents(config);\n\n return {\n hasPlugins: pluginNames.length > 0,\n pluginNames,\n hasLocalSkills,\n hasLocalAgents,\n hasClaudeDir,\n hasClaudeSrcDir,\n pluginsDir,\n skillsDir,\n agentsDir,\n claudeDir,\n claudeSrcDir,\n config,\n configuredSources,\n configuredAgents,\n };\n}\n\ntype UninstallConfirmProps = {\n target: UninstallTarget;\n removeAll: boolean;\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nconst UninstallConfirm: React.FC<UninstallConfirmProps> = ({\n target,\n removeAll,\n onConfirm,\n onCancel,\n}) => {\n const { exit } = useApp();\n\n return (\n <Box flexDirection=\"column\">\n <Text bold>The following will be removed:</Text>\n <Text> </Text>\n\n {target.hasPlugins && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> Plugins:</Text>\n <Text dimColor> {target.pluginsDir}</Text>\n </Box>\n )}\n\n {(target.hasLocalSkills || target.hasLocalAgents) && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> CLI-managed files:</Text>\n {target.hasLocalSkills && <Text dimColor> {target.skillsDir}/ (matching sources)</Text>}\n {target.hasLocalAgents && <Text dimColor> {target.agentsDir}/ (CLI-compiled)</Text>}\n </Box>\n )}\n\n {removeAll && target.hasClaudeSrcDir && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> Config:</Text>\n <Text dimColor> {target.claudeSrcDir}/</Text>\n </Box>\n )}\n\n <Text> </Text>\n <Confirm\n message=\"Are you sure you want to uninstall?\"\n onConfirm={() => {\n onConfirm();\n exit();\n }}\n onCancel={() => {\n onCancel();\n exit();\n }}\n defaultValue={false}\n />\n </Box>\n );\n};\n\nasync function isDirectoryEmpty(dirPath: string): Promise<boolean> {\n const { readdir } = await import(\"fs/promises\");\n try {\n const allEntries = await readdir(dirPath);\n return allEntries.length === 0;\n } catch {\n return true;\n }\n}\n\nfunction skillMatchesConfiguredSource(\n forkedFromSource: string | undefined,\n configuredSources: string[],\n): boolean {\n if (!forkedFromSource || configuredSources.length === 0) return false;\n return configuredSources.includes(forkedFromSource);\n}\n\nfunction shouldRemoveSkill(\n forkedFrom: { source?: string } | null,\n configuredSources: string[],\n hasConfig: boolean,\n): boolean {\n return (\n forkedFrom !== null &&\n (skillMatchesConfiguredSource(forkedFrom.source, configuredSources) ||\n (!forkedFrom.source && hasConfig))\n );\n}\n\nexport default class Uninstall extends BaseCommand {\n static summary = `Remove ${DEFAULT_BRANDING.NAME} from this project`;\n\n static description = `Uninstall ${DEFAULT_BRANDING.NAME} from this project. Removes CLI-managed skills (matched by source), compiled agents, and plugins. User-created content is preserved.`;\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --yes\",\n \"<%= config.bin %> <%= command.id %> --all\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n yes: Flags.boolean({\n char: \"y\",\n description: \"Skip confirmation prompt\",\n default: false,\n }),\n all: Flags.boolean({\n description: \"Also remove .claude-src/ config directory\",\n default: false,\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Uninstall);\n const projectDir = process.cwd();\n\n this.log(\"\");\n this.log(`${DEFAULT_BRANDING.NAME} Uninstall`);\n this.log(\"\");\n\n const target = await detectUninstallTarget(projectDir);\n\n const hasAnythingToRemove =\n target.hasPlugins ||\n target.hasLocalSkills ||\n target.hasLocalAgents ||\n (flags.all && target.hasClaudeSrcDir);\n\n if (!hasAnythingToRemove) {\n this.warn(\"Nothing to uninstall.\");\n this.log(\"\");\n this.log(INFO_MESSAGES.NOT_INSTALLED);\n this.log(\"\");\n this.log(INFO_MESSAGES.NO_CHANGES_MADE);\n return;\n }\n\n if (!flags.yes) {\n const confirmed = await new Promise<boolean>((resolve) => {\n const { waitUntilExit } = render(\n <UninstallConfirm\n target={target}\n removeAll={flags.all}\n onConfirm={() => resolve(true)}\n onCancel={() => resolve(false)}\n />,\n );\n\n waitUntilExit().catch(() => resolve(false));\n });\n\n if (!confirmed) {\n this.log(\"\");\n this.log(\"Uninstall cancelled\");\n this.exit(EXIT_CODES.CANCELLED);\n }\n } else {\n this.log(\"The following will be removed:\");\n this.log(\"\");\n\n if (target.hasPlugins) {\n this.log(\" Plugins:\");\n this.log(` ${target.pluginsDir}`);\n }\n\n if (target.hasLocalSkills || target.hasLocalAgents) {\n this.log(\" CLI-managed files:\");\n if (target.hasLocalSkills) {\n this.log(` ${target.skillsDir}/ (matching sources)`);\n }\n if (target.hasLocalAgents) {\n this.log(` ${target.agentsDir}/ (CLI-compiled)`);\n }\n }\n\n if (flags.all && target.hasClaudeSrcDir) {\n this.log(\" Config:\");\n this.log(` ${target.claudeSrcDir}/`);\n }\n\n this.log(\"\");\n }\n\n if (target.hasPlugins) {\n this.log(\"Uninstalling plugins...\");\n\n try {\n const cliAvailable = await isClaudeCLIAvailable();\n\n for (const pluginName of target.pluginNames) {\n if (cliAvailable) {\n try {\n await claudePluginUninstall(pluginName, \"project\", projectDir);\n } catch {\n // Best-effort: plugin may not be registered with Claude CLI\n }\n }\n\n const pluginPath = path.join(target.pluginsDir, pluginName);\n await remove(pluginPath);\n this.log(` Uninstalled plugin '${pluginName}'`);\n }\n\n this.logSuccess(\n `Uninstalled ${target.pluginNames.length} ${target.pluginNames.length === 1 ? \"plugin\" : \"plugins\"}`,\n );\n } catch (error) {\n this.log(\"Plugin uninstall failed\");\n this.error(getErrorMessage(error), {\n exit: EXIT_CODES.ERROR,\n });\n }\n }\n\n try {\n await this.removeLocalFiles(target, flags.all);\n } catch (error) {\n this.log(\"Failed to remove local files\");\n this.error(getErrorMessage(error), {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n this.log(\"\");\n this.log(`${DEFAULT_BRANDING.NAME} has been uninstalled.`);\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.UNINSTALL_COMPLETE);\n this.log(\"\");\n }\n\n private async removeLocalFiles(target: UninstallTarget, removeAll: boolean): Promise<void> {\n await this.removeMatchingSkills(target);\n await this.removeMatchingAgents(target);\n\n if (removeAll && target.hasClaudeSrcDir) {\n await remove(target.claudeSrcDir);\n this.logSuccess(`Removed ${CLAUDE_SRC_DIR}/`);\n }\n\n await this.removeEmptyClaudeDir(target);\n }\n\n private async removeMatchingSkills(target: UninstallTarget): Promise<void> {\n if (!target.hasLocalSkills) return;\n\n const skillDirNames = await listDirectories(target.skillsDir);\n let removedCount = 0;\n let skippedCount = 0;\n\n for (const skillDirName of skillDirNames) {\n const skillDir = path.join(target.skillsDir, skillDirName);\n const forkedFrom = await readForkedFromMetadata(skillDir);\n\n if (shouldRemoveSkill(forkedFrom, target.configuredSources, target.config !== null)) {\n await remove(skillDir);\n removedCount++;\n this.log(` Uninstalled skill '${skillDirName}'`);\n } else {\n this.warn(`Skipping '${skillDirName}': not created by ${DEFAULT_BRANDING.NAME} CLI`);\n skippedCount++;\n }\n }\n\n if (removedCount > 0) {\n this.logSuccess(\n `Removed ${removedCount} CLI-installed ${removedCount === 1 ? \"skill\" : \"skills\"}`,\n );\n }\n\n if (skippedCount > 0) return;\n if (!(await directoryExists(target.skillsDir))) return;\n if (await isDirectoryEmpty(target.skillsDir)) {\n await remove(target.skillsDir);\n }\n }\n\n private async removeMatchingAgents(target: UninstallTarget): Promise<void> {\n if (!target.hasLocalAgents) return;\n if (target.configuredAgents.length === 0) return;\n\n const agentFiles = await this.listAgentFiles(target.agentsDir);\n let removedCount = 0;\n\n for (const agentFile of agentFiles) {\n const agentName = agentFile.replace(/\\.md$/, \"\");\n if (!target.configuredAgents.includes(agentName)) continue;\n\n await remove(path.join(target.agentsDir, agentFile));\n this.log(` Uninstalled agent '${agentName}'`);\n removedCount++;\n }\n\n if (removedCount > 0) {\n this.logSuccess(\n `Removed ${removedCount} compiled ${removedCount === 1 ? \"agent\" : \"agents\"}`,\n );\n }\n\n if (!(await directoryExists(target.agentsDir))) return;\n if (await isDirectoryEmpty(target.agentsDir)) {\n await remove(target.agentsDir);\n }\n }\n\n private async listAgentFiles(agentsDir: string): Promise<string[]> {\n try {\n const { readdir } = await import(\"fs/promises\");\n return (await readdir(agentsDir)).filter((f) => f.endsWith(\".md\"));\n } catch {\n return [];\n }\n }\n\n private async removeEmptyClaudeDir(target: UninstallTarget): Promise<void> {\n if (!target.hasClaudeDir) return;\n if (!(await directoryExists(target.claudeDir))) return;\n\n if (await isDirectoryEmpty(target.claudeDir)) {\n await remove(target.claudeDir);\n this.logSuccess(`Removed ${CLAUDE_DIR}/`);\n } else {\n this.log(`Kept ${CLAUDE_DIR}/ (contains user content)`);\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/cli/commands/uninstall.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Flags } from \"@oclif/core\";\nimport { render, Box, Text, useApp } from \"ink\";\nimport path from \"path\";\nimport os from \"os\";\n\nimport { BaseCommand } from \"../base-command\";\nimport { Confirm } from \"../components/common/confirm\";\nimport { getErrorMessage } from \"../utils/errors\";\nimport { directoryExists, listDirectories, remove } from \"../utils/fs\";\nimport { claudePluginUninstall, isClaudeCLIAvailable } from \"../utils/exec\";\nimport { listPluginNames, getProjectPluginsDir } from \"../lib/plugins\";\nimport { readForkedFromMetadata } from \"../lib/skills\";\nimport { loadProjectSourceConfig } from \"../lib/configuration/config\";\nimport type { ProjectConfig } from \"../types\";\nimport { CLAUDE_DIR, CLAUDE_SRC_DIR, CLI_COLORS, DEFAULT_BRANDING } from \"../consts\";\nimport { EXIT_CODES } from \"../lib/exit-codes\";\nimport { SUCCESS_MESSAGES, INFO_MESSAGES } from \"../utils/messages\";\n\ntype UninstallTarget = {\n hasPlugins: boolean;\n pluginNames: string[];\n hasLocalSkills: boolean;\n hasLocalAgents: boolean;\n hasClaudeDir: boolean;\n hasClaudeSrcDir: boolean;\n pluginsDir: string;\n skillsDir: string;\n agentsDir: string;\n claudeDir: string;\n claudeSrcDir: string;\n /** Resolved project source config from .claude-src/config.ts */\n config: Partial<ProjectConfig> | null;\n /** All configured source URLs (primary + extras) */\n configuredSources: string[];\n /** Agent names from the generated config (e.g., [\"web-developer\"]) */\n configuredAgents: string[];\n};\n\nfunction collectConfiguredSources(config: Partial<ProjectConfig> | null): string[] {\n if (!config) return [];\n return [\n ...(config.source ? [config.source] : []),\n ...(config.sources?.map((entry) => entry.url) ?? []),\n ];\n}\n\nfunction collectConfiguredAgents(config: Partial<ProjectConfig> | null): string[] {\n if (!config?.agents) return [];\n return config.agents.map((a) => a.name);\n}\n\nasync function detectUninstallTarget(projectDir: string): Promise<UninstallTarget> {\n const pluginsDir = getProjectPluginsDir(projectDir);\n const skillsDir = path.join(projectDir, CLAUDE_DIR, \"skills\");\n const agentsDir = path.join(projectDir, CLAUDE_DIR, \"agents\");\n const claudeDir = path.join(projectDir, CLAUDE_DIR);\n const claudeSrcDir = path.join(projectDir, CLAUDE_SRC_DIR);\n\n const [hasLocalSkills, hasLocalAgents, hasClaudeDir, hasClaudeSrcDir, config] = await Promise.all(\n [\n directoryExists(skillsDir),\n directoryExists(agentsDir),\n directoryExists(claudeDir),\n directoryExists(claudeSrcDir),\n loadProjectSourceConfig(projectDir),\n ],\n );\n\n let pluginNames: string[] = [];\n try {\n pluginNames = await listPluginNames(projectDir);\n } catch {\n // Best-effort: plugin detection may fail\n }\n\n const configuredSources = collectConfiguredSources(config);\n const configuredAgents = collectConfiguredAgents(config);\n\n return {\n hasPlugins: pluginNames.length > 0,\n pluginNames,\n hasLocalSkills,\n hasLocalAgents,\n hasClaudeDir,\n hasClaudeSrcDir,\n pluginsDir,\n skillsDir,\n agentsDir,\n claudeDir,\n claudeSrcDir,\n config,\n configuredSources,\n configuredAgents,\n };\n}\n\ntype UninstallConfirmProps = {\n target: UninstallTarget;\n removeAll: boolean;\n onConfirm: () => void;\n onCancel: () => void;\n};\n\nconst UninstallConfirm: React.FC<UninstallConfirmProps> = ({\n target,\n removeAll,\n onConfirm,\n onCancel,\n}) => {\n const { exit } = useApp();\n\n return (\n <Box flexDirection=\"column\">\n <Text bold>The following will be removed:</Text>\n <Text> </Text>\n\n {target.hasPlugins && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> Plugins:</Text>\n <Text dimColor> {target.pluginsDir}</Text>\n </Box>\n )}\n\n {(target.hasLocalSkills || target.hasLocalAgents) && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> CLI-managed files:</Text>\n {target.hasLocalSkills && <Text dimColor> {target.skillsDir}/ (matching sources)</Text>}\n {target.hasLocalAgents && <Text dimColor> {target.agentsDir}/ (CLI-compiled)</Text>}\n </Box>\n )}\n\n {removeAll && target.hasClaudeSrcDir && (\n <Box flexDirection=\"column\">\n <Text color={CLI_COLORS.ERROR}> Config:</Text>\n <Text dimColor> {target.claudeSrcDir}/</Text>\n </Box>\n )}\n\n <Text> </Text>\n <Confirm\n message=\"Are you sure you want to uninstall?\"\n onConfirm={() => {\n onConfirm();\n exit();\n }}\n onCancel={() => {\n onCancel();\n exit();\n }}\n defaultValue={false}\n />\n </Box>\n );\n};\n\nasync function isDirectoryEmpty(dirPath: string): Promise<boolean> {\n const { readdir } = await import(\"fs/promises\");\n try {\n const allEntries = await readdir(dirPath);\n return allEntries.length === 0;\n } catch {\n return true;\n }\n}\n\nfunction skillMatchesConfiguredSource(\n forkedFromSource: string | undefined,\n configuredSources: string[],\n): boolean {\n if (!forkedFromSource || configuredSources.length === 0) return false;\n return configuredSources.includes(forkedFromSource);\n}\n\nfunction shouldRemoveSkill(\n forkedFrom: { source?: string } | null,\n configuredSources: string[],\n hasConfig: boolean,\n): boolean {\n return (\n forkedFrom !== null &&\n (skillMatchesConfiguredSource(forkedFrom.source, configuredSources) ||\n (!forkedFrom.source && hasConfig))\n );\n}\n\nexport default class Uninstall extends BaseCommand {\n static summary = `Remove ${DEFAULT_BRANDING.NAME} from this project`;\n\n static description = `Uninstall ${DEFAULT_BRANDING.NAME} from this project. Removes CLI-managed skills (matched by source), compiled agents, and plugins. User-created content is preserved.`;\n\n static examples = [\n \"<%= config.bin %> <%= command.id %>\",\n \"<%= config.bin %> <%= command.id %> --yes\",\n \"<%= config.bin %> <%= command.id %> --all\",\n ];\n\n static flags = {\n ...BaseCommand.baseFlags,\n yes: Flags.boolean({\n char: \"y\",\n description: \"Skip confirmation prompt\",\n default: false,\n }),\n all: Flags.boolean({\n description: \"Also remove .claude-src/ config directory\",\n default: false,\n }),\n };\n\n async run(): Promise<void> {\n const { flags } = await this.parse(Uninstall);\n const projectDir = process.cwd();\n\n this.log(\"\");\n this.log(`${DEFAULT_BRANDING.NAME} Uninstall`);\n this.log(\"\");\n\n const target = await detectUninstallTarget(projectDir);\n\n const hasAnythingToRemove =\n target.hasPlugins ||\n target.hasLocalSkills ||\n target.hasLocalAgents ||\n (flags.all && target.hasClaudeSrcDir);\n\n if (!hasAnythingToRemove) {\n this.warn(\"Nothing to uninstall.\");\n this.log(\"\");\n this.log(INFO_MESSAGES.NOT_INSTALLED);\n this.log(\"\");\n this.log(INFO_MESSAGES.NO_CHANGES_MADE);\n return;\n }\n\n if (!flags.yes) {\n const confirmed = await new Promise<boolean>((resolve) => {\n const { waitUntilExit } = render(\n <UninstallConfirm\n target={target}\n removeAll={flags.all}\n onConfirm={() => resolve(true)}\n onCancel={() => resolve(false)}\n />,\n );\n\n waitUntilExit().catch(() => resolve(false));\n });\n\n if (!confirmed) {\n this.log(\"\");\n this.log(\"Uninstall cancelled\");\n this.exit(EXIT_CODES.CANCELLED);\n }\n } else {\n this.log(\"The following will be removed:\");\n this.log(\"\");\n\n if (target.hasPlugins) {\n this.log(\" Plugins:\");\n this.log(` ${target.pluginsDir}`);\n }\n\n if (target.hasLocalSkills || target.hasLocalAgents) {\n this.log(\" CLI-managed files:\");\n if (target.hasLocalSkills) {\n this.log(` ${target.skillsDir}/ (matching sources)`);\n }\n if (target.hasLocalAgents) {\n this.log(` ${target.agentsDir}/ (CLI-compiled)`);\n }\n }\n\n if (flags.all && target.hasClaudeSrcDir) {\n this.log(\" Config:\");\n this.log(` ${target.claudeSrcDir}/`);\n }\n\n this.log(\"\");\n }\n\n if (target.hasPlugins) {\n this.log(\"Uninstalling plugins...\");\n\n try {\n const cliAvailable = await isClaudeCLIAvailable();\n\n for (const pluginName of target.pluginNames) {\n if (cliAvailable) {\n try {\n const pluginScope = projectDir === os.homedir() ? \"user\" : \"project\";\n await claudePluginUninstall(pluginName, pluginScope, projectDir);\n } catch {\n // Best-effort: plugin may not be registered with Claude CLI\n }\n }\n\n const pluginPath = path.join(target.pluginsDir, pluginName);\n await remove(pluginPath);\n this.log(` Uninstalled plugin '${pluginName}'`);\n }\n\n this.logSuccess(\n `Uninstalled ${target.pluginNames.length} ${target.pluginNames.length === 1 ? \"plugin\" : \"plugins\"}`,\n );\n } catch (error) {\n this.log(\"Plugin uninstall failed\");\n this.error(getErrorMessage(error), {\n exit: EXIT_CODES.ERROR,\n });\n }\n }\n\n try {\n await this.removeLocalFiles(target, flags.all);\n } catch (error) {\n this.log(\"Failed to remove local files\");\n this.error(getErrorMessage(error), {\n exit: EXIT_CODES.ERROR,\n });\n }\n\n this.log(\"\");\n this.log(`${DEFAULT_BRANDING.NAME} has been uninstalled.`);\n this.log(\"\");\n this.logSuccess(SUCCESS_MESSAGES.UNINSTALL_COMPLETE);\n this.log(\"\");\n }\n\n private async removeLocalFiles(target: UninstallTarget, removeAll: boolean): Promise<void> {\n await this.removeMatchingSkills(target);\n await this.removeMatchingAgents(target);\n\n if (removeAll && target.hasClaudeSrcDir) {\n await remove(target.claudeSrcDir);\n this.logSuccess(`Removed ${CLAUDE_SRC_DIR}/`);\n }\n\n await this.removeEmptyClaudeDir(target);\n }\n\n private async removeMatchingSkills(target: UninstallTarget): Promise<void> {\n if (!target.hasLocalSkills) return;\n\n const skillDirNames = await listDirectories(target.skillsDir);\n let removedCount = 0;\n let skippedCount = 0;\n\n for (const skillDirName of skillDirNames) {\n const skillDir = path.join(target.skillsDir, skillDirName);\n const forkedFrom = await readForkedFromMetadata(skillDir);\n\n if (shouldRemoveSkill(forkedFrom, target.configuredSources, target.config !== null)) {\n await remove(skillDir);\n removedCount++;\n this.log(` Uninstalled skill '${skillDirName}'`);\n } else {\n this.warn(`Skipping '${skillDirName}': not created by ${DEFAULT_BRANDING.NAME} CLI`);\n skippedCount++;\n }\n }\n\n if (removedCount > 0) {\n this.logSuccess(\n `Removed ${removedCount} CLI-installed ${removedCount === 1 ? \"skill\" : \"skills\"}`,\n );\n }\n\n if (skippedCount > 0) return;\n if (!(await directoryExists(target.skillsDir))) return;\n if (await isDirectoryEmpty(target.skillsDir)) {\n await remove(target.skillsDir);\n }\n }\n\n private async removeMatchingAgents(target: UninstallTarget): Promise<void> {\n if (!target.hasLocalAgents) return;\n if (target.configuredAgents.length === 0) return;\n\n const agentFiles = await this.listAgentFiles(target.agentsDir);\n let removedCount = 0;\n\n for (const agentFile of agentFiles) {\n const agentName = agentFile.replace(/\\.md$/, \"\");\n if (!target.configuredAgents.includes(agentName)) continue;\n\n await remove(path.join(target.agentsDir, agentFile));\n this.log(` Uninstalled agent '${agentName}'`);\n removedCount++;\n }\n\n if (removedCount > 0) {\n this.logSuccess(\n `Removed ${removedCount} compiled ${removedCount === 1 ? \"agent\" : \"agents\"}`,\n );\n }\n\n if (!(await directoryExists(target.agentsDir))) return;\n if (await isDirectoryEmpty(target.agentsDir)) {\n await remove(target.agentsDir);\n }\n }\n\n private async listAgentFiles(agentsDir: string): Promise<string[]> {\n try {\n const { readdir } = await import(\"fs/promises\");\n return (await readdir(agentsDir)).filter((f) => f.endsWith(\".md\"));\n } catch {\n return [];\n }\n }\n\n private async removeEmptyClaudeDir(target: UninstallTarget): Promise<void> {\n if (!target.hasClaudeDir) return;\n if (!(await directoryExists(target.claudeDir))) return;\n\n if (await isDirectoryEmpty(target.claudeDir)) {\n await remove(target.claudeDir);\n this.logSuccess(`Removed ${CLAUDE_DIR}/`);\n } else {\n this.log(`Kept ${CLAUDE_DIR}/ (contains user content)`);\n }\n }\n}\n"],"mappings":"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","names":[]}
|
package/dist/commands/update.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "../chunk-N6S7ZRIL.js";
|
|
5
5
|
import {
|
|
6
6
|
recompileAgents
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-J6SHWAS6.js";
|
|
8
8
|
import {
|
|
9
9
|
ERROR_MESSAGES,
|
|
10
10
|
INFO_MESSAGES,
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
compareLocalSkillsWithSource,
|
|
16
16
|
injectForkedFromMetadata,
|
|
17
17
|
loadSkillsMatrixFromSource
|
|
18
|
-
} from "../chunk-
|
|
19
|
-
import "../chunk-
|
|
18
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
19
|
+
import "../chunk-RRBWNEG3.js";
|
|
20
20
|
import "../chunk-EMX7PA2I.js";
|
|
21
21
|
import {
|
|
22
22
|
matrix
|
|
@@ -24,12 +24,12 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
BaseCommand,
|
|
26
26
|
EXIT_CODES
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
28
28
|
import {
|
|
29
29
|
copy,
|
|
30
30
|
fileExists,
|
|
31
31
|
getErrorMessage
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-4CRWKTNQ.js";
|
|
33
33
|
import "../chunk-SRIH4U5Y.js";
|
|
34
34
|
import {
|
|
35
35
|
CLI_BIN_NAME,
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
validateAllPlugins,
|
|
12
12
|
validateAllSchemas,
|
|
13
13
|
validatePlugin
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-ZLMKEYDF.js";
|
|
15
15
|
import {
|
|
16
16
|
parseFrontmatter
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-RRBWNEG3.js";
|
|
18
18
|
import "../chunk-EMX7PA2I.js";
|
|
19
19
|
import {
|
|
20
20
|
matrix
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
import {
|
|
23
23
|
BaseCommand,
|
|
24
24
|
EXIT_CODES
|
|
25
|
-
} from "../chunk-
|
|
25
|
+
} from "../chunk-IJLAVOKZ.js";
|
|
26
26
|
import {
|
|
27
27
|
SKILL_ID_PATTERN,
|
|
28
28
|
directoryExists,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
glob,
|
|
32
32
|
metadataValidationSchema,
|
|
33
33
|
readFile
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-4CRWKTNQ.js";
|
|
35
35
|
import "../chunk-SRIH4U5Y.js";
|
|
36
36
|
import {
|
|
37
37
|
SKILLS_DIR_PATH,
|
|
@@ -30,16 +30,16 @@ import {
|
|
|
30
30
|
} from "../../chunk-KSMT5FVM.js";
|
|
31
31
|
import "../../chunk-GG4BSB6S.js";
|
|
32
32
|
import "../../chunk-AUNBGZS4.js";
|
|
33
|
-
import "../../chunk-
|
|
33
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
34
34
|
import "../../chunk-6VIOO74O.js";
|
|
35
|
-
import "../../chunk-
|
|
36
|
-
import "../../chunk-
|
|
35
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
36
|
+
import "../../chunk-RRBWNEG3.js";
|
|
37
37
|
import "../../chunk-EMX7PA2I.js";
|
|
38
38
|
import {
|
|
39
39
|
BUILT_IN_MATRIX,
|
|
40
40
|
initializeMatrix
|
|
41
41
|
} from "../../chunk-E74Q7GUE.js";
|
|
42
|
-
import "../../chunk-
|
|
42
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
43
43
|
import "../../chunk-SRIH4U5Y.js";
|
|
44
44
|
import "../../chunk-EGMQ3SXN.js";
|
|
45
45
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
DomainSelection
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-ANUYSHQA.js";
|
|
5
5
|
import "../../chunk-BH4LN7XV.js";
|
|
6
6
|
import "../../chunk-OV5UJWS5.js";
|
|
7
7
|
import "../../chunk-XMLCXRTS.js";
|
|
8
8
|
import "../../chunk-AQYAVLZK.js";
|
|
9
9
|
import "../../chunk-AUNBGZS4.js";
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
11
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
12
|
+
import "../../chunk-RRBWNEG3.js";
|
|
13
13
|
import "../../chunk-EMX7PA2I.js";
|
|
14
14
|
import "../../chunk-E74Q7GUE.js";
|
|
15
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
16
16
|
import "../../chunk-SRIH4U5Y.js";
|
|
17
17
|
import "../../chunk-EGMQ3SXN.js";
|
|
18
18
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -39,16 +39,16 @@ import "../../chunk-GG4BSB6S.js";
|
|
|
39
39
|
import "../../chunk-AUNBGZS4.js";
|
|
40
40
|
import "../../chunk-WF5PMBIR.js";
|
|
41
41
|
import "../../chunk-KUV24B5M.js";
|
|
42
|
-
import "../../chunk-
|
|
42
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
43
43
|
import "../../chunk-6VIOO74O.js";
|
|
44
|
-
import "../../chunk-
|
|
45
|
-
import "../../chunk-
|
|
44
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
45
|
+
import "../../chunk-RRBWNEG3.js";
|
|
46
46
|
import "../../chunk-EMX7PA2I.js";
|
|
47
47
|
import {
|
|
48
48
|
BUILT_IN_MATRIX,
|
|
49
49
|
initializeMatrix
|
|
50
50
|
} from "../../chunk-E74Q7GUE.js";
|
|
51
|
-
import "../../chunk-
|
|
51
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
52
52
|
import "../../chunk-SRIH4U5Y.js";
|
|
53
53
|
import "../../chunk-EGMQ3SXN.js";
|
|
54
54
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StackSelection
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-VOYGRNLS.js";
|
|
5
5
|
import "../../chunk-MWGDG4QN.js";
|
|
6
6
|
import "../../chunk-AUNBGZS4.js";
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
9
|
-
import "../../chunk-
|
|
7
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
8
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
9
|
+
import "../../chunk-RRBWNEG3.js";
|
|
10
10
|
import "../../chunk-EMX7PA2I.js";
|
|
11
11
|
import "../../chunk-E74Q7GUE.js";
|
|
12
|
-
import "../../chunk-
|
|
12
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
13
13
|
import "../../chunk-SRIH4U5Y.js";
|
|
14
14
|
import "../../chunk-EGMQ3SXN.js";
|
|
15
15
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepAgents
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-XP7BXHFG.js";
|
|
5
5
|
import "../../chunk-K77I4XGL.js";
|
|
6
6
|
import "../../chunk-BH4LN7XV.js";
|
|
7
7
|
import "../../chunk-XMLCXRTS.js";
|
|
8
8
|
import "../../chunk-AQYAVLZK.js";
|
|
9
9
|
import "../../chunk-AUNBGZS4.js";
|
|
10
|
-
import "../../chunk-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
10
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
11
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
12
|
+
import "../../chunk-RRBWNEG3.js";
|
|
13
13
|
import "../../chunk-EMX7PA2I.js";
|
|
14
14
|
import "../../chunk-E74Q7GUE.js";
|
|
15
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
16
16
|
import "../../chunk-SRIH4U5Y.js";
|
|
17
17
|
import "../../chunk-EGMQ3SXN.js";
|
|
18
18
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "../../chunk-XY3XDVMI.js";
|
|
26
26
|
import {
|
|
27
27
|
StepAgents
|
|
28
|
-
} from "../../chunk-
|
|
28
|
+
} from "../../chunk-XP7BXHFG.js";
|
|
29
29
|
import "../../chunk-K77I4XGL.js";
|
|
30
30
|
import "../../chunk-BH4LN7XV.js";
|
|
31
31
|
import "../../chunk-XMLCXRTS.js";
|
|
@@ -33,14 +33,14 @@ import "../../chunk-AQYAVLZK.js";
|
|
|
33
33
|
import "../../chunk-AUNBGZS4.js";
|
|
34
34
|
import {
|
|
35
35
|
useWizardStore
|
|
36
|
-
} from "../../chunk-
|
|
37
|
-
import "../../chunk-
|
|
38
|
-
import "../../chunk-
|
|
36
|
+
} from "../../chunk-B7KVPY3Z.js";
|
|
37
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
38
|
+
import "../../chunk-RRBWNEG3.js";
|
|
39
39
|
import "../../chunk-EMX7PA2I.js";
|
|
40
40
|
import {
|
|
41
41
|
initializeMatrix
|
|
42
42
|
} from "../../chunk-E74Q7GUE.js";
|
|
43
|
-
import "../../chunk-
|
|
43
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
44
44
|
import "../../chunk-SRIH4U5Y.js";
|
|
45
45
|
import "../../chunk-EGMQ3SXN.js";
|
|
46
46
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
StepBuild
|
|
4
|
-
} from "../../chunk-
|
|
4
|
+
} from "../../chunk-ZO7C5WMJ.js";
|
|
5
5
|
import "../../chunk-K77I4XGL.js";
|
|
6
6
|
import "../../chunk-KSMT5FVM.js";
|
|
7
7
|
import "../../chunk-GG4BSB6S.js";
|
|
8
8
|
import "../../chunk-BH4LN7XV.js";
|
|
9
9
|
import "../../chunk-AQYAVLZK.js";
|
|
10
10
|
import "../../chunk-AUNBGZS4.js";
|
|
11
|
-
import "../../chunk-
|
|
11
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
12
12
|
import "../../chunk-6VIOO74O.js";
|
|
13
|
-
import "../../chunk-
|
|
14
|
-
import "../../chunk-
|
|
13
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
14
|
+
import "../../chunk-RRBWNEG3.js";
|
|
15
15
|
import "../../chunk-EMX7PA2I.js";
|
|
16
16
|
import "../../chunk-E74Q7GUE.js";
|
|
17
|
-
import "../../chunk-
|
|
17
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
18
18
|
import "../../chunk-SRIH4U5Y.js";
|
|
19
19
|
import "../../chunk-EGMQ3SXN.js";
|
|
20
20
|
import "../../chunk-NKKYTCBH.js";
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
import {
|
|
34
34
|
StepBuild,
|
|
35
35
|
validateBuildStep
|
|
36
|
-
} from "../../chunk-
|
|
36
|
+
} from "../../chunk-ZO7C5WMJ.js";
|
|
37
37
|
import "../../chunk-K77I4XGL.js";
|
|
38
38
|
import "../../chunk-KSMT5FVM.js";
|
|
39
39
|
import "../../chunk-GG4BSB6S.js";
|
|
@@ -42,15 +42,15 @@ import {
|
|
|
42
42
|
} from "../../chunk-BH4LN7XV.js";
|
|
43
43
|
import "../../chunk-AQYAVLZK.js";
|
|
44
44
|
import "../../chunk-AUNBGZS4.js";
|
|
45
|
-
import "../../chunk-
|
|
45
|
+
import "../../chunk-B7KVPY3Z.js";
|
|
46
46
|
import "../../chunk-6VIOO74O.js";
|
|
47
|
-
import "../../chunk-
|
|
48
|
-
import "../../chunk-
|
|
47
|
+
import "../../chunk-ZLMKEYDF.js";
|
|
48
|
+
import "../../chunk-RRBWNEG3.js";
|
|
49
49
|
import "../../chunk-EMX7PA2I.js";
|
|
50
50
|
import {
|
|
51
51
|
initializeMatrix
|
|
52
52
|
} from "../../chunk-E74Q7GUE.js";
|
|
53
|
-
import "../../chunk-
|
|
53
|
+
import "../../chunk-4CRWKTNQ.js";
|
|
54
54
|
import "../../chunk-SRIH4U5Y.js";
|
|
55
55
|
import "../../chunk-EGMQ3SXN.js";
|
|
56
56
|
import "../../chunk-NKKYTCBH.js";
|