@ethlete/agent-rules 0.1.0-next.14 → 0.1.0-next.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +36 -2
  3. package/THIRD-PARTY-LICENSES.md +35 -0
  4. package/content/hooks/context-warning.py +450 -112
  5. package/content/hooks/subagent-model-policy.py +185 -0
  6. package/content/rules/subagent-models.md +29 -0
  7. package/content/skills/codex-subagent/SKILL.md +90 -0
  8. package/content/skills/codex-subagent/codex-agent.mjs +229 -0
  9. package/content/skills/design-exploration/SKILL.md +203 -0
  10. package/content/skills/design-exploration/check-story.mjs +139 -0
  11. package/content/skills/design-exploration/shoot-template.mjs +61 -0
  12. package/content/skills/domain-modeling/ADR-FORMAT.md +47 -0
  13. package/content/skills/domain-modeling/CONTEXT-FORMAT.md +60 -0
  14. package/content/skills/domain-modeling/SKILL.md +80 -0
  15. package/content/skills/grill-with-docs/SKILL.md +13 -0
  16. package/content/skills/grilling/SKILL.md +34 -0
  17. package/content/skills/handoff/SKILL.md +69 -4
  18. package/content/skills/rxjs-signals/SKILL.md +4 -3
  19. package/content/skills/sdk-update/SKILL.md +2 -1
  20. package/content/skills/styleguide/lint-rule-lookup.md +1 -0
  21. package/content/skills/timetrack/SKILL.md +190 -10
  22. package/package.json +1 -1
  23. package/src/index.js +2 -1
  24. package/src/index.js.map +1 -1
  25. package/src/lib/frontmatter.d.ts +2 -0
  26. package/src/lib/frontmatter.js +2 -1
  27. package/src/lib/frontmatter.js.map +1 -1
  28. package/src/lib/git-flow/config.js +1 -1
  29. package/src/lib/git-flow/config.js.map +1 -1
  30. package/src/lib/git.d.ts +37 -0
  31. package/src/lib/git.js +77 -1
  32. package/src/lib/git.js.map +1 -1
  33. package/src/lib/index.d.ts +1 -0
  34. package/src/lib/index.js +1 -0
  35. package/src/lib/index.js.map +1 -1
  36. package/src/lib/plain-text.d.ts +9 -0
  37. package/src/lib/plain-text.js +22 -0
  38. package/src/lib/plain-text.js.map +1 -0
  39. package/src/lib/targets/claude-hooks.js +2 -1
  40. package/src/lib/targets/claude-hooks.js.map +1 -1
  41. package/src/lib/targets/codex-hooks.js +2 -1
  42. package/src/lib/targets/codex-hooks.js.map +1 -1
  43. package/src/lib/targets/hooks-shared.d.ts +22 -1
  44. package/src/lib/targets/hooks-shared.js +42 -9
  45. package/src/lib/targets/hooks-shared.js.map +1 -1
  46. package/src/lib/targets/shared.js +1 -0
  47. package/src/lib/targets/shared.js.map +1 -1
  48. package/src/lib/timetrack-command.js +449 -20
  49. package/src/lib/timetrack-command.js.map +1 -1
  50. package/src/lib/timetrack.d.ts +241 -0
  51. package/src/lib/timetrack.js +83 -2
  52. package/src/lib/timetrack.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/git.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export * from './load-content';
5
5
  export * from './migrate';
6
6
  export * from './output-style';
7
7
  export * from './owned-paths';
8
+ export * from './plain-text';
8
9
  export * from './plan';
9
10
  export * from './render';
10
11
  export * from './sync';
package/src/lib/index.js CHANGED
@@ -8,6 +8,7 @@ tslib_1.__exportStar(require("./load-content"), exports);
8
8
  tslib_1.__exportStar(require("./migrate"), exports);
9
9
  tslib_1.__exportStar(require("./output-style"), exports);
10
10
  tslib_1.__exportStar(require("./owned-paths"), exports);
11
+ tslib_1.__exportStar(require("./plain-text"), exports);
11
12
  tslib_1.__exportStar(require("./plan"), exports);
