@rasensio/aidlc 1.15.2 → 1.17.0
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/README.md +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/compliance.d.ts +36 -0
- package/dist/commands/compliance.d.ts.map +1 -0
- package/dist/commands/compliance.js +275 -0
- package/dist/commands/compliance.js.map +1 -0
- package/dist/commands/constitution.d.ts +26 -0
- package/dist/commands/constitution.d.ts.map +1 -0
- package/dist/commands/constitution.js +145 -0
- package/dist/commands/constitution.js.map +1 -0
- package/dist/commands/cost.d.ts.map +1 -1
- package/dist/commands/cost.js +54 -35
- package/dist/commands/cost.js.map +1 -1
- package/dist/commands/doctor.js +7 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/gate.d.ts.map +1 -1
- package/dist/commands/gate.js +13 -0
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +119 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/metrics.d.ts.map +1 -1
- package/dist/commands/metrics.js +6 -1
- package/dist/commands/metrics.js.map +1 -1
- package/dist/commands/review.d.ts +2 -27
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +10 -166
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +7 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transition.d.ts.map +1 -1
- package/dist/commands/transition.js +24 -1
- package/dist/commands/transition.js.map +1 -1
- package/dist/compile/adapters/claude-code.d.ts.map +1 -1
- package/dist/compile/adapters/claude-code.js +2 -1
- package/dist/compile/adapters/claude-code.js.map +1 -1
- package/dist/compile/adapters/codex.d.ts +22 -1
- package/dist/compile/adapters/codex.d.ts.map +1 -1
- package/dist/compile/adapters/codex.js +61 -27
- package/dist/compile/adapters/codex.js.map +1 -1
- package/dist/compile/adapters/cursor.d.ts.map +1 -1
- package/dist/compile/adapters/cursor.js +2 -19
- package/dist/compile/adapters/cursor.js.map +1 -1
- package/dist/compile/adapters/kiro.d.ts.map +1 -1
- package/dist/compile/adapters/kiro.js +1 -19
- package/dist/compile/adapters/kiro.js.map +1 -1
- package/dist/compile/adapters/windsurf.d.ts.map +1 -1
- package/dist/compile/adapters/windsurf.js +2 -1
- package/dist/compile/adapters/windsurf.js.map +1 -1
- package/dist/compile/guidance-install.d.ts +16 -19
- package/dist/compile/guidance-install.d.ts.map +1 -1
- package/dist/compile/guidance-install.js +26 -111
- package/dist/compile/guidance-install.js.map +1 -1
- package/dist/compile/layer-install.d.ts +122 -0
- package/dist/compile/layer-install.d.ts.map +1 -0
- package/dist/compile/layer-install.js +195 -0
- package/dist/compile/layer-install.js.map +1 -0
- package/dist/compile/loaders.d.ts +14 -0
- package/dist/compile/loaders.d.ts.map +1 -1
- package/dist/compile/loaders.js +23 -18
- package/dist/compile/loaders.js.map +1 -1
- package/dist/compile/skill-format.d.ts +39 -0
- package/dist/compile/skill-format.d.ts.map +1 -0
- package/dist/compile/skill-format.js +50 -0
- package/dist/compile/skill-format.js.map +1 -0
- package/dist/compliance/check.d.ts +79 -0
- package/dist/compliance/check.d.ts.map +1 -0
- package/dist/compliance/check.js +224 -0
- package/dist/compliance/check.js.map +1 -0
- package/dist/compliance/config.d.ts +91 -0
- package/dist/compliance/config.d.ts.map +1 -0
- package/dist/compliance/config.js +173 -0
- package/dist/compliance/config.js.map +1 -0
- package/dist/compliance/findings.d.ts +70 -0
- package/dist/compliance/findings.d.ts.map +1 -0
- package/dist/compliance/findings.js +132 -0
- package/dist/compliance/findings.js.map +1 -0
- package/dist/compliance/gate-criterion.d.ts +87 -0
- package/dist/compliance/gate-criterion.d.ts.map +1 -0
- package/dist/compliance/gate-criterion.js +168 -0
- package/dist/compliance/gate-criterion.js.map +1 -0
- package/dist/compliance/install.d.ts +135 -0
- package/dist/compliance/install.d.ts.map +1 -0
- package/dist/compliance/install.js +291 -0
- package/dist/compliance/install.js.map +1 -0
- package/dist/compliance/report.d.ts +144 -0
- package/dist/compliance/report.d.ts.map +1 -0
- package/dist/compliance/report.js +347 -0
- package/dist/compliance/report.js.map +1 -0
- package/dist/compliance/resolver.d.ts +65 -0
- package/dist/compliance/resolver.d.ts.map +1 -0
- package/dist/compliance/resolver.js +176 -0
- package/dist/compliance/resolver.js.map +1 -0
- package/dist/compliance/schema.d.ts +74 -0
- package/dist/compliance/schema.d.ts.map +1 -0
- package/dist/compliance/schema.js +474 -0
- package/dist/compliance/schema.js.map +1 -0
- package/dist/compliance/types.d.ts +140 -0
- package/dist/compliance/types.d.ts.map +1 -0
- package/dist/compliance/types.js +29 -0
- package/dist/compliance/types.js.map +1 -0
- package/dist/constitution/check.d.ts +22 -0
- package/dist/constitution/check.d.ts.map +1 -0
- package/dist/constitution/check.js +89 -0
- package/dist/constitution/check.js.map +1 -0
- package/dist/constitution/docx.d.ts +51 -0
- package/dist/constitution/docx.d.ts.map +1 -0
- package/dist/constitution/docx.js +157 -0
- package/dist/constitution/docx.js.map +1 -0
- package/dist/constitution/entries.d.ts +27 -0
- package/dist/constitution/entries.d.ts.map +1 -0
- package/dist/constitution/entries.js +65 -0
- package/dist/constitution/entries.js.map +1 -0
- package/dist/constitution/extract.d.ts +34 -0
- package/dist/constitution/extract.d.ts.map +1 -0
- package/dist/constitution/extract.js +117 -0
- package/dist/constitution/extract.js.map +1 -0
- package/dist/constitution/snapshot.d.ts +47 -0
- package/dist/constitution/snapshot.d.ts.map +1 -0
- package/dist/constitution/snapshot.js +159 -0
- package/dist/constitution/snapshot.js.map +1 -0
- package/dist/constitution/statements.d.ts +37 -0
- package/dist/constitution/statements.d.ts.map +1 -0
- package/dist/constitution/statements.js +64 -0
- package/dist/constitution/statements.js.map +1 -0
- package/dist/constitution/types.d.ts +80 -0
- package/dist/constitution/types.d.ts.map +1 -0
- package/dist/constitution/types.js +9 -0
- package/dist/constitution/types.js.map +1 -0
- package/dist/core/gate.d.ts +10 -0
- package/dist/core/gate.d.ts.map +1 -1
- package/dist/core/gate.js.map +1 -1
- package/dist/core/paths.d.ts +48 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +57 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/types.d.ts +12 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/cost/hooks/registry.d.ts +44 -0
- package/dist/cost/hooks/registry.d.ts.map +1 -0
- package/dist/cost/hooks/registry.js +66 -0
- package/dist/cost/hooks/registry.js.map +1 -0
- package/dist/cost/pin.d.ts +63 -0
- package/dist/cost/pin.d.ts.map +1 -0
- package/dist/cost/pin.js +95 -0
- package/dist/cost/pin.js.map +1 -0
- package/dist/cost/providers/claude-code.d.ts +9 -2
- package/dist/cost/providers/claude-code.d.ts.map +1 -1
- package/dist/cost/providers/claude-code.js +10 -5
- package/dist/cost/providers/claude-code.js.map +1 -1
- package/dist/cost/providers/codex.d.ts +107 -0
- package/dist/cost/providers/codex.d.ts.map +1 -0
- package/dist/cost/providers/codex.js +283 -0
- package/dist/cost/providers/codex.js.map +1 -0
- package/dist/cost/providers/index.d.ts.map +1 -1
- package/dist/cost/providers/index.js +6 -0
- package/dist/cost/providers/index.js.map +1 -1
- package/dist/cost/rates.d.ts.map +1 -1
- package/dist/cost/rates.js +14 -0
- package/dist/cost/rates.js.map +1 -1
- package/dist/cost/report.d.ts +23 -1
- package/dist/cost/report.d.ts.map +1 -1
- package/dist/cost/report.js +26 -5
- package/dist/cost/report.js.map +1 -1
- package/dist/cost/sessions.d.ts +10 -1
- package/dist/cost/sessions.d.ts.map +1 -1
- package/dist/cost/sessions.js +10 -2
- package/dist/cost/sessions.js.map +1 -1
- package/dist/cost/sync.d.ts.map +1 -1
- package/dist/cost/sync.js +190 -5
- package/dist/cost/sync.js.map +1 -1
- package/dist/doctor/migrations/compliance-pack-drift.d.ts +62 -0
- package/dist/doctor/migrations/compliance-pack-drift.d.ts.map +1 -0
- package/dist/doctor/migrations/compliance-pack-drift.js +255 -0
- package/dist/doctor/migrations/compliance-pack-drift.js.map +1 -0
- package/dist/doctor/migrations/index.d.ts.map +1 -1
- package/dist/doctor/migrations/index.js +11 -0
- package/dist/doctor/migrations/index.js.map +1 -1
- package/dist/doctor/migrations/legacy-cost-hooks.d.ts.map +1 -1
- package/dist/doctor/migrations/legacy-cost-hooks.js +7 -4
- package/dist/doctor/migrations/legacy-cost-hooks.js.map +1 -1
- package/dist/doctor/migrations/missing-cost-shim.d.ts.map +1 -1
- package/dist/doctor/migrations/missing-cost-shim.js +5 -4
- package/dist/doctor/migrations/missing-cost-shim.js.map +1 -1
- package/dist/doctor/migrations/outdated-cost-hooks.d.ts.map +1 -1
- package/dist/doctor/migrations/outdated-cost-hooks.js +7 -4
- package/dist/doctor/migrations/outdated-cost-hooks.js.map +1 -1
- package/dist/doctor/runner.js +14 -0
- package/dist/doctor/runner.js.map +1 -1
- package/dist/doctor/types.d.ts +35 -3
- package/dist/doctor/types.d.ts.map +1 -1
- package/dist/menu/roster.d.ts.map +1 -1
- package/dist/menu/roster.js +5 -0
- package/dist/menu/roster.js.map +1 -1
- package/dist/metrics/report.d.ts.map +1 -1
- package/dist/metrics/report.js +11 -2
- package/dist/metrics/report.js.map +1 -1
- package/dist/review/findings-parser.d.ts +92 -0
- package/dist/review/findings-parser.d.ts.map +1 -0
- package/dist/review/findings-parser.js +196 -0
- package/dist/review/findings-parser.js.map +1 -0
- package/dist/setup/setup-compute.d.ts +10 -15
- package/dist/setup/setup-compute.d.ts.map +1 -1
- package/dist/setup/setup-compute.js +39 -0
- package/dist/setup/setup-compute.js.map +1 -1
- package/package.json +2 -2
|
@@ -11,7 +11,28 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
14
|
-
import type { PlatformAdapter } from '../../core/types.js';
|
|
14
|
+
import type { PlatformAdapter, Skill } from '../../core/types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Directory name for a Codex skill: `aidlc-<name>`.
|
|
17
|
+
*
|
|
18
|
+
* Prefixed, through the same helper claude-code and kiro use, so one skill name
|
|
19
|
+
* cannot produce two directory spellings across platforms — and matching the path
|
|
20
|
+
* `doctor/migrations/stale-idea-skill.ts` already assumes for an orphaned Codex
|
|
21
|
+
* skill (agent-portability/AC-5).
|
|
22
|
+
*/
|
|
23
|
+
export declare function skillDirName(skill: Skill): string;
|
|
24
|
+
/**
|
|
25
|
+
* A Codex skill file.
|
|
26
|
+
*
|
|
27
|
+
* Codex requires `name` and `description` in frontmatter and matches a request
|
|
28
|
+
* against the `description`, so the trigger words have to be in it. `name` equals
|
|
29
|
+
* the directory name, because a mismatch is what claude-code's own validator
|
|
30
|
+
* rejects and Codex's loader may too (AC-1).
|
|
31
|
+
*
|
|
32
|
+
* The body is the canonical skill body, not a pointer to it: a pointer is exactly
|
|
33
|
+
* what made Codex second-class.
|
|
34
|
+
*/
|
|
35
|
+
export declare function formatCodexSkill(skill: Skill): string;
|
|
15
36
|
/**
|
|
16
37
|
* Codex platform adapter implementation.
|
|
17
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,KAAK,EAMN,MAAM,qBAAqB,CAAC;AAY7B;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAEjD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAQrD;AAkHD;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,eAuD1B,CAAC"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @module
|
|
13
13
|
*/
|
|
14
|
-
import { canonicalSkillFilename } from '../naming.js';
|
|
14
|
+
import { canonicalSkillFilename, normalizeSkillName } from '../naming.js';
|
|
15
|
+
import { formatCanonicalSkill } from '../skill-format.js';
|
|
15
16
|
/**
|
|
16
17
|
* Derive a filesystem-safe filename from a skill name.
|
|
17
18
|
* Pass-through by convention — shared so it cannot drift (AC-34).
|
|
@@ -19,6 +20,37 @@ import { canonicalSkillFilename } from '../naming.js';
|
|
|
19
20
|
function skillFileName(skill) {
|
|
20
21
|
return canonicalSkillFilename(skill.meta.name);
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Directory name for a Codex skill: `aidlc-<name>`.
|
|
25
|
+
*
|
|
26
|
+
* Prefixed, through the same helper claude-code and kiro use, so one skill name
|
|
27
|
+
* cannot produce two directory spellings across platforms — and matching the path
|
|
28
|
+
* `doctor/migrations/stale-idea-skill.ts` already assumes for an orphaned Codex
|
|
29
|
+
* skill (agent-portability/AC-5).
|
|
30
|
+
*/
|
|
31
|
+
export function skillDirName(skill) {
|
|
32
|
+
return normalizeSkillName(skill.meta.name, { prefix: true });
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A Codex skill file.
|
|
36
|
+
*
|
|
37
|
+
* Codex requires `name` and `description` in frontmatter and matches a request
|
|
38
|
+
* against the `description`, so the trigger words have to be in it. `name` equals
|
|
39
|
+
* the directory name, because a mismatch is what claude-code's own validator
|
|
40
|
+
* rejects and Codex's loader may too (AC-1).
|
|
41
|
+
*
|
|
42
|
+
* The body is the canonical skill body, not a pointer to it: a pointer is exactly
|
|
43
|
+
* what made Codex second-class.
|
|
44
|
+
*/
|
|
45
|
+
export function formatCodexSkill(skill) {
|
|
46
|
+
const lines = ['---'];
|
|
47
|
+
lines.push(`name: ${skillDirName(skill)}`);
|
|
48
|
+
lines.push(`description: ${skill.meta.description}`);
|
|
49
|
+
lines.push('---');
|
|
50
|
+
lines.push('');
|
|
51
|
+
lines.push(skill.body);
|
|
52
|
+
return lines.join('\n');
|
|
53
|
+
}
|
|
22
54
|
/**
|
|
23
55
|
* Find the activation directive for a skill's phase from the capability map.
|
|
24
56
|
*/
|
|
@@ -62,13 +94,21 @@ function buildAgentsBlock(skills, caps, ctx) {
|
|
|
62
94
|
lines.push('- Transition log: `.aidlc/state/<instance>/transitions.log` (NDJSON)');
|
|
63
95
|
lines.push('- Read the overview skill for full protocol: `.aidlc/skills/aidlc-overview.md`');
|
|
64
96
|
lines.push('');
|
|
65
|
-
// Per-phase skill
|
|
97
|
+
// Per-phase skill list.
|
|
98
|
+
//
|
|
99
|
+
// These are installed as Codex skills under `.agents/skills/`, so the agent
|
|
100
|
+
// selects one by matching its `description` — the same activation Claude Code and
|
|
101
|
+
// Kiro get. Before this they were only reachable by the reader opening a named
|
|
102
|
+
// file by hand, which is what made Codex a second-class platform
|
|
103
|
+
// (agent-portability/AC-2).
|
|
66
104
|
lines.push('## Phase Skills');
|
|
67
105
|
lines.push('');
|
|
106
|
+
lines.push('Installed as skills under `.agents/skills/`, selected automatically by phase. ' +
|
|
107
|
+
'Invoke one explicitly with `/skills` or `$aidlc-<name>`.');
|
|
108
|
+
lines.push('');
|
|
68
109
|
for (const skill of skills) {
|
|
69
|
-
const filename = skillFileName(skill);
|
|
70
110
|
const directive = getCapabilityDirective(skill, caps);
|
|
71
|
-
let entry = `- **${skill.meta.phase}**:
|
|
111
|
+
let entry = `- **${skill.meta.phase}**: \`${skillDirName(skill)}\``;
|
|
72
112
|
if (directive) {
|
|
73
113
|
entry += ` — ${directive}`;
|
|
74
114
|
}
|
|
@@ -110,14 +150,26 @@ export const codexAdapter = {
|
|
|
110
150
|
plan(skills, caps, ctx) {
|
|
111
151
|
const ops = [];
|
|
112
152
|
const warnings = [];
|
|
113
|
-
// 1. Copy canonical skill bodies to .aidlc/skills
|
|
153
|
+
// 1. Copy canonical skill bodies to .aidlc/skills/, and emit one Codex skill
|
|
154
|
+
// per lifecycle skill.
|
|
155
|
+
//
|
|
156
|
+
// `.agents/skills/` is Codex's own search path — vendor-neutral by design,
|
|
157
|
+
// and NOT `.codex/skills`, which does not exist. Only SKILL.md is emitted:
|
|
158
|
+
// Codex skills may also carry `scripts/`, `assets/` and
|
|
159
|
+
// `agents/openai.yaml`, and implicit activation is on by default, so a
|
|
160
|
+
// committed skill directory is an auto-loading instruction surface for
|
|
161
|
+
// anyone who clones the repository. Instruction-only, deliberately
|
|
162
|
+
// (agent-portability/AC-1, AC-46).
|
|
114
163
|
for (const skill of skills) {
|
|
115
|
-
const filename = skillFileName(skill);
|
|
116
|
-
const content = formatSkillContent(skill);
|
|
117
164
|
ops.push({
|
|
118
165
|
kind: 'create',
|
|
119
|
-
path: `.aidlc/skills/${
|
|
120
|
-
content,
|
|
166
|
+
path: `.aidlc/skills/${skillFileName(skill)}`,
|
|
167
|
+
content: formatCanonicalSkill(skill),
|
|
168
|
+
});
|
|
169
|
+
ops.push({
|
|
170
|
+
kind: 'create',
|
|
171
|
+
path: `.agents/skills/${skillDirName(skill)}/SKILL.md`,
|
|
172
|
+
content: formatCodexSkill(skill),
|
|
121
173
|
});
|
|
122
174
|
}
|
|
123
175
|
// 2. Generate managed block in AGENTS.md
|
|
@@ -142,22 +194,4 @@ export const codexAdapter = {
|
|
|
142
194
|
return { valid: errors.length === 0, errors, warnings };
|
|
143
195
|
},
|
|
144
196
|
};
|
|
145
|
-
/**
|
|
146
|
-
* Format a skill as its canonical file content (frontmatter + body).
|
|
147
|
-
*/
|
|
148
|
-
function formatSkillContent(skill) {
|
|
149
|
-
const lines = ['---'];
|
|
150
|
-
lines.push(`name: ${skill.meta.name}`);
|
|
151
|
-
lines.push(`description: ${skill.meta.description}`);
|
|
152
|
-
lines.push(`phase: ${skill.meta.phase}`);
|
|
153
|
-
if (skill.meta.trigger) {
|
|
154
|
-
lines.push(`trigger: ${skill.meta.trigger}`);
|
|
155
|
-
}
|
|
156
|
-
if (skill.meta.priority !== undefined) {
|
|
157
|
-
lines.push(`priority: ${skill.meta.priority}`);
|
|
158
|
-
}
|
|
159
|
-
lines.push('---');
|
|
160
|
-
lines.push(skill.body);
|
|
161
|
-
return lines.join('\n');
|
|
162
|
-
}
|
|
163
197
|
//# sourceMappingURL=codex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/compile/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,qBAAqB,CAAC;AA+G7B;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,eAsE3B,CAAC"}
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { existsSync } from 'node:fs';
|
|
17
17
|
import { join } from 'node:path';
|
|
18
|
+
import { formatCanonicalSkill } from '../skill-format.js';
|
|
18
19
|
import { canonicalSkillFilename, prefixedRuleFilename } from '../naming.js';
|
|
19
20
|
/**
|
|
20
21
|
* Derive a filesystem-safe filename from a skill name.
|
|
@@ -113,7 +114,7 @@ export const cursorAdapter = {
|
|
|
113
114
|
// 1. Copy canonical skill bodies to .aidlc/skills/
|
|
114
115
|
for (const skill of skills) {
|
|
115
116
|
const filename = skillFileName(skill);
|
|
116
|
-
const content =
|
|
117
|
+
const content = formatCanonicalSkill(skill);
|
|
117
118
|
ops.push({
|
|
118
119
|
kind: 'create',
|
|
119
120
|
path: `.aidlc/skills/${filename}`,
|
|
@@ -167,22 +168,4 @@ export const cursorAdapter = {
|
|
|
167
168
|
return { valid: errors.length === 0, errors, warnings };
|
|
168
169
|
},
|
|
169
170
|
};
|
|
170
|
-
/**
|
|
171
|
-
* Format a skill as its canonical file content (frontmatter + body).
|
|
172
|
-
*/
|
|
173
|
-
function formatSkillContent(skill) {
|
|
174
|
-
const lines = ['---'];
|
|
175
|
-
lines.push(`name: ${skill.meta.name}`);
|
|
176
|
-
lines.push(`description: ${skill.meta.description}`);
|
|
177
|
-
lines.push(`phase: ${skill.meta.phase}`);
|
|
178
|
-
if (skill.meta.trigger) {
|
|
179
|
-
lines.push(`trigger: ${skill.meta.trigger}`);
|
|
180
|
-
}
|
|
181
|
-
if (skill.meta.priority !== undefined) {
|
|
182
|
-
lines.push(`priority: ${skill.meta.priority}`);
|
|
183
|
-
}
|
|
184
|
-
lines.push('---');
|
|
185
|
-
lines.push(skill.body);
|
|
186
|
-
return lines.join('\n');
|
|
187
|
-
}
|
|
188
171
|
//# sourceMappingURL=cursor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/compile/adapters/cursor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../../src/compile/adapters/cursor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/kiro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EAShB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"kiro.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/kiro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,eAAe,EAShB,MAAM,qBAAqB,CAAC;AAuI7B;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,eA8FzB,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* @module
|
|
15
15
|
*/
|
|
16
16
|
import { canonicalSkillFilename, normalizeSkillName } from '../naming.js';
|
|
17
|
+
import { formatCanonicalSkill } from '../skill-format.js';
|
|
17
18
|
// ---------------------------------------------------------------------------
|
|
18
19
|
// Helpers
|
|
19
20
|
// ---------------------------------------------------------------------------
|
|
@@ -202,23 +203,4 @@ export const kiroAdapter = {
|
|
|
202
203
|
// ---------------------------------------------------------------------------
|
|
203
204
|
// Internal Helpers
|
|
204
205
|
// ---------------------------------------------------------------------------
|
|
205
|
-
/**
|
|
206
|
-
* Format a canonical skill file with frontmatter + body.
|
|
207
|
-
*/
|
|
208
|
-
function formatCanonicalSkill(skill) {
|
|
209
|
-
const lines = [];
|
|
210
|
-
lines.push('---');
|
|
211
|
-
lines.push(`name: ${skill.meta.name}`);
|
|
212
|
-
lines.push(`description: ${skill.meta.description}`);
|
|
213
|
-
lines.push(`phase: ${skill.meta.phase}`);
|
|
214
|
-
if (skill.meta.priority !== undefined) {
|
|
215
|
-
lines.push(`priority: ${skill.meta.priority}`);
|
|
216
|
-
}
|
|
217
|
-
if (skill.meta.trigger) {
|
|
218
|
-
lines.push(`trigger: ${skill.meta.trigger}`);
|
|
219
|
-
}
|
|
220
|
-
lines.push('---');
|
|
221
|
-
lines.push(skill.body);
|
|
222
|
-
return lines.join('\n');
|
|
223
|
-
}
|
|
224
206
|
//# sourceMappingURL=kiro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/compile/adapters/kiro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../../src/compile/adapters/kiro.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAaH,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,kBAAkB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,KAAY,EACZ,IAA0B;IAE1B,gCAAgC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;IAC/C,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;QACvB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAsB,EAAE,CAAC;YAC1E,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAY,EAAE,UAAyB;IAChE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,SAAS,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0DAA0D;IAC1D,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,iBAAiB,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACjF,KAAK,CAAC,IAAI,CAAC,UAAU,aAAa,wCAAwC,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,MAAe,EACf,GAAmB;IAEnB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CACR,oEAAoE;QACpE,sEAAsE;QACtE,4BAA4B,CAC7B,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mCAAmC;IACnC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,wBAAwB,OAAO,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,4BAA4B;IAC5B,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,eAAe,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,yBAAyB,OAAO,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,+EAA+E;IAC/E,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,2BAA2B;IAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoB;IAC1C,EAAE,EAAE,MAAoB;IAExB,IAAI,CAAC,MAAe,EAAE,IAA0B,EAAE,GAAmB;QACnE,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,iDAAiD;QACjD,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CACX,2DAA2D,IAAI,CAAC,QAAQ,oCAAoC,CAC7G,CAAC;YACF,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,iDAAiD;YACjD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,iBAAiB,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChE,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;aACrC,CAAC,CAAC;YAEH,sDAAsD;YACtD,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAElD,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;gBACxB,gEAAgE;gBAChE,QAAQ,CAAC,IAAI,CACX,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,CAAC,KAAK,8DAA8D,CACrH,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,gBAAgB,OAAO,WAAW;gBACxC,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,eAAe;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,kDAAkD;QAClD,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrC,6CAA6C;YAC7C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC7B,+CAA+C;gBAC/C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,CACT,yBAAyB,OAAO,+CAA+C,CAChF,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CACT,yBAAyB,OAAO,iCAAiC,OAAO,CAAC,MAAM,GAAG,CACnF,CAAC;gBACJ,CAAC;gBACD,wBAAwB;gBACxB,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;oBAChC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,6BAA6B,CAAC,CAAC;QACxE,CAAC;QAED,gDAAgD;QAChD,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/windsurf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../../src/compile/adapters/windsurf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EACV,eAAe,EAOhB,MAAM,qBAAqB,CAAC;AA2K7B,eAAO,MAAM,eAAe,EAAE,eA0G7B,CAAC"}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
import { prefixedRuleFilename, skillSlug as sharedSkillSlug } from '../naming.js';
|
|
24
24
|
import { MAX_FILE_CHARS, MAX_TOTAL_CHARS, TOTAL_WARN_THRESHOLD } from '../limits.js';
|
|
25
|
+
import { formatCanonicalSkill } from '../skill-format.js';
|
|
25
26
|
// ---------------------------------------------------------------------------
|
|
26
27
|
// Helpers
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
@@ -175,7 +176,7 @@ export const windsurfAdapter = {
|
|
|
175
176
|
ops.push({
|
|
176
177
|
kind: 'create',
|
|
177
178
|
path: `.aidlc/skills/${filename}`,
|
|
178
|
-
content:
|
|
179
|
+
content: formatCanonicalSkill(skill),
|
|
179
180
|
});
|
|
180
181
|
}
|
|
181
182
|
// 2. Generate .windsurf/rules/aidlc-overview.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/compile/adapters/windsurf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAWH,OAAO,EAAE,oBAAoB,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../../src/compile/adapters/windsurf.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,27 +13,24 @@
|
|
|
13
13
|
* replaced so registrations the project owns (notably the retrospective-fed
|
|
14
14
|
* `lessons` layer) survive.
|
|
15
15
|
*
|
|
16
|
+
* The mechanics now live in `./layer-install.ts`, which takes an explicit entry
|
|
17
|
+
* list. This module is the framework's caller of it: it passes the content
|
|
18
|
+
* package's whole guidance index and the bundled-body comparison. Compliance
|
|
19
|
+
* packs deliberately do **not** come through here — a pack layer registered in
|
|
20
|
+
* the content guidance index would be installed by every caller of this function,
|
|
21
|
+
* and one of those callers is a `safe`-tier doctor migration that auto-applies
|
|
22
|
+
* without prompting (compliance-packs/AC-53, AC-54).
|
|
23
|
+
*
|
|
16
24
|
* Requirements: guidance-layers-never-resolve/AC-1, AC-3, AC-4
|
|
17
25
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* that is not `<name>.md`.
|
|
27
|
-
*/
|
|
28
|
-
installedPaths: string[];
|
|
29
|
-
/** Layer names already present with identical content. */
|
|
30
|
-
alreadyCurrent: string[];
|
|
31
|
-
/** Layer names present but locally edited — left untouched. */
|
|
32
|
-
locallyModified: string[];
|
|
33
|
-
/** True when the project's `index.yaml` gained entries. */
|
|
34
|
-
indexUpdated: boolean;
|
|
35
|
-
warnings: string[];
|
|
36
|
-
}
|
|
26
|
+
import { type LayerInstallReport } from './layer-install.js';
|
|
27
|
+
/**
|
|
28
|
+
* Outcome of an installation pass.
|
|
29
|
+
*
|
|
30
|
+
* Structurally identical to `LayerInstallReport`; kept as a named alias because
|
|
31
|
+
* `init`, `update` and the doctor migration all import this name.
|
|
32
|
+
*/
|
|
33
|
+
export type GuidanceInstallReport = LayerInstallReport;
|
|
37
34
|
/**
|
|
38
35
|
* Install every guidance layer registered in the content package into a project.
|
|
39
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guidance-install.d.ts","sourceRoot":"","sources":["../../src/compile/guidance-install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"guidance-install.d.ts","sourceRoot":"","sources":["../../src/compile/guidance-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,qBAAqB,CAuBvB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CASrF"}
|
|
@@ -13,58 +13,18 @@
|
|
|
13
13
|
* replaced so registrations the project owns (notably the retrospective-fed
|
|
14
14
|
* `lessons` layer) survive.
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
* Read and validate a guidance `index.yaml`, returning its entries.
|
|
24
|
-
*
|
|
25
|
-
* @returns Entries, or null when the file is absent or unusable.
|
|
26
|
-
*/
|
|
27
|
-
function readIndexEntries(indexPath) {
|
|
28
|
-
if (!existsSync(indexPath)) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
let parsed;
|
|
32
|
-
try {
|
|
33
|
-
parsed = parseYaml(readFileSync(indexPath, 'utf8'));
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
if (typeof parsed !== 'object' || parsed === null || !('layers' in parsed)) {
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
const layers = parsed.layers;
|
|
42
|
-
if (!Array.isArray(layers)) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
return layers.filter((e) => typeof e === 'object' &&
|
|
46
|
-
e !== null &&
|
|
47
|
-
typeof e.name === 'string' &&
|
|
48
|
-
typeof e.file === 'string');
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* True when `file` is a safe relative name that stays inside `dir`.
|
|
16
|
+
* The mechanics now live in `./layer-install.ts`, which takes an explicit entry
|
|
17
|
+
* list. This module is the framework's caller of it: it passes the content
|
|
18
|
+
* package's whole guidance index and the bundled-body comparison. Compliance
|
|
19
|
+
* packs deliberately do **not** come through here — a pack layer registered in
|
|
20
|
+
* the content guidance index would be installed by every caller of this function,
|
|
21
|
+
* and one of those callers is a `safe`-tier doctor migration that auto-applies
|
|
22
|
+
* without prompting (compliance-packs/AC-53, AC-54).
|
|
52
23
|
*
|
|
53
|
-
*
|
|
54
|
-
* path or a `..` segment would make `join` escape `.aidlc/guidance/` and, on the
|
|
55
|
-
* target side, write outside it. Checked lexically **before** any disk access —
|
|
56
|
-
* ordering this after an existence check is how a sibling defect in this repo
|
|
57
|
-
* turned an error path into an out-of-bounds oracle.
|
|
24
|
+
* Requirements: guidance-layers-never-resolve/AC-1, AC-3, AC-4
|
|
58
25
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return false;
|
|
62
|
-
if (file.split(/[\\/]/).includes('..'))
|
|
63
|
-
return false;
|
|
64
|
-
const root = resolve(dir);
|
|
65
|
-
const target = resolve(dir, file);
|
|
66
|
-
return target !== root && target.startsWith(root + sep);
|
|
67
|
-
}
|
|
26
|
+
import { join } from 'node:path';
|
|
27
|
+
import { bundledBodyDiffers, installLayers, readIndexEntries, } from './layer-install.js';
|
|
68
28
|
/**
|
|
69
29
|
* Install every guidance layer registered in the content package into a project.
|
|
70
30
|
*
|
|
@@ -73,71 +33,26 @@ function isContainedRelative(dir, file) {
|
|
|
73
33
|
* @param opts.dryRun - Compute the report without writing anything.
|
|
74
34
|
*/
|
|
75
35
|
export function installBundledGuidance(projectRoot, contentRoot, opts = {}) {
|
|
76
|
-
const report = {
|
|
77
|
-
installed: [],
|
|
78
|
-
installedPaths: [],
|
|
79
|
-
alreadyCurrent: [],
|
|
80
|
-
locallyModified: [],
|
|
81
|
-
indexUpdated: false,
|
|
82
|
-
warnings: [],
|
|
83
|
-
};
|
|
84
36
|
const bundledDir = join(contentRoot, 'guidance');
|
|
85
37
|
const bundledEntries = readIndexEntries(join(bundledDir, 'index.yaml'));
|
|
86
38
|
if (!bundledEntries) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (!isContainedRelative(bundledDir, entry.file) || !isContainedRelative(targetDir, entry.file)) {
|
|
98
|
-
report.warnings.push(`guidance layer '${entry.name}' registers an out-of-bounds file and was skipped: ${entry.file}`);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
const source = join(bundledDir, entry.file);
|
|
102
|
-
if (!existsSync(source)) {
|
|
103
|
-
report.warnings.push(`guidance layer '${entry.name}' is registered in the content package but its file is missing: ${entry.file}`);
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
const bundledBody = readFileSync(source, 'utf8');
|
|
107
|
-
const target = join(targetDir, entry.file);
|
|
108
|
-
if (existsSync(target)) {
|
|
109
|
-
// A layer the project has edited is the project's, not ours (AC-4).
|
|
110
|
-
if (readFileSync(target, 'utf8') === bundledBody) {
|
|
111
|
-
report.alreadyCurrent.push(entry.name);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
report.locallyModified.push(entry.name);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
else {
|
|
118
|
-
report.installed.push(entry.name);
|
|
119
|
-
report.installedPaths.push(`.aidlc/guidance/${entry.file}`);
|
|
120
|
-
if (!opts.dryRun) {
|
|
121
|
-
mkdirSync(targetDir, { recursive: true });
|
|
122
|
-
writeFileSync(target, bundledBody, 'utf8');
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
// Register by name regardless of whether the body was written, so a
|
|
126
|
-
// locally-modified layer that is missing from the index still becomes active.
|
|
127
|
-
if (!registeredNames.has(entry.name)) {
|
|
128
|
-
mergedEntries.push({ name: entry.name, file: entry.file });
|
|
129
|
-
registeredNames.add(entry.name);
|
|
130
|
-
report.indexUpdated = true;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
if (report.indexUpdated) {
|
|
134
|
-
report.installedPaths.push('.aidlc/guidance/index.yaml');
|
|
135
|
-
if (!opts.dryRun) {
|
|
136
|
-
mkdirSync(targetDir, { recursive: true });
|
|
137
|
-
writeFileSync(join(targetDir, 'index.yaml'), serializeYaml({ layers: mergedEntries }), 'utf8');
|
|
138
|
-
}
|
|
39
|
+
return {
|
|
40
|
+
installed: [],
|
|
41
|
+
installedPaths: [],
|
|
42
|
+
alreadyCurrent: [],
|
|
43
|
+
locallyModified: [],
|
|
44
|
+
indexUpdated: false,
|
|
45
|
+
warnings: [
|
|
46
|
+
`content package has no readable guidance index at ${join(bundledDir, 'index.yaml')}`,
|
|
47
|
+
],
|
|
48
|
+
};
|
|
139
49
|
}
|
|
140
|
-
return
|
|
50
|
+
return installLayers(bundledDir, join(projectRoot, '.aidlc', 'guidance'), bundledEntries, {
|
|
51
|
+
isModified: bundledBodyDiffers,
|
|
52
|
+
relPrefix: '.aidlc/guidance',
|
|
53
|
+
label: 'guidance layer',
|
|
54
|
+
...(opts.dryRun !== undefined && { dryRun: opts.dryRun }),
|
|
55
|
+
});
|
|
141
56
|
}
|
|
142
57
|
/**
|
|
143
58
|
* Render a one-line summary of an installation pass, or null when nothing happened.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guidance-install.js","sourceRoot":"","sources":["../../src/compile/guidance-install.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"guidance-install.js","sourceRoot":"","sources":["../../src/compile/guidance-install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GAEjB,MAAM,oBAAoB,CAAC;AAU5B;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,WAAmB,EACnB,WAAmB,EACnB,OAA6B,EAAE;IAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAExE,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE;gBACR,qDAAqD,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;aACtF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE;QACxF,UAAU,EAAE,kBAAkB;QAC9B,SAAS,EAAE,iBAAiB;QAC5B,KAAK,EAAE,gBAAgB;QACvB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA6B;IACpE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,CAAC,MAAM,uBAAuB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,eAAe,CAAC,MAAM,sBAAsB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC"}
|