@ethlete/agent-rules 0.1.0-next.11 → 0.1.0-next.13
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 +15 -0
- package/README.md +27 -25
- package/content/hooks/context-warning.py +25 -6
- package/content/rules/lint-and-format.md +5 -4
- package/content/rules/reactive-state.md +1 -1
- package/content/rules/styling.md +8 -6
- package/content/skills/angular-patterns/SKILL.md +6 -6
- package/content/skills/api-source/SKILL.md +33 -21
- package/content/skills/figma-export/SKILL.md +16 -18
- package/content/skills/git-flow/SKILL.md +2 -2
- package/content/skills/handoff/SKILL.md +4 -4
- package/content/skills/query/SKILL.md +23 -12
- package/content/skills/rxjs-signals/SKILL.md +9 -3
- package/content/skills/sdk-docs/SKILL.md +6 -5
- package/content/skills/sdk-local-build/SKILL.md +26 -8
- package/content/skills/sdk-local-build/sdk-local-baseline.mjs +64 -0
- package/content/skills/sdk-source/SKILL.md +36 -33
- package/content/skills/story-styling/SKILL.md +3 -2
- package/content/skills/styleguide/SKILL.md +11 -6
- package/content/skills/styleguide/assets.md +54 -0
- package/content/skills/styleguide/changesets.md +17 -0
- package/content/skills/styleguide/file-structure.md +73 -0
- package/content/skills/styleguide/lint-rule-lookup.md +50 -0
- package/content/skills/styleguide/storybook-structure.md +25 -0
- package/content/skills/theming/SKILL.md +11 -11
- package/content/skills/timetrack/SKILL.md +1 -1
- package/package.json +1 -1
- package/src/lib/config.d.ts +13 -7
- package/src/lib/config.js +14 -9
- package/src/lib/config.js.map +1 -1
- package/src/lib/plan.d.ts +6 -5
- package/src/lib/plan.js +66 -59
- package/src/lib/plan.js.map +1 -1
- package/src/lib/sync.js +1 -4
- package/src/lib/sync.js.map +1 -1
- package/src/lib/targets/agents-skills.js +1 -1
- package/src/lib/targets/agents-skills.js.map +1 -1
- package/src/lib/targets/claude.js +0 -1
- package/src/lib/targets/claude.js.map +1 -1
- package/src/lib/targets/codex.js +2 -2
- package/src/lib/targets/codex.js.map +1 -1
- package/src/lib/targets/copilot.js +1 -1
- package/src/lib/targets/copilot.js.map +1 -1
- package/src/lib/targets/cursor.js +1 -1
- package/src/lib/targets/cursor.js.map +1 -1
- package/src/lib/targets/shared.d.ts +1 -8
- package/src/lib/targets/shared.js +2 -7
- package/src/lib/targets/shared.js.map +1 -1
- package/content/skills/styleguide/STYLEGUIDE.md +0 -520
package/src/lib/plan.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { SyncConfig } from './config';
|
|
2
2
|
import { SkippedItem } from './filter';
|
|
3
|
+
import { ContentItem } from './load-content';
|
|
3
4
|
import { EmittedFile } from './targets/shared';
|
|
4
5
|
export type SyncPlan = {
|
|
5
6
|
files: EmittedFile[];
|
|
6
7
|
skipped: SkippedItem[];
|
|
7
|
-
/** Cross-references whose target was filtered out of this repo; rendered as a bare name. */
|
|
8
|
-
danglingLinks: {
|
|
9
|
-
from: string;
|
|
10
|
-
to: string;
|
|
11
|
-
}[];
|
|
12
8
|
/** Config/repo mismatches that won't fail the run but will silently lose content if ignored. */
|
|
13
9
|
warnings: string[];
|
|
14
10
|
};
|
|
11
|
+
export declare const assertResolvedContentReferences: (options: {
|
|
12
|
+
items: ContentItem[];
|
|
13
|
+
kept: ContentItem[];
|
|
14
|
+
skipped: SkippedItem[];
|
|
15
|
+
}) => void;
|
|
15
16
|
/** `@AGENTS.md` on its own line (the documented import syntax), or a symlink pointing at it. */
|
|
16
17
|
export declare const claudeMdImportsAgentsMd: (root: string) => boolean;
|
|
17
18
|
/**
|
package/src/lib/plan.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildPlan = exports.claudeMdImportsAgentsMd = void 0;
|
|
3
|
+
exports.buildPlan = exports.claudeMdImportsAgentsMd = exports.assertResolvedContentReferences = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
6
|
const config_1 = require("./config");
|
|
@@ -16,10 +16,43 @@ const hooks_shared_1 = require("./targets/hooks-shared");
|
|
|
16
16
|
const copilot_1 = require("./targets/copilot");
|
|
17
17
|
const cursor_1 = require("./targets/cursor");
|
|
18
18
|
const SKILL_LINK_PATTERN = /\{%\s*skill:([a-zA-Z0-9_.-]+)\s*%\}/g;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
const RESOURCE_LINK_PATTERN = /\{%\s*resource:([a-zA-Z0-9_.-]+)\s*%\}/g;
|
|
20
|
+
const assertResolvedContentReferences = (options) => {
|
|
21
|
+
var _a;
|
|
22
|
+
const { items, kept, skipped } = options;
|
|
23
|
+
const knownSkills = new Set(items.filter((item) => item.frontmatter.kind === 'skill').map((item) => item.frontmatter.name));
|
|
24
|
+
const emittedSkills = new Set(kept.filter((item) => item.frontmatter.kind === 'skill').map((item) => item.frontmatter.name));
|
|
25
|
+
const skippedByName = new Map(skipped.map((item) => [item.name, item.reason]));
|
|
26
|
+
for (const item of kept) {
|
|
27
|
+
const origin = item.frontmatter.kind === 'skill' ? `skills/${item.frontmatter.name}/SKILL.md` : item.sourcePath;
|
|
28
|
+
const skillLinks = [...item.body.matchAll(SKILL_LINK_PATTERN)].map((match) => match[1]);
|
|
29
|
+
for (const target of skillLinks) {
|
|
30
|
+
if (!knownSkills.has(target)) {
|
|
31
|
+
throw new Error(`${origin}: references unknown package skill "${target}".`);
|
|
32
|
+
}
|
|
33
|
+
if (!emittedSkills.has(target)) {
|
|
34
|
+
const reason = (_a = skippedByName.get(target)) !== null && _a !== void 0 ? _a : 'it was not selected for emission';
|
|
35
|
+
throw new Error(`${origin}: references package skill "${target}", but it is not emitted because ${reason}.`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const resources = new Set(item.resources.map((resource) => resource.fileName));
|
|
39
|
+
for (const target of [...item.body.matchAll(RESOURCE_LINK_PATTERN)].map((match) => match[1])) {
|
|
40
|
+
if (!resources.has(target)) {
|
|
41
|
+
throw new Error(`${origin}: references missing bundled resource "${target}".`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const withoutStructuredLinks = item.body.replace(SKILL_LINK_PATTERN, '');
|
|
45
|
+
for (const target of knownSkills) {
|
|
46
|
+
if (target === item.frontmatter.name)
|
|
47
|
+
continue;
|
|
48
|
+
const plainReference = new RegExp('`(?:ethlete-)?' + target.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '` (?:skill|guide)');
|
|
49
|
+
if (plainReference.test(withoutStructuredLinks)) {
|
|
50
|
+
throw new Error(`${origin}: references package skill "${target}" as plain text; use "{% skill:${target} %}" so filtering can validate it.`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
exports.assertResolvedContentReferences = assertResolvedContentReferences;
|
|
23
56
|
const readExisting = (root, relativePath) => {
|
|
24
57
|
const path = (0, path_1.join)(root, relativePath);
|
|
25
58
|
return (0, fs_1.existsSync)(path) ? (0, fs_1.readFileSync)(path, 'utf8') : '';
|
|
@@ -34,51 +67,6 @@ const claudeMdImportsAgentsMd = (root) => {
|
|
|
34
67
|
return /^@AGENTS\.md\s*$/m.test((0, fs_1.readFileSync)(path, 'utf8'));
|
|
35
68
|
};
|
|
36
69
|
exports.claudeMdImportsAgentsMd = claudeMdImportsAgentsMd;
|
|
37
|
-
/** Marks a directory as an `ethlete-sdk` checkout rather than some other folder. */
|
|
38
|
-
const SDK_CHECKOUT_MARKERS = ['libs/components', 'libs/core', 'libs/agent-rules'];
|
|
39
|
-
const describeSdkSourcePath = (options) => {
|
|
40
|
-
const { root, value } = options;
|
|
41
|
-
if (value === undefined)
|
|
42
|
-
return [];
|
|
43
|
-
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
44
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "sdkSourcePath" — use a path to an ethlete-sdk checkout.`];
|
|
45
|
-
}
|
|
46
|
-
const absolute = (0, path_1.resolve)(root, value);
|
|
47
|
-
if (!(0, fs_1.existsSync)(absolute)) {
|
|
48
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "sdkSourcePath" at ${absolute}, which does not exist.`];
|
|
49
|
-
}
|
|
50
|
-
if (SDK_CHECKOUT_MARKERS.some((marker) => !(0, fs_1.existsSync)((0, path_1.join)(absolute, marker)))) {
|
|
51
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "sdkSourcePath" at ${absolute}, which is not an ethlete-sdk checkout.`];
|
|
52
|
-
}
|
|
53
|
-
return [];
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* An API repo can be any stack, so there is no marker to check the way an SDK checkout has one —
|
|
57
|
-
* only that every entry names an app and points at a directory that is there.
|
|
58
|
-
*/
|
|
59
|
-
const describeApiRepoPaths = (options) => {
|
|
60
|
-
const { root, value } = options;
|
|
61
|
-
if (value === undefined)
|
|
62
|
-
return [];
|
|
63
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
64
|
-
return [
|
|
65
|
-
`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths" value — use an object mapping an app name to its API repo path.`,
|
|
66
|
-
];
|
|
67
|
-
}
|
|
68
|
-
return Object.entries(value).flatMap(([app, path]) => {
|
|
69
|
-
if (typeof path !== 'string' || path.trim().length === 0) {
|
|
70
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "apiRepoPaths.${app}" value — use a path to the API repo.`];
|
|
71
|
-
}
|
|
72
|
-
const absolute = (0, path_1.resolve)(root, path);
|
|
73
|
-
if (!(0, fs_1.existsSync)(absolute)) {
|
|
74
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which does not exist.`];
|
|
75
|
-
}
|
|
76
|
-
if (!(0, fs_1.statSync)(absolute).isDirectory()) {
|
|
77
|
-
return [`${config_1.LOCAL_CONFIG_FILE_NAME} points "apiRepoPaths.${app}" at ${absolute}, which is not a directory.`];
|
|
78
|
-
}
|
|
79
|
-
return [];
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
70
|
/**
|
|
83
71
|
* The local file only affects runtime behavior, never sync output — so the warnings here are about
|
|
84
72
|
* the mistakes that would otherwise fail silently: a file the hooks can't parse, a key that
|
|
@@ -94,10 +82,12 @@ const collectLocalConfigWarnings = (root) => {
|
|
|
94
82
|
}
|
|
95
83
|
const warnings = [];
|
|
96
84
|
if (local.unknownKeys.length > 0) {
|
|
97
|
-
warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports
|
|
85
|
+
warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} contains unsupported key(s): ${local.unknownKeys.join(', ')} — the local file supports ${config_1.LOCAL_CONFIG_KEYS.map((key) => `"${key}"`).join(' and ')}; it never changes what sync writes.`);
|
|
86
|
+
}
|
|
87
|
+
if (local.movedKeys.length > 0) {
|
|
88
|
+
warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} still holds ${local.movedKeys.map((key) => `"${key}"`).join(', ')} — move ` +
|
|
89
|
+
`${local.movedKeys.length === 1 ? 'it' : 'them'} to ${config_1.TOPOLOGY_CONFIG_FILE_NAME}, which \`et\` reads too.`);
|
|
98
90
|
}
|
|
99
|
-
warnings.push(...describeSdkSourcePath({ root, value: local.config.sdkSourcePath }));
|
|
100
|
-
warnings.push(...describeApiRepoPaths({ root, value: local.config.apiRepoPaths }));
|
|
101
91
|
const disable = local.config.disableHooks;
|
|
102
92
|
if (disable !== undefined && typeof disable !== 'boolean' && !Array.isArray(disable)) {
|
|
103
93
|
warnings.push(`${config_1.LOCAL_CONFIG_FILE_NAME} has an invalid "disableHooks" value — use true or an array of hook names; hooks stay enabled.`);
|
|
@@ -125,8 +115,21 @@ const collectGitHookWarnings = (config) => {
|
|
|
125
115
|
`gitHooks is set to ${config.gitHooks.join(', ')} but there is no ${git_hooks_1.HUSKY_DIR}/ directory — nothing was written. Install husky, or run \`npx ethlete-agents git-flow check\` from your own hooks.`,
|
|
126
116
|
];
|
|
127
117
|
};
|
|
128
|
-
const
|
|
129
|
-
const
|
|
118
|
+
const collectExcludeWarnings = (items, exclude) => {
|
|
119
|
+
const knownNames = new Set(items.map((item) => item.frontmatter.name));
|
|
120
|
+
const unknownNames = exclude.filter((name) => !knownNames.has(name));
|
|
121
|
+
if (unknownNames.length === 0)
|
|
122
|
+
return [];
|
|
123
|
+
return [
|
|
124
|
+
`${config_1.CONFIG_FILE_NAME} excludes unknown content name(s): ${unknownNames.join(', ')} — check their spelling or remove them.`,
|
|
125
|
+
];
|
|
126
|
+
};
|
|
127
|
+
const collectWarnings = (config, items) => {
|
|
128
|
+
const warnings = [
|
|
129
|
+
...collectLocalConfigWarnings(config.root),
|
|
130
|
+
...collectGitHookWarnings(config),
|
|
131
|
+
...collectExcludeWarnings(items, config.exclude),
|
|
132
|
+
];
|
|
130
133
|
if (!config.claudeMdImportsAgentsMd)
|
|
131
134
|
return warnings;
|
|
132
135
|
if (!config.targets.includes('codex')) {
|
|
@@ -145,13 +148,13 @@ const buildPlan = (options) => {
|
|
|
145
148
|
const { config } = options;
|
|
146
149
|
(0, hooks_shared_1.assertKnownHooks)(config.hooks);
|
|
147
150
|
(0, git_hooks_1.assertKnownGitHooks)(config.gitHooks);
|
|
148
|
-
const
|
|
151
|
+
const items = (0, load_content_1.loadContent)();
|
|
152
|
+
const { kept, skipped } = (0, filter_1.filterContent)(items, config);
|
|
153
|
+
(0, exports.assertResolvedContentReferences)({ items, kept, skipped });
|
|
149
154
|
const skills = kept.filter((item) => item.frontmatter.kind === 'skill');
|
|
150
|
-
const emittedSkills = new Set(skills.map((item) => item.frontmatter.name));
|
|
151
155
|
const context = {
|
|
152
156
|
rules: kept.filter((item) => item.frontmatter.kind === 'rule'),
|
|
153
157
|
skills,
|
|
154
|
-
emittedSkills,
|
|
155
158
|
vars: config.vars,
|
|
156
159
|
claudeMdImportsAgentsMd: config.claudeMdImportsAgentsMd,
|
|
157
160
|
hooks: config.hooks,
|
|
@@ -184,7 +187,11 @@ const buildPlan = (options) => {
|
|
|
184
187
|
huskyExists: (0, fs_1.existsSync)((0, path_1.join)(config.root, git_hooks_1.HUSKY_DIR)),
|
|
185
188
|
existing: Object.fromEntries(Object.keys(git_hooks_1.KNOWN_GIT_HOOKS).map((name) => [name, readExisting(config.root, (0, git_hooks_1.huskyHookPath)(name))])),
|
|
186
189
|
}));
|
|
187
|
-
return {
|
|
190
|
+
return {
|
|
191
|
+
files,
|
|
192
|
+
skipped,
|
|
193
|
+
warnings: collectWarnings(config, items),
|
|
194
|
+
};
|
|
188
195
|
};
|
|
189
196
|
exports.buildPlan = buildPlan;
|
|
190
197
|
//# sourceMappingURL=plan.js.map
|
package/src/lib/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/plan.ts"],"names":[],"mappings":"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"}
|
package/src/lib/sync.js
CHANGED
|
@@ -39,7 +39,7 @@ const describe = (change) => {
|
|
|
39
39
|
};
|
|
40
40
|
const sync = (options) => {
|
|
41
41
|
const config = (0, config_1.loadConfig)({ root: options.root, targetOverride: options.targets });
|
|
42
|
-
const { files, skipped,
|
|
42
|
+
const { files, skipped, warnings } = (0, plan_1.buildPlan)({ config });
|
|
43
43
|
const changes = diffPlan({ root: options.root, files, owned: (0, owned_paths_1.collectOwnedPaths)(options.root) });
|
|
44
44
|
console.log(`Targets: ${config.targets.join(', ')}`);
|
|
45
45
|
for (const warning of warnings) {
|
|
@@ -48,9 +48,6 @@ const sync = (options) => {
|
|
|
48
48
|
for (const entry of skipped) {
|
|
49
49
|
console.log(` skip ${entry.name} — ${entry.reason}`);
|
|
50
50
|
}
|
|
51
|
-
for (const link of danglingLinks) {
|
|
52
|
-
console.log(` note ${link.from} references "${link.to}", which is not emitted here — rendered as plain text`);
|
|
53
|
-
}
|
|
54
51
|
if (changes.length === 0) {
|
|
55
52
|
console.log('Everything is already up to date.');
|
|
56
53
|
return 0;
|
package/src/lib/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/sync.ts"],"names":[],"mappings":";;;AAAA,2BAAwG;AACxG,+BAA+C;AAC/C,qCAAmD;AACnD,+CAAkD;AAClD,iCAAmC;AAanC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE3G,MAAM,QAAQ,GAAG,CAAC,OAAuF,EAAE,EAAE;IAC3G,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,aAAa,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,cAAc,GAAG,CAAC,OAAuC,EAAE,EAAE;IACjE,IAAI,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAA,eAAQ,EAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClF,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,IAAI,IAAA,gBAAW,EAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEpE,IAAA,cAAS,EAAC,OAAO,CAAC,CAAC;QACnB,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;IAClC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAErF,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,IAAI,GAAG,CAAC,OAAmB,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../../libs/agent-rules/src/lib/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const emitAgentsSkills = (context) => context.skills.flatMap((item) => (0, share
|
|
|
12
12
|
item,
|
|
13
13
|
context,
|
|
14
14
|
dir: (0, shared_1.agentsSkillDir)(item.frontmatter.name),
|
|
15
|
-
links: (0, shared_1.agentsSkillsLinks)(
|
|
15
|
+
links: (0, shared_1.agentsSkillsLinks)(),
|
|
16
16
|
}));
|
|
17
17
|
exports.emitAgentsSkills = emitAgentsSkills;
|
|
18
18
|
//# sourceMappingURL=agents-skills.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-skills.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/agents-skills.ts"],"names":[],"mappings":";;;AAAA,qCAAoG;AAEpG;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAiB,EAAE,CACtE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAA,oBAAW,EAAC;IACV,IAAI;IACJ,OAAO;IACP,GAAG,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC1C,KAAK,EAAE,IAAA,0BAAiB,
|
|
1
|
+
{"version":3,"file":"agents-skills.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/agents-skills.ts"],"names":[],"mappings":";;;AAAA,qCAAoG;AAEpG;;;;;GAKG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAiB,EAAE,CACtE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9B,IAAA,oBAAW,EAAC;IACV,IAAI;IACJ,OAAO;IACP,GAAG,EAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC1C,KAAK,EAAE,IAAA,0BAAiB,GAAE;CAC3B,CAAC,CACH,CAAC;AARS,QAAA,gBAAgB,oBAQzB"}
|
|
@@ -15,7 +15,6 @@ const quoteList = (values) => values.map((value) => ` - '${value}'`).join('\n')
|
|
|
15
15
|
const emitClaude = (context) => {
|
|
16
16
|
const banner = render_1.BANNER;
|
|
17
17
|
const links = (0, shared_1.makeLinks)({
|
|
18
|
-
context,
|
|
19
18
|
skill: (name) => `the **\`ethlete-${name}\`** skill`,
|
|
20
19
|
resource: (target) => `\`${target.fileName}\` (bundled next to this skill)`,
|
|
21
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/claude.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,qCAA4F;AAE5F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,0BAA0B,IAAI,EAAE,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3F;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,CAAC,OAAoB,EAAiB,EAAE;IAChE,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC;QACtB,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/claude.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,qCAA4F;AAE5F,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,0BAA0B,IAAI,EAAE,CAAC;AAEpE,MAAM,SAAS,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3F;;;;;;GAMG;AACI,MAAM,UAAU,GAAG,CAAC,OAAoB,EAAiB,EAAE;IAChE,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,KAAK,GAAG,IAAA,kBAAS,EAAC;QACtB,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,IAAI,YAAY;QACpD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,QAAQ,iCAAiC;KAC5E,CAAC,CAAC;IACH,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpF,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,yBAAyB,IAAI,KAAK;gBACxC,QAAQ,EAAE,IAAA,iBAAQ,EAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;aAC1E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAA,oBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAzBW,QAAA,UAAU,cAyBrB"}
|
package/src/lib/targets/codex.js
CHANGED
|
@@ -13,11 +13,11 @@ exports.CODEX_FILE = 'AGENTS.md';
|
|
|
13
13
|
*/
|
|
14
14
|
const emitCodex = (options) => {
|
|
15
15
|
const { context, existing } = options;
|
|
16
|
-
const sections = context.rules.map((item) => (0, shared_1.body)({ item, context, links: (0, shared_1.agentsSkillsLinks)(
|
|
16
|
+
const sections = context.rules.map((item) => (0, shared_1.body)({ item, context, links: (0, shared_1.agentsSkillsLinks)() }));
|
|
17
17
|
if (context.skills.length > 0) {
|
|
18
18
|
sections.push([
|
|
19
19
|
'## Ethlete skills',
|
|
20
|
-
"On-demand guides live in `.agents/skills/ethlete-*/SKILL.md`;
|
|
20
|
+
"On-demand package guides live in `.agents/skills/ethlete-*/SKILL.md`; `ethlete-agents sync` owns and updates them. Third-party skills may be tracked separately in `skills-lock.json`, while repository-authored skills are maintained by the repository. Each skill's frontmatter says when to read it. If your agent does not discover skills on its own, list the directory and read the matching guide before starting that kind of work — do not work from memory.",
|
|
21
21
|
].join('\n\n'));
|
|
22
22
|
}
|
|
23
23
|
const block = (0, shared_1.document)([render_1.BANNER, ...sections]).trimEnd();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/codex.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AACvD,qCAAuF;AAE1E,QAAA,UAAU,GAAG,WAAW,CAAC;AAEtC;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,CAAC,OAAmD,EAAiB,EAAE;IAC9F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAA,0BAAiB,
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/codex.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AACvD,qCAAuF;AAE1E,QAAA,UAAU,GAAG,WAAW,CAAC;AAEtC;;;;;;GAMG;AACI,MAAM,SAAS,GAAG,CAAC,OAAmD,EAAiB,EAAE;IAC9F,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAA,0BAAiB,GAAE,EAAE,CAAC,CAAC,CAAC;IAElG,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX;YACE,mBAAmB;YACnB,ycAAyc;SAC1c,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,CAAC,eAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAExD,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAU,EAAE,QAAQ,EAAE,IAAA,2BAAkB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC,CAAC;AAhBW,QAAA,SAAS,aAgBpB"}
|
|
@@ -12,7 +12,7 @@ exports.COPILOT_FILE = '.github/copilot-instructions.md';
|
|
|
12
12
|
const emitCopilot = (options) => {
|
|
13
13
|
const { context, existing } = options;
|
|
14
14
|
const banner = render_1.BANNER;
|
|
15
|
-
const sections = context.rules.map((item) => (0, shared_1.body)({ item, context, links: (0, shared_1.agentsSkillsLinks)(
|
|
15
|
+
const sections = context.rules.map((item) => (0, shared_1.body)({ item, context, links: (0, shared_1.agentsSkillsLinks)() }));
|
|
16
16
|
const block = (0, shared_1.document)([banner, ...sections]).trimEnd();
|
|
17
17
|
return [{ path: exports.COPILOT_FILE, contents: (0, render_1.replaceMarkedBlock)({ existing, block }) }];
|
|
18
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/copilot.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AACvD,qCAAuF;AAE1E,QAAA,YAAY,GAAG,iCAAiC,CAAC;AAE9D;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,OAAmD,EAAiB,EAAE;IAChG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAA,0BAAiB,
|
|
1
|
+
{"version":3,"file":"copilot.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/copilot.ts"],"names":[],"mappings":";;;AAAA,sCAAuD;AACvD,qCAAuF;AAE1E,QAAA,YAAY,GAAG,iCAAiC,CAAC;AAE9D;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,OAAmD,EAAiB,EAAE;IAChG,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAA,0BAAiB,GAAE,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,IAAA,iBAAQ,EAAC,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAExD,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAY,EAAE,QAAQ,EAAE,IAAA,2BAAkB,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB"}
|
|
@@ -10,7 +10,7 @@ const shared_1 = require("./shared");
|
|
|
10
10
|
*/
|
|
11
11
|
const emitCursor = (context) => {
|
|
12
12
|
const banner = render_1.BANNER;
|
|
13
|
-
const links = (0, shared_1.agentsSkillsLinks)(
|
|
13
|
+
const links = (0, shared_1.agentsSkillsLinks)();
|
|
14
14
|
return context.rules.map((item) => {
|
|
15
15
|
const { name, paths } = item.frontmatter;
|
|
16
16
|
const frontmatter = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/cursor.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,qCAAgH;AAEhH;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,OAAoB,EAAiB,EAAE;IAChE,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,KAAK,GAAG,IAAA,0BAAiB,
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/cursor.ts"],"names":[],"mappings":";;;AAAA,sCAAmC;AACnC,qCAAgH;AAEhH;;;;GAIG;AACI,MAAM,UAAU,GAAG,CAAC,OAAoB,EAAiB,EAAE;IAChE,MAAM,MAAM,GAAG,eAAM,CAAC;IACtB,MAAM,KAAK,GAAG,IAAA,0BAAiB,GAAE,CAAC;IAElC,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,MAAM,WAAW,GAAG;YAClB,KAAK;YACL,gBAAgB,IAAA,mBAAU,EAAC,IAAA,oBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE;YAC5D,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;YACzD,mBAAmB;YACnB,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,OAAO;YACL,IAAI,EAAE,yBAAyB,IAAI,MAAM;YACzC,QAAQ,EAAE,IAAA,iBAAQ,EAAC,CAAC,WAAW,EAAE,MAAM,EAAE,IAAA,aAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAnBW,QAAA,UAAU,cAmBrB"}
|
|
@@ -8,8 +8,6 @@ export type EmittedFile = {
|
|
|
8
8
|
export type EmitContext = {
|
|
9
9
|
rules: ContentItem[];
|
|
10
10
|
skills: ContentItem[];
|
|
11
|
-
/** Names of the skills that actually survived filtering, so links can't point at a missing file. */
|
|
12
|
-
emittedSkills: Set<string>;
|
|
13
11
|
vars: Record<string, string | string[]>;
|
|
14
12
|
/**
|
|
15
13
|
* The repo's `CLAUDE.md` is an `@AGENTS.md` import (or symlink), so Claude already receives the
|
|
@@ -22,19 +20,14 @@ export type EmitContext = {
|
|
|
22
20
|
export declare const AGENTS_SKILLS_DIR = ".agents/skills";
|
|
23
21
|
export declare const agentsSkillDir: (name: string) => string;
|
|
24
22
|
export declare const agentsSkillPath: (name: string) => string;
|
|
25
|
-
/**
|
|
26
|
-
* A guide can be filtered out of a given repo while another still references it. Degrade such a
|
|
27
|
-
* link to the bare name rather than emitting a path to a file that was never written.
|
|
28
|
-
*/
|
|
29
23
|
export declare const makeLinks: (options: {
|
|
30
|
-
context: EmitContext;
|
|
31
24
|
skill: (name: string) => string;
|
|
32
25
|
resource: (target: {
|
|
33
26
|
skillName: string;
|
|
34
27
|
fileName: string;
|
|
35
28
|
}) => string;
|
|
36
29
|
}) => LinkResolver;
|
|
37
|
-
export declare const agentsSkillsLinks: (
|
|
30
|
+
export declare const agentsSkillsLinks: () => LinkResolver;
|
|
38
31
|
export declare const body: (options: {
|
|
39
32
|
item: ContentItem;
|
|
40
33
|
context: EmitContext;
|
|
@@ -8,17 +8,12 @@ const agentsSkillDir = (name) => `${exports.AGENTS_SKILLS_DIR}/ethlete-${name}`;
|
|
|
8
8
|
exports.agentsSkillDir = agentsSkillDir;
|
|
9
9
|
const agentsSkillPath = (name) => `${(0, exports.agentsSkillDir)(name)}/SKILL.md`;
|
|
10
10
|
exports.agentsSkillPath = agentsSkillPath;
|
|
11
|
-
/**
|
|
12
|
-
* A guide can be filtered out of a given repo while another still references it. Degrade such a
|
|
13
|
-
* link to the bare name rather than emitting a path to a file that was never written.
|
|
14
|
-
*/
|
|
15
11
|
const makeLinks = (options) => ({
|
|
16
|
-
skill:
|
|
12
|
+
skill: options.skill,
|
|
17
13
|
resource: options.resource,
|
|
18
14
|
});
|
|
19
15
|
exports.makeLinks = makeLinks;
|
|
20
|
-
const agentsSkillsLinks = (
|
|
21
|
-
context,
|
|
16
|
+
const agentsSkillsLinks = () => (0, exports.makeLinks)({
|
|
22
17
|
skill: (name) => `\`${(0, exports.agentsSkillPath)(name)}\``,
|
|
23
18
|
resource: (target) => `\`${(0, exports.agentsSkillDir)(target.skillName)}/${target.fileName}\``,
|
|
24
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/shared.ts"],"names":[],"mappings":";;;AAAA,2BAAkC;AAElC,sCAAgG;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../libs/agent-rules/src/lib/targets/shared.ts"],"names":[],"mappings":"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"}
|