12
13
  tslib_1.__exportStar(require("./render"), exports);
13
14
  tslib_1.__exportStar(require("./sync"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,mDAAyB;AACzB,wDAA8B;AAC9B,yDAA+B;AAC/B,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,iDAAuB;AACvB,mDAAyB;AACzB,iDAAuB;AACvB,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,mDAAyB;AACzB,wDAA8B;AAC9B,yDAA+B;AAC/B,oDAA0B;AAC1B,yDAA+B;AAC/B,wDAA8B;AAC9B,uDAA6B;AAC7B,iDAAuB;AACvB,mDAAyB;AACzB,iDAAuB;AACvB,2DAAiC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * One line as a terminal prints it literally.
3
+ *
4
+ * A Jira summary, a stand-in name and an error message all reach the terminal as somebody typed them.
5
+ * An escape sequence in one of them can clear the screen, move the cursor or redraw a line that has
6
+ * already been printed, so output could be made to say something the app never answered. Every control
7
+ * character apart from tab and newline is printed as its own escaped form instead.
8
+ */
9
+ export declare const plain: (text: string) => string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.plain = void 0;
4
+ /** Tab and newline are the only control characters a printed line may hold. */
5
+ const isControl = (code) => (code < 0x20 ? code !== 0x09 && code !== 0x0a : code >= 0x7f && code <= 0x9f);
6
+ /**
7
+ * One line as a terminal prints it literally.
8
+ *
9
+ * A Jira summary, a stand-in name and an error message all reach the terminal as somebody typed them.
10
+ * An escape sequence in one of them can clear the screen, move the cursor or redraw a line that has
11
+ * already been printed, so output could be made to say something the app never answered. Every control
12
+ * character apart from tab and newline is printed as its own escaped form instead.
13
+ */
14
+ const plain = (text) => [...text]
15
+ .map((character) => {
16
+ var _a;
17
+ const code = (_a = character.codePointAt(0)) !== null && _a !== void 0 ? _a : 0;
18
+ return isControl(code) ? `\\x${code.toString(16).padStart(2, '0')}` : character;
19
+ })
20
+ .join('');
21
+ exports.plain = plain;
22
+ //# sourceMappingURL=plain-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plain-text.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plain-text.ts"],"names":[],"mappings":";;;AAAA,+EAA+E;AAC/E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC;AAElH;;;;;;;GAOG;AACI,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CACpC,CAAC,GAAG,IAAI,CAAC;KACN,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;;IACjB,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC;IAE3C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC,CAAC;KACD,IAAI,CAAC,EAAE,CAAC,CAAC;AAPD,QAAA,KAAK,SAOJ"}
@@ -11,10 +11,11 @@ const commandFor = (file) => `python3 "$CLAUDE_PROJECT_DIR/${HOOKS_DIR}/${file}"
11
11
  */
12
12
  const emitClaudeHooks = (options) => {
13
13
  const { context, claudeTarget, existingSettings } = options;
14
- const hooks = claudeTarget ? context.hooks : [];
14
+ const hooks = claudeTarget ? (0, hooks_shared_1.hooksForAgent)({ hooks: context.hooks, agent: 'claude' }) : [];
15
15
  return [
16
16
  ...(0, hooks_shared_1.emitHookScripts)({ hooks, hooksDir: HOOKS_DIR }),
17
17
  ...(0, hooks_shared_1.emitHookSettings)({
18
+ agent: 'claude',
18
19
  path: exports.CLAUDE_SETTINGS_FILE,
19
20
  existing: existingSettings,
20
21
  hooks,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-hooks.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/claude-hooks.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AAEtD,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gCAAgC,SAAS,IAAI,IAAI,kBAAkB,CAAC;AAEzG;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,OAI/B,EAAiB,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhD,OAAO;QACL,GAAG,IAAA,8BAAe,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClD,GAAG,IAAA,+BAAgB,EAAC;YAClB,IAAI,EAAE,4BAAoB;YAC1B,QAAQ,EAAE,gBAAgB;YAC1B,KAAK;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU;YACV,eAAe,EAAE,IAAI;SACtB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,eAAe,mBAmB1B"}
1
+ {"version":3,"file":"claude-hooks.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/claude-hooks.ts"],"names":[],"mappings":";;;AACA,iDAAkF;AAErE,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,gCAAgC,SAAS,IAAI,IAAI,kBAAkB,CAAC;AAEzG;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,OAI/B,EAAiB,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC;IAC5D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE3F,OAAO;QACL,GAAG,IAAA,8BAAe,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClD,GAAG,IAAA,+BAAgB,EAAC;YAClB,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,4BAAoB;YAC1B,QAAQ,EAAE,gBAAgB;YAC1B,KAAK;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU;YACV,eAAe,EAAE,IAAI;SACtB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,eAAe,mBAoB1B"}
@@ -16,10 +16,11 @@ const commandFor = (file) => `python3 "$(git rev-parse --show-toplevel)/${HOOKS_
16
16
  */
17
17
  const emitCodexHooks = (options) => {
18
18
  const { context, codexTarget, existingHooks } = options;
19
- const hooks = codexTarget ? context.hooks : [];
19
+ const hooks = codexTarget ? (0, hooks_shared_1.hooksForAgent)({ hooks: context.hooks, agent: 'codex' }) : [];
20
20
  return [
21
21
  ...(0, hooks_shared_1.emitHookScripts)({ hooks, hooksDir: HOOKS_DIR }),
22
22
  ...(0, hooks_shared_1.emitHookSettings)({
23
+ agent: 'codex',
23
24
  path: exports.CODEX_HOOKS_FILE,
24
25
  existing: existingHooks,
25
26
  hooks,
@@ -1 +1 @@
1
- {"version":3,"file":"codex-hooks.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/codex-hooks.ts"],"names":[],"mappings":";;;AACA,iDAAmE;AAEtD,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,6CAA6C,SAAS,IAAI,IAAI,iBAAiB,CAAC;AAErH;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,OAI9B,EAAiB,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/C,OAAO;QACL,GAAG,IAAA,8BAAe,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClD,GAAG,IAAA,+BAAgB,EAAC;YAClB,IAAI,EAAE,wBAAgB;YACtB,QAAQ,EAAE,aAAa;YACvB,KAAK;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU;YACV,eAAe,EAAE,KAAK;SACvB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB"}
1
+ {"version":3,"file":"codex-hooks.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/codex-hooks.ts"],"names":[],"mappings":";;;AACA,iDAAkF;AAErE,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAEpD,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,6CAA6C,SAAS,IAAI,IAAI,iBAAiB,CAAC;AAErH;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,OAI9B,EAAiB,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACxD,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,4BAAa,EAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,OAAO;QACL,GAAG,IAAA,8BAAe,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAClD,GAAG,IAAA,+BAAgB,EAAC;YAClB,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,wBAAgB;YACtB,QAAQ,EAAE,aAAa;YACvB,KAAK;YACL,QAAQ,EAAE,SAAS;YACnB,UAAU;YACV,eAAe,EAAE,KAAK;SACvB,CAAC;KACH,CAAC;AACJ,CAAC,CAAC;AApBW,QAAA,cAAc,kBAoBzB"}
@@ -1,14 +1,33 @@
1
1
  import { EmittedFile } from './shared';
2
- type HookDefinition = {
2
+ type HookRegistration = {
3
3
  event: string;
4
+ /** Tool-name pattern for a tool-scoped event, so the script is not run on every tool call. */
5
+ matcher?: string;
6
+ /** Agents that have this event. Empty means every target that registers the hook gets it. */
7
+ agents?: string[];
8
+ };
9
+ type HookDefinition = {
10
+ events: HookRegistration[];
4
11
  file: string;
5
12
  timeout: number;
13
+ /** Agents that have the hook at all. Empty means every target registers it. */
14
+ agents?: string[];
6
15
  };
7
16
  /**
8
17
  * Hooks a repo can opt into via the config's `hooks` array. Hooks run arbitrary commands on the
9
18
  * developer's machine, so unlike rules and skills they are never emitted by default.
10
19
  */
11
20
  export declare const KNOWN_HOOKS: Record<string, HookDefinition>;
21
+ /** Drops the hooks whose event the agent does not have, so neither script nor entry is emitted. */
22
+ export declare const hooksForAgent: (options: {
23
+ hooks: string[];
24
+ agent: string;
25
+ }) => string[];
26
+ /** The registrations of one hook that the given agent has the event for. */
27
+ export declare const eventsForAgent: (options: {
28
+ hook: string;
29
+ agent: string;
30
+ }) => HookRegistration[];
12
31
  export declare const assertKnownHooks: (hooks: string[]) => void;
13
32
  /**
14
33
  * Rewrites the generated entries declaratively: every entry whose command points into the
@@ -16,6 +35,7 @@ export declare const assertKnownHooks: (hooks: string[]) => void;
16
35
  * disabling a hook in the config also unregisters it. Everything else in the file is untouched.
17
36
  */
18
37
  export declare const mergeHookSettings: (options: {
38
+ agent: string;
19
39
  existing: string;
20
40
  hooks: string[];
21
41
  hooksDir: string;
@@ -27,6 +47,7 @@ export declare const emitHookScripts: (options: {
27
47
  }) => EmittedFile[];
28
48
  /** Only planned when the parsed content actually changes; an unparseable file is left alone. */
29
49
  export declare const emitHookSettings: (options: {
50
+ agent: string;
30
51
  path: string;
31
52
  existing: string;
32
53
  hooks: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.emitHookSettings = exports.emitHookScripts = exports.mergeHookSettings = exports.assertKnownHooks = exports.KNOWN_HOOKS = void 0;
3
+ exports.emitHookSettings = exports.emitHookScripts = exports.mergeHookSettings = exports.assertKnownHooks = exports.eventsForAgent = exports.hooksForAgent = exports.KNOWN_HOOKS = void 0;
4
4
  const fs_1 = require("fs");
5
5
  const path_1 = require("path");
6
6
  const load_content_1 = require("../load-content");
@@ -10,8 +10,39 @@ const render_1 = require("../render");
10
10
  * developer's machine, so unlike rules and skills they are never emitted by default.
11
11
  */
12
12
  exports.KNOWN_HOOKS = {
13
- 'context-warning': { event: 'UserPromptSubmit', file: 'context-warning.py', timeout: 10 },
13
+ 'context-warning': {
14
+ events: [
15
+ { event: 'UserPromptSubmit' },
16
+ // Codex has none of the three below, so its registration stays prompt-only.
17
+ { event: 'SessionStart', agents: ['claude'] },
18
+ // The only event between an agent's own model requests, and the only way a warning
19
+ // reaches a long autonomous run before the user sends a message.
20
+ { event: 'PostToolBatch', agents: ['claude'] },
21
+ { event: 'Stop', agents: ['claude'] },
22
+ ],
23
+ file: 'context-warning.py',
24
+ timeout: 10,
25
+ },
26
+ 'subagent-model-policy': {
27
+ events: [{ event: 'PreToolUse', matcher: 'Task|Agent' }],
28
+ file: 'subagent-model-policy.py',
29
+ timeout: 10,
30
+ agents: ['claude'],
31
+ },
14
32
  };
33
+ /** Drops the hooks whose event the agent does not have, so neither script nor entry is emitted. */
34
+ const hooksForAgent = (options) => options.hooks.filter((name) => {
35
+ var _a, _b;
36
+ const agents = (_b = (_a = exports.KNOWN_HOOKS[name]) === null || _a === void 0 ? void 0 : _a.agents) !== null && _b !== void 0 ? _b : [];
37
+ return agents.length === 0 || agents.includes(options.agent);
38
+ });
39
+ exports.hooksForAgent = hooksForAgent;
40
+ /** The registrations of one hook that the given agent has the event for. */
41
+ const eventsForAgent = (options) => {
42
+ var _a, _b;
43
+ return ((_b = (_a = exports.KNOWN_HOOKS[options.hook]) === null || _a === void 0 ? void 0 : _a.events) !== null && _b !== void 0 ? _b : []).filter((registration) => { var _a, _b; return ((_a = registration.agents) !== null && _a !== void 0 ? _a : []).length === 0 || ((_b = registration.agents) === null || _b === void 0 ? void 0 : _b.includes(options.agent)); });
44
+ };
45
+ exports.eventsForAgent = eventsForAgent;
15
46
  const assertKnownHooks = (hooks) => {
16
47
  const unknown = hooks.filter((name) => !(name in exports.KNOWN_HOOKS));
17
48
  if (unknown.length > 0) {
@@ -34,7 +65,7 @@ const withBanner = (raw) => {
34
65
  */
35
66
  const mergeHookSettings = (options) => {
36
67
  var _a, _b;
37
- const { existing, hooks, hooksDir, commandFor } = options;
68
+ const { agent, existing, hooks, hooksDir, commandFor } = options;
38
69
  const settings = JSON.parse(existing.trim() || '{}');
39
70
  const events = Object.assign({}, ((_a = settings.hooks) !== null && _a !== void 0 ? _a : {}));
40
71
  for (const [event, groups] of Object.entries(events)) {
@@ -53,10 +84,12 @@ const mergeHookSettings = (options) => {
53
84
  const definition = exports.KNOWN_HOOKS[name];
54
85
  if (!definition)
55
86
  continue;
56
- events[definition.event] = [
57
- ...((_b = events[definition.event]) !== null && _b !== void 0 ? _b : []),
58
- { hooks: [{ type: 'command', command: commandFor(definition.file), timeout: definition.timeout }] },
59
- ];
87
+ for (const registration of (0, exports.eventsForAgent)({ hook: name, agent })) {
88
+ events[registration.event] = [
89
+ ...((_b = events[registration.event]) !== null && _b !== void 0 ? _b : []),
90
+ Object.assign(Object.assign({}, (registration.matcher ? { matcher: registration.matcher } : {})), { hooks: [{ type: 'command', command: commandFor(definition.file), timeout: definition.timeout }] }),
91
+ ];
92
+ }
60
93
  }
61
94
  if (Object.keys(events).length > 0)
62
95
  settings.hooks = events;
@@ -78,11 +111,11 @@ const emitHookScripts = (options) => {
78
111
  exports.emitHookScripts = emitHookScripts;
79
112
  /** Only planned when the parsed content actually changes; an unparseable file is left alone. */
80
113
  const emitHookSettings = (options) => {
81
- const { path, existing, hooks, hooksDir, commandFor, createWhenEmpty } = options;
114
+ const { agent, path, existing, hooks, hooksDir, commandFor, createWhenEmpty } = options;
82
115
  if (existing.trim().length === 0 && hooks.length === 0 && !createWhenEmpty)
83
116
  return [];
84
117
  try {
85
- const merged = (0, exports.mergeHookSettings)({ existing, hooks, hooksDir, commandFor });
118
+ const merged = (0, exports.mergeHookSettings)({ agent, existing, hooks, hooksDir, commandFor });
86
119
  if (JSON.stringify(JSON.parse(existing.trim() || '{}')) === JSON.stringify(JSON.parse(merged)))
87
120
  return [];
88
121
  return [{ path, contents: merged }];
@@ -1 +1 @@
1
- {"version":3,"file":"hooks-shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/hooks-shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks-shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/hooks-shared.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ const skillBundle = (options) => {
42
42
  '---',
43
43
  `name: ethlete-${item.frontmatter.name}`,
44
44
  `description: ${(0, exports.yamlString)((0, exports.description)({ item, context }))}`,
45
+ ...(item.frontmatter.modelInvocation ? [] : ['disable-model-invocation: true']),
45
46
  '---',
46
47
  ].join('\n');
47
48
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/shared.ts"],"names":[],"mappings":"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"}