@catladder/cli 0.0.0-next-2b60440e → 0.0.0-next-148db771
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/dist/bundles/catenv/index.js +18 -5
- package/dist/bundles/cli/index.js +28 -5
- package/dist/cli/src/apps/cli/commands/project/setup/index.js +10 -0
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/pipeline/src/agentSkills/types.d.ts +13 -3
- package/dist/pipeline/src/agentSkills/types.js +17 -5
- package/dist/pipeline/src/agentSkills/types.js.map +1 -1
- package/dist/pipeline/src/index.d.ts +1 -0
- package/dist/pipeline/src/index.js +1 -0
- package/dist/pipeline/src/index.js.map +1 -1
- package/dist/pipeline/src/types/config.d.ts +5 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/cli/commands/project/setup/index.ts +15 -1
|
@@ -1676,25 +1676,37 @@ exports.getShippedSkills = getShippedSkills;
|
|
|
1676
1676
|
"use strict";
|
|
1677
1677
|
|
|
1678
1678
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1679
|
-
exports.getAgentSkillTargets = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
1679
|
+
exports.getAgentSkillTargets = exports.DEFAULT_AGENT_SKILL_TARGETS = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
1680
1680
|
/**
|
|
1681
1681
|
* where agent skills get materialized, per agent ecosystem:
|
|
1682
|
-
* - claude-code: the Claude Code project skills directory
|
|
1682
|
+
* - claude-code: the Claude Code project skills directory (the default)
|
|
1683
1683
|
* - agents: the cross-agent universal skills directory
|
|
1684
|
-
* (https://agents.md convention
|
|
1684
|
+
* (https://agents.md convention). Opt-in — as of now no widely-used
|
|
1685
|
+
* agent reads `.agents/skills/`; a repo that wants cross-agent
|
|
1686
|
+
* discovery can also just symlink `.agents/skills` → `.claude/skills`
|
|
1687
|
+
* once itself instead of enabling this target.
|
|
1685
1688
|
*/
|
|
1686
1689
|
exports.AGENT_SKILL_TARGET_DIRS = {
|
|
1687
1690
|
"claude-code": ".claude/skills",
|
|
1688
1691
|
agents: ".agents/skills",
|
|
1689
1692
|
};
|
|
1693
|
+
/**
|
|
1694
|
+
* the target(s) written when `agentSkills` does not name any explicitly.
|
|
1695
|
+
* Claude Code is the only agent that consumes these skills today, so we
|
|
1696
|
+
* default to it alone rather than duplicating every skill into
|
|
1697
|
+
* `.agents/skills/` (extra committed files + diff noise on every run).
|
|
1698
|
+
*/
|
|
1699
|
+
exports.DEFAULT_AGENT_SKILL_TARGETS = [
|
|
1700
|
+
"claude-code",
|
|
1701
|
+
];
|
|
1690
1702
|
const getAgentSkillTargets = (agentSkills) => {
|
|
1691
1703
|
var _a;
|
|
1692
1704
|
if (agentSkills === false)
|
|
1693
1705
|
return [];
|
|
1694
1706
|
if (agentSkills === true || agentSkills === undefined) {
|
|
1695
|
-
return
|
|
1707
|
+
return [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
1696
1708
|
}
|
|
1697
|
-
return (
|
|
1709
|
+
return (_a = agentSkills.targets) !== null && _a !== void 0 ? _a : [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
1698
1710
|
};
|
|
1699
1711
|
exports.getAgentSkillTargets = getAgentSkillTargets;
|
|
1700
1712
|
//# sourceMappingURL=types.js.map
|
|
@@ -9302,6 +9314,7 @@ __exportStar(__nccwpck_require__(47666), exports);
|
|
|
9302
9314
|
__exportStar(__nccwpck_require__(60250), exports);
|
|
9303
9315
|
__exportStar(__nccwpck_require__(38016), exports);
|
|
9304
9316
|
__exportStar(__nccwpck_require__(35233), exports);
|
|
9317
|
+
__exportStar(__nccwpck_require__(8853), exports);
|
|
9305
9318
|
//# sourceMappingURL=index.js.map
|
|
9306
9319
|
|
|
9307
9320
|
/***/ }),
|
|
@@ -970,6 +970,7 @@ exports.ensureGcloudProjectNumbers = ensureGcloudProjectNumbers;
|
|
|
970
970
|
|
|
971
971
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
972
972
|
exports.setupProject = void 0;
|
|
973
|
+
const pipeline_1 = __nccwpck_require__(60241);
|
|
973
974
|
const getProjectConfig_1 = __nccwpck_require__(50001);
|
|
974
975
|
const setupAccessTokens_1 = __nccwpck_require__(64775);
|
|
975
976
|
const setupContext_1 = __nccwpck_require__(63516);
|
|
@@ -978,6 +979,15 @@ const setupAgents_1 = __nccwpck_require__(73861);
|
|
|
978
979
|
const logSection_1 = __nccwpck_require__(87105);
|
|
979
980
|
const ensureGcloudProjectNumbers_1 = __nccwpck_require__(22661);
|
|
980
981
|
const setupProject = async (instance, onlyComponents) => {
|
|
982
|
+
// refresh the agent skills first — store-independent, so it survives a
|
|
983
|
+
// later failure (e.g. missing gcloud auth in ensureGcloudProjectNumbers).
|
|
984
|
+
// This makes `catladder project setup` the one command that also lands
|
|
985
|
+
// the skills, so agents helping a migrating project get them even when
|
|
986
|
+
// catenv itself can't run yet (e.g. before the store is populated).
|
|
987
|
+
const config = await (0, getProjectConfig_1.getProjectConfig)();
|
|
988
|
+
if (config) {
|
|
989
|
+
await (0, pipeline_1.generateAgentSkills)((0, pipeline_1.createCatenvContext)(config));
|
|
990
|
+
}
|
|
981
991
|
// must come first: creating contexts already requires the store
|
|
982
992
|
await (0, ensureGcloudProjectNumbers_1.ensureGcloudProjectNumbers)(instance);
|
|
983
993
|
const allContext = await (0, getProjectConfig_1.getAllPipelineContexts)(onlyComponents);
|
|
@@ -7659,25 +7669,37 @@ exports.getShippedSkills = getShippedSkills;
|
|
|
7659
7669
|
"use strict";
|
|
7660
7670
|
|
|
7661
7671
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
7662
|
-
exports.getAgentSkillTargets = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
7672
|
+
exports.getAgentSkillTargets = exports.DEFAULT_AGENT_SKILL_TARGETS = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
7663
7673
|
/**
|
|
7664
7674
|
* where agent skills get materialized, per agent ecosystem:
|
|
7665
|
-
* - claude-code: the Claude Code project skills directory
|
|
7675
|
+
* - claude-code: the Claude Code project skills directory (the default)
|
|
7666
7676
|
* - agents: the cross-agent universal skills directory
|
|
7667
|
-
* (https://agents.md convention
|
|
7677
|
+
* (https://agents.md convention). Opt-in — as of now no widely-used
|
|
7678
|
+
* agent reads `.agents/skills/`; a repo that wants cross-agent
|
|
7679
|
+
* discovery can also just symlink `.agents/skills` → `.claude/skills`
|
|
7680
|
+
* once itself instead of enabling this target.
|
|
7668
7681
|
*/
|
|
7669
7682
|
exports.AGENT_SKILL_TARGET_DIRS = {
|
|
7670
7683
|
"claude-code": ".claude/skills",
|
|
7671
7684
|
agents: ".agents/skills",
|
|
7672
7685
|
};
|
|
7686
|
+
/**
|
|
7687
|
+
* the target(s) written when `agentSkills` does not name any explicitly.
|
|
7688
|
+
* Claude Code is the only agent that consumes these skills today, so we
|
|
7689
|
+
* default to it alone rather than duplicating every skill into
|
|
7690
|
+
* `.agents/skills/` (extra committed files + diff noise on every run).
|
|
7691
|
+
*/
|
|
7692
|
+
exports.DEFAULT_AGENT_SKILL_TARGETS = [
|
|
7693
|
+
"claude-code",
|
|
7694
|
+
];
|
|
7673
7695
|
const getAgentSkillTargets = (agentSkills) => {
|
|
7674
7696
|
var _a;
|
|
7675
7697
|
if (agentSkills === false)
|
|
7676
7698
|
return [];
|
|
7677
7699
|
if (agentSkills === true || agentSkills === undefined) {
|
|
7678
|
-
return
|
|
7700
|
+
return [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
7679
7701
|
}
|
|
7680
|
-
return (
|
|
7702
|
+
return (_a = agentSkills.targets) !== null && _a !== void 0 ? _a : [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
7681
7703
|
};
|
|
7682
7704
|
exports.getAgentSkillTargets = getAgentSkillTargets;
|
|
7683
7705
|
//# sourceMappingURL=types.js.map
|
|
@@ -15285,6 +15307,7 @@ __exportStar(__nccwpck_require__(47666), exports);
|
|
|
15285
15307
|
__exportStar(__nccwpck_require__(60250), exports);
|
|
15286
15308
|
__exportStar(__nccwpck_require__(38016), exports);
|
|
15287
15309
|
__exportStar(__nccwpck_require__(35233), exports);
|
|
15310
|
+
__exportStar(__nccwpck_require__(8853), exports);
|
|
15288
15311
|
//# sourceMappingURL=index.js.map
|
|
15289
15312
|
|
|
15290
15313
|
/***/ }),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setupProject = void 0;
|
|
4
|
+
const pipeline_1 = require("../../../../../../../pipeline/src/index.js");
|
|
4
5
|
const getProjectConfig_1 = require("../../../../../config/getProjectConfig");
|
|
5
6
|
const setupAccessTokens_1 = require("./setupAccessTokens");
|
|
6
7
|
const setupContext_1 = require("./setupContext");
|
|
@@ -9,6 +10,15 @@ const setupAgents_1 = require("./setupAgents");
|
|
|
9
10
|
const logSection_1 = require("./logSection");
|
|
10
11
|
const ensureGcloudProjectNumbers_1 = require("./ensureGcloudProjectNumbers");
|
|
11
12
|
const setupProject = async (instance, onlyComponents) => {
|
|
13
|
+
// refresh the agent skills first — store-independent, so it survives a
|
|
14
|
+
// later failure (e.g. missing gcloud auth in ensureGcloudProjectNumbers).
|
|
15
|
+
// This makes `catladder project setup` the one command that also lands
|
|
16
|
+
// the skills, so agents helping a migrating project get them even when
|
|
17
|
+
// catenv itself can't run yet (e.g. before the store is populated).
|
|
18
|
+
const config = await (0, getProjectConfig_1.getProjectConfig)();
|
|
19
|
+
if (config) {
|
|
20
|
+
await (0, pipeline_1.generateAgentSkills)((0, pipeline_1.createCatenvContext)(config));
|
|
21
|
+
}
|
|
12
22
|
// must come first: creating contexts already requires the store
|
|
13
23
|
await (0, ensureGcloudProjectNumbers_1.ensureGcloudProjectNumbers)(instance);
|
|
14
24
|
const allContext = await (0, getProjectConfig_1.getAllPipelineContexts)(onlyComponents);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/index.ts"],"names":[],"mappings":";;;AAAA,kDAA+E;AAE/E,6EAGgD;AAChD,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAC1C,+CAA4C;AAC5C,6CAA0C;AAC1C,6EAA0E;AAEnE,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAY,EACZ,cAAkC,EAClC,EAAE;IACF,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE;IACvE,uEAAuE;IACvE,oEAAoE;IACpE,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAgB,GAAE,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,IAAA,8BAAmB,EAAC,IAAA,8BAAmB,EAAC,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,gEAAgE;IAChE,MAAM,IAAA,uDAA0B,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,IAAA,yCAAsB,EAAC,cAAc,CAAC,CAAC;IAChE,QAAQ,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,IAAA,uBAAU,EAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAA,qCAAiB,EAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,IAAA,uBAAU,EAAC,QAAQ,CAAC,CAAC;QAC3B,MAAM,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,IAAA,2BAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD;QACE,kCAAkC;QAClC,2BAA2B;QAC3B,qDAAqD;QACrD,qBAAqB;QACrB,eAAe;KAChB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC,CAAC;AA5CW,QAAA,YAAY,gBA4CvB"}
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* where agent skills get materialized, per agent ecosystem:
|
|
3
|
-
* - claude-code: the Claude Code project skills directory
|
|
3
|
+
* - claude-code: the Claude Code project skills directory (the default)
|
|
4
4
|
* - agents: the cross-agent universal skills directory
|
|
5
|
-
* (https://agents.md convention
|
|
5
|
+
* (https://agents.md convention). Opt-in — as of now no widely-used
|
|
6
|
+
* agent reads `.agents/skills/`; a repo that wants cross-agent
|
|
7
|
+
* discovery can also just symlink `.agents/skills` → `.claude/skills`
|
|
8
|
+
* once itself instead of enabling this target.
|
|
6
9
|
*/
|
|
7
10
|
export declare const AGENT_SKILL_TARGET_DIRS: {
|
|
8
11
|
readonly "claude-code": ".claude/skills";
|
|
9
12
|
readonly agents: ".agents/skills";
|
|
10
13
|
};
|
|
11
14
|
export type AgentSkillTargetName = keyof typeof AGENT_SKILL_TARGET_DIRS;
|
|
15
|
+
/**
|
|
16
|
+
* the target(s) written when `agentSkills` does not name any explicitly.
|
|
17
|
+
* Claude Code is the only agent that consumes these skills today, so we
|
|
18
|
+
* default to it alone rather than duplicating every skill into
|
|
19
|
+
* `.agents/skills/` (extra committed files + diff noise on every run).
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_AGENT_SKILL_TARGETS: AgentSkillTargetName[];
|
|
12
22
|
/**
|
|
13
23
|
* agent skills materialization, see {@link Config.agentSkills}
|
|
14
24
|
*/
|
|
15
25
|
export type AgentSkillsConfig = boolean | {
|
|
16
26
|
/**
|
|
17
27
|
* which agent skill directories to write to.
|
|
18
|
-
* Defaults to
|
|
28
|
+
* Defaults to {@link DEFAULT_AGENT_SKILL_TARGETS} (`claude-code`).
|
|
19
29
|
*/
|
|
20
30
|
targets?: AgentSkillTargetName[];
|
|
21
31
|
};
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getAgentSkillTargets = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
3
|
+
exports.getAgentSkillTargets = exports.DEFAULT_AGENT_SKILL_TARGETS = exports.AGENT_SKILL_TARGET_DIRS = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* where agent skills get materialized, per agent ecosystem:
|
|
6
|
-
* - claude-code: the Claude Code project skills directory
|
|
6
|
+
* - claude-code: the Claude Code project skills directory (the default)
|
|
7
7
|
* - agents: the cross-agent universal skills directory
|
|
8
|
-
* (https://agents.md convention
|
|
8
|
+
* (https://agents.md convention). Opt-in — as of now no widely-used
|
|
9
|
+
* agent reads `.agents/skills/`; a repo that wants cross-agent
|
|
10
|
+
* discovery can also just symlink `.agents/skills` → `.claude/skills`
|
|
11
|
+
* once itself instead of enabling this target.
|
|
9
12
|
*/
|
|
10
13
|
exports.AGENT_SKILL_TARGET_DIRS = {
|
|
11
14
|
"claude-code": ".claude/skills",
|
|
12
15
|
agents: ".agents/skills",
|
|
13
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* the target(s) written when `agentSkills` does not name any explicitly.
|
|
19
|
+
* Claude Code is the only agent that consumes these skills today, so we
|
|
20
|
+
* default to it alone rather than duplicating every skill into
|
|
21
|
+
* `.agents/skills/` (extra committed files + diff noise on every run).
|
|
22
|
+
*/
|
|
23
|
+
exports.DEFAULT_AGENT_SKILL_TARGETS = [
|
|
24
|
+
"claude-code",
|
|
25
|
+
];
|
|
14
26
|
const getAgentSkillTargets = (agentSkills) => {
|
|
15
27
|
var _a;
|
|
16
28
|
if (agentSkills === false)
|
|
17
29
|
return [];
|
|
18
30
|
if (agentSkills === true || agentSkills === undefined) {
|
|
19
|
-
return
|
|
31
|
+
return [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
20
32
|
}
|
|
21
|
-
return (
|
|
33
|
+
return (_a = agentSkills.targets) !== null && _a !== void 0 ? _a : [...exports.DEFAULT_AGENT_SKILL_TARGETS];
|
|
22
34
|
};
|
|
23
35
|
exports.getAgentSkillTargets = getAgentSkillTargets;
|
|
24
36
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../pipeline/src/agentSkills/types.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../pipeline/src/agentSkills/types.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACU,QAAA,uBAAuB,GAAG;IACrC,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB;CAChB,CAAC;AAIX;;;;;GAKG;AACU,QAAA,2BAA2B,GAA2B;IACjE,aAAa;CACd,CAAC;AAeK,MAAM,oBAAoB,GAAG,CAClC,WAA0C,EAClB,EAAE;;IAC1B,IAAI,WAAW,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,mCAA2B,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAA,WAAW,CAAC,OAAO,mCAAI,CAAC,GAAG,mCAA2B,CAAC,CAAC;AACjE,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B"}
|
|
@@ -31,4 +31,5 @@ __exportStar(require("./utils/measureTime"), exports);
|
|
|
31
31
|
__exportStar(require("./variables/VariableValue"), exports);
|
|
32
32
|
__exportStar(require("./bash"), exports);
|
|
33
33
|
__exportStar(require("./catenv"), exports);
|
|
34
|
+
__exportStar(require("./agentSkills"), exports);
|
|
34
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,4DAA0C;AAC1C,yCAAuB;AACvB,2CAAyB;AACzB,gDAA8B"}
|
|
@@ -260,9 +260,12 @@ export type Config<C extends ConfigProps = never> = {
|
|
|
260
260
|
* `.claude/skills/`) — that namespace is owned by catladder and must
|
|
261
261
|
* not be edited manually.
|
|
262
262
|
*
|
|
263
|
-
* - `true` (default): write to
|
|
263
|
+
* - `true` / omitted (default): write to `.claude/skills/` only
|
|
264
|
+
* (Claude Code is the only agent that consumes these today)
|
|
264
265
|
* - `false`: opt out (previously generated skills are removed)
|
|
265
|
-
* - `{ targets: [...] }`:
|
|
266
|
+
* - `{ targets: [...] }`: write to the given targets, e.g.
|
|
267
|
+
* `["claude-code", "agents"]` to also populate the cross-agent
|
|
268
|
+
* `.agents/skills/` directory
|
|
266
269
|
*/
|
|
267
270
|
agentSkills?: AgentSkillsConfig;
|
|
268
271
|
/**
|