craftar 0.8.4 → 0.8.5
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 +12 -2
- package/dist/cli.js +1 -1
- package/dist/emitters/kiro.js +79 -12
- package/dist/emitters/kiro.js.map +1 -1
- package/dist/emitters/shared.js +141 -52
- package/dist/emitters/shared.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -187,7 +187,7 @@ Sections layer the same way, weakest → strongest: the body's default → the p
|
|
|
187
187
|
**claude-code** — emits `.claude/rules|agents|commands|skills|scripts|hooks` and `.mcp.json` verbatim from the Forge (frontmatter kept byte-for-byte). Each MCP server is written exactly as the Forge holds it, undeclared keys included, in its own key order. Existing files keep their line endings and BOM; new files are LF without a BOM. Steering is Kiro-only (its `targets` default to `[kiro]`); one aimed at `claude-code` explicitly (`targets: "*"` or a list naming it) is skipped with a warning.
|
|
188
188
|
|
|
189
189
|
**kiro** — reproduces, then extends, the hand-written `sync-steering.ps1` script it replaces:
|
|
190
|
-
steering = `inclusion` frontmatter + `GENERATED` banner + rule body, with `.claude/rules/` rewritten to `.kiro/steering
|
|
190
|
+
steering = `inclusion` frontmatter + `GENERATED` banner + rule body, with `.claude/rules/` rewritten to `.kiro/steering/` — except a reference to a rule kiro does not write, which follows that rule: kept as `.claude/rules/<x>.md` when `claude-code` writes it, `AGENTS.md (rule: <x>)` when only `AGENTS.md` holds it, otherwise `<x> (rule not in this workspace)` with a warning; an unknown name is still rewritten and is reported. Files are UTF-8 without BOM, CRLF. The same applies to agent prompts and descriptions, command bodies and descriptions, and skill text files; a `steering` ingredient is emitted as written. On top of what the script did, it also generates `.kiro/agents/*.json` (tools mapped to Kiro names, `resources` bound to the agent's stack rule + `repo-discovery`, or `**/*.md` for generic agents), `.kiro/steering/commands/*.md`, `.kiro/skills/*/SKILL.md` and `.kiro/settings/mcp.json`. `.kiro/settings/mcp.json` receives each MCP server exactly as the Forge holds it, in its own key order — including keys Kiro may not use (`type` always went through). The banner text is a parameter (`kiro.banner`) so existing workspaces can adopt without a rewrite. Scripts and hooks have no Kiro equivalent: they are skipped with a warning.
|
|
191
191
|
|
|
192
192
|
**agents-md** — one `AGENTS.md` with the always-on rules concatenated and the scoped rules after them — each listed at the file a target of the workspace writes for it (`.claude/rules/<name>.md` when `claude-code` writes it, else `.kiro/steering/<name>.md` when `kiro` does), or, when no target writes it, embedded in full under a `> Scoped rule — <scope>` line, for tools that read the open standard (Codex, Cursor, Warp, Copilot, Kimi…). A `.claude/rules/<x>.md` reference inside a body follows the rule it names: it is kept when `claude-code` writes that rule, becomes `.kiro/steering/<x>.md` when only `kiro` writes that file (from the rule or from a `steering` ingredient of that name), becomes `AGENTS.md (rule: <x>)` when the rule's text is in this file, and otherwise becomes `<x> (rule not in this workspace)` with a warning (an unknown name is left as written when `claude-code` is a target); without `claude-code`, the warning also names references to other `.claude/` files, which are left as written. Every other ingredient type aimed at `agents-md` — including through the default `targets: "*"` — has no `AGENTS.md` equivalent: it is skipped with a warning — one line per type, naming every skipped ingredient. The file keeps the line endings and BOM of the one it replaces; a new one is LF without a BOM.
|
|
193
193
|
|
|
@@ -241,6 +241,16 @@ Next: `craftar init` from a profile; profile-driven integrations (PM tool → MC
|
|
|
241
241
|
|
|
242
242
|
## Upgrading
|
|
243
243
|
|
|
244
|
+
### to 0.8.5
|
|
245
|
+
|
|
246
|
+
- **The kiro target stops turning a reference to a rule it does not write into a `.kiro/steering/` path that does not exist.** Only files under `.kiro/` change; no other generated file and no lock field.
|
|
247
|
+
- **No byte change:** a workspace in which every rule a kiro text cites is one kiro writes, and whose hand-written commands cite no `.claude/rules/` path in their `description`. Every workspace `craftar import` produced is in this case. A cited unknown name now adds a warning.
|
|
248
|
+
- **A cited rule kiro does not write:** the reference goes back to `.claude/rules/<x>.md` when `claude-code` writes the rule, becomes `AGENTS.md (rule: <x>)` when only `AGENTS.md` holds it, or else `<x> (rule not in this workspace)`.
|
|
249
|
+
- **A command written by hand in the Forge (no raw frontmatter):** its `description` is now resolved like its body, and that includes the directory rewrite.
|
|
250
|
+
- **At most one `kiro:` warning about rule references per plan.** It names every reference reworded to "rule not in this workspace", and every unknown name, which is still rewritten to `.kiro/steering/`. It never changes an exit code.
|
|
251
|
+
- An affected workspace shows those `.kiro/` files as `update`, and `craftar sync --check` exits 1 until it syncs.
|
|
252
|
+
- An agent's `resources` do not change.
|
|
253
|
+
|
|
244
254
|
### to 0.8.4
|
|
245
255
|
|
|
246
256
|
- **A `.claude/rules/<x>.md` reference inside a rule body that goes into `AGENTS.md` is resolved by the rule it names.** Only `AGENTS.md` changes; no other generated file and no lock field.
|
|
@@ -249,7 +259,7 @@ Next: `craftar init` from a profile; profile-driven integrations (PM tool → MC
|
|
|
249
259
|
- **With `claude-code`:** only a reference to a rule `claude-code` does not write, or to a `steering` ingredient `kiro` writes, moves. An unknown name is left as written.
|
|
250
260
|
- **At most one warning per `AGENTS.md`** names every reference turned into `<x> (rule not in this workspace)` (a reference made to point at `.kiro/steering/` or into `AGENTS.md` is not reported). Without `claude-code`, it also names references to other `.claude/` files (agents, commands, skills, scripts, hooks), which are left as written. It repeats on every run until the body, the cited rule's `targets` or the workspace's targets change, and it never changes an exit code.
|
|
251
261
|
- An affected workspace shows `AGENTS.md` as `update`, and `craftar sync --check` exits 1 until it syncs.
|
|
252
|
-
- The kiro emitter still rewrites every `.claude/rules/` to `.kiro/steering/`;
|
|
262
|
+
- The kiro emitter still rewrites every `.claude/rules/` to `.kiro/steering/`; 0.8.5 addresses it in part — see *to 0.8.5*.
|
|
253
263
|
|
|
254
264
|
### to 0.8.3
|
|
255
265
|
|
package/dist/cli.js
CHANGED
|
@@ -18,7 +18,7 @@ import { HUNK_CLASSES, UnifyPlanSchema } from "./schema/index.js";
|
|
|
18
18
|
process.stdout.on("error", (e) => { if (e.code === "EPIPE")
|
|
19
19
|
process.exit(0); });
|
|
20
20
|
const program = new Command();
|
|
21
|
-
program.name("craftar").description("Craft, sync and convert AI-coding workspace harnesses.").version("0.8.
|
|
21
|
+
program.name("craftar").description("Craft, sync and convert AI-coding workspace harnesses.").version("0.8.5");
|
|
22
22
|
/* ---------------------------------------------------------------- import */
|
|
23
23
|
program
|
|
24
24
|
.command("import")
|
package/dist/emitters/kiro.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { toCrlf } from "../core/text.js";
|
|
2
2
|
import { serializeFrontmatter } from "../core/frontmatter.js";
|
|
3
3
|
import { listFiles } from "../core/forge.js";
|
|
4
|
-
import { appliesTo, mcpServers, outName, ruleFile, RULE_NAME_CHARS } from "./shared.js";
|
|
4
|
+
import { appliesTo, buildRuleLookup, mcpServers, outName, resolveRuleRefs, ruleFile, RULE_NAME_CHARS, UNKNOWN_NAME_KIND } from "./shared.js";
|
|
5
5
|
/** Files kiro copies as text, through `ctx.text` (substituted); anything else is copied as raw bytes. */
|
|
6
6
|
export const KIRO_TEXT_EXT = /\.(md|txt|json|ya?ml)$/i;
|
|
7
7
|
/**
|
|
8
8
|
* Kiro target. Reproduces, then extends, the behaviour of the hand-written
|
|
9
9
|
* `.claude/scripts/sync-steering.ps1` this target was extracted from:
|
|
10
10
|
* - steering = frontmatter(inclusion) + GENERATED banner + rule body
|
|
11
|
-
* - `.claude/rules/` references are
|
|
11
|
+
* - `.claude/rules/` references are resolved: kiro-written rules → `.kiro/steering/`,
|
|
12
|
+
* claude-code-written rules → unchanged, agents-md-only rules → `AGENTS.md`,
|
|
13
|
+
* dead rules → `<x> (rule not in this workspace)`, unknown → `.kiro/steering/` with a warning (spec 17)
|
|
12
14
|
* - UTF-8 without BOM, CRLF (the exact shape Kiro already consumes)
|
|
13
15
|
* and additionally generates what the script never did: agents JSON, commands and skills.
|
|
14
16
|
*/
|
|
@@ -20,13 +22,22 @@ export const kiro = {
|
|
|
20
22
|
const banner = String(ctx.resolution.params["kiro.banner"] ?? "<!-- GENERATED from {{source}} by craftar -- do not edit. -->");
|
|
21
23
|
const ruleNames = new Set(ctx.resolution.ingredients.filter((i) => i.meta.type === "rule").map((i) => outName(i.meta)));
|
|
22
24
|
const scopedRules = ctx.resolution.ingredients.filter((i) => i.meta.type === "rule" && i.meta.inclusion === "fileMatch").map((i) => outName(i.meta));
|
|
25
|
+
const targets = ctx.resolution.targets;
|
|
26
|
+
const lookup = buildRuleLookup(ctx.resolution.ingredients);
|
|
27
|
+
// Collect reports for the warning (spec 17 §4.5)
|
|
28
|
+
const reports = [];
|
|
29
|
+
const resolve = (text, citing) => {
|
|
30
|
+
const { text: resolved, report } = resolveRuleRefs(text, citing, lookup, targets, "kiro");
|
|
31
|
+
reports.push(report);
|
|
32
|
+
return resolved;
|
|
33
|
+
};
|
|
23
34
|
for (const ing of ctx.resolution.ingredients) {
|
|
24
35
|
if (!appliesTo(ing.meta.targets, t))
|
|
25
36
|
continue;
|
|
26
37
|
const m = ing.meta;
|
|
27
38
|
switch (m.type) {
|
|
28
39
|
case "rule": {
|
|
29
|
-
const body =
|
|
40
|
+
const body = resolve(await ctx.text(ing, m.file), ing.ref);
|
|
30
41
|
const fm = m.inclusion === "fileMatch"
|
|
31
42
|
? `---\ninclusion: fileMatch\nfileMatchPattern: ${JSON.stringify(Array.isArray(m.fileMatchPattern) ? m.fileMatchPattern.join(",") : m.fileMatchPattern ?? "**")}\n---\n\n`
|
|
32
43
|
: `---\ninclusion: ${m.inclusion}\n---\n\n`;
|
|
@@ -35,32 +46,42 @@ export const kiro = {
|
|
|
35
46
|
break;
|
|
36
47
|
}
|
|
37
48
|
case "steering":
|
|
49
|
+
// Steering bodies are emitted as written (spec 17 §2)
|
|
38
50
|
out.push(crlf(`.kiro/steering/${outName(m)}.md`, await ctx.text(ing, m.file), ing.ref));
|
|
39
51
|
break;
|
|
40
52
|
case "agent": {
|
|
41
|
-
|
|
42
|
-
const description =
|
|
53
|
+
// Resolve description first, then body (spec 17 §4.5 order: description before prompt)
|
|
54
|
+
const description = resolve(m.description ?? "", ing.ref);
|
|
55
|
+
// Read the body once and derive both versions from it
|
|
56
|
+
const rawBody = await ctx.text(ing, m.file);
|
|
57
|
+
const body = resolve(rawBody, ing.ref);
|
|
43
58
|
const tools = mapTools(m.tools, ctx);
|
|
44
|
-
|
|
59
|
+
// agentResources reads the blanket-rewritten text, not the resolved text (spec 17 §4.6)
|
|
60
|
+
const resources = m.resources ?? agentResources(outName(m), rewrite(m.description ?? "") + "\n" + rewrite(rawBody), ruleNames, scopedRules);
|
|
45
61
|
const json = JSON.stringify({ name: outName(m), description, prompt: body.replace(/^\n+/, "").replace(/\n+$/, ""), tools, allowedTools: tools, resources }, null, 2) + "\n";
|
|
46
62
|
out.push(crlf(`.kiro/agents/${outName(m)}.json`, json, ing.ref));
|
|
47
63
|
break;
|
|
48
64
|
}
|
|
49
65
|
case "command": {
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
// Resolve description and raw frontmatter first, then body (spec 17 §4.5 order: frontmatter before body)
|
|
67
|
+
// When frontmatterRaw is set, the description field is unused (serializeFrontmatter ignores it),
|
|
68
|
+
// so we skip resolving it to avoid spurious reports.
|
|
69
|
+
const resolvedDescription = !m.frontmatterRaw && m.description !== undefined ? resolve(m.description, ing.ref) : undefined;
|
|
70
|
+
const resolvedFm = m.frontmatterRaw ? resolve(m.frontmatterRaw, ing.ref) : null;
|
|
71
|
+
const body = resolve(await ctx.text(ing, m.file), ing.ref);
|
|
72
|
+
const doc = serializeFrontmatter({ description: resolvedDescription, "argument-hint": m.argumentHint, "allowed-tools": m.allowedTools }, body, { raw: resolvedFm });
|
|
52
73
|
out.push(crlf(`.kiro/steering/commands/${outName(m)}.md`, `---\ninclusion: manual\n---\n\n` + doc, ing.ref));
|
|
53
74
|
break;
|
|
54
75
|
}
|
|
55
76
|
case "skill": {
|
|
56
77
|
if (m.layout === "file") {
|
|
57
|
-
out.push(crlf(`.kiro/skills/${outName(m)}/SKILL.md`,
|
|
78
|
+
out.push(crlf(`.kiro/skills/${outName(m)}/SKILL.md`, resolve(await ctx.text(ing, "SKILL.md"), ing.ref), ing.ref));
|
|
58
79
|
}
|
|
59
80
|
else {
|
|
60
81
|
for (const f of await listFiles(ing.dir)) {
|
|
61
82
|
if (f === "ingredient.yaml")
|
|
62
83
|
continue;
|
|
63
|
-
out.push(await copy(ctx, ing, f, `.kiro/skills/${outName(m)}/${f}
|
|
84
|
+
out.push(await copy(ctx, ing, f, `.kiro/skills/${outName(m)}/${f}`, resolve));
|
|
64
85
|
}
|
|
65
86
|
}
|
|
66
87
|
break;
|
|
@@ -74,6 +95,8 @@ export const kiro = {
|
|
|
74
95
|
break;
|
|
75
96
|
}
|
|
76
97
|
}
|
|
98
|
+
// Emit one warning for all dead and unknown references (spec 17 §4.5)
|
|
99
|
+
emitKiroWarning(ctx, reports);
|
|
77
100
|
const servers = mcpServers(ctx, t, ".kiro/settings/mcp.json");
|
|
78
101
|
if (Object.keys(servers).length) {
|
|
79
102
|
out.push(crlf(".kiro/settings/mcp.json", JSON.stringify({ mcpServers: servers }, null, 2) + "\n", "mcp/*"));
|
|
@@ -81,15 +104,59 @@ export const kiro = {
|
|
|
81
104
|
return out;
|
|
82
105
|
},
|
|
83
106
|
};
|
|
107
|
+
/** Emit the kiro warning for dead and unknown references (spec 17 §4.5). */
|
|
108
|
+
function emitKiroWarning(ctx, reports) {
|
|
109
|
+
// Collect entries: D (has kind with "reaches no target") and unknown (empty kind)
|
|
110
|
+
const dead = [];
|
|
111
|
+
const unknown = [];
|
|
112
|
+
const seenDead = new Set();
|
|
113
|
+
const seenUnknown = new Set();
|
|
114
|
+
for (const report of reports) {
|
|
115
|
+
for (const e of report.reworded) {
|
|
116
|
+
const key = `${e.ref}|${e.citing}`;
|
|
117
|
+
if (e.kind !== UNKNOWN_NAME_KIND) {
|
|
118
|
+
// D: has a kind string (e.g. "rule/x reaches no target here")
|
|
119
|
+
if (!seenDead.has(key)) {
|
|
120
|
+
seenDead.add(key);
|
|
121
|
+
dead.push(e);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// unknown: empty kind string (UNKNOWN_NAME_KIND)
|
|
126
|
+
if (!seenUnknown.has(key)) {
|
|
127
|
+
seenUnknown.add(key);
|
|
128
|
+
unknown.push({ ref: e.ref, citing: e.citing });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (dead.length === 0 && unknown.length === 0)
|
|
134
|
+
return;
|
|
135
|
+
const parts = [];
|
|
136
|
+
if (dead.length > 0) {
|
|
137
|
+
const entries = dead.map((e) => `${e.ref} (in ${e.citing}; ${e.kind})`).join(", ");
|
|
138
|
+
parts.push(`${dead.length} reference(s) to rule files this workspace does not have — reworded: ${entries}`);
|
|
139
|
+
}
|
|
140
|
+
if (unknown.length > 0) {
|
|
141
|
+
const entries = unknown.map((e) => `${e.ref} (in ${e.citing})`).join(", ");
|
|
142
|
+
if (dead.length > 0) {
|
|
143
|
+
parts.push(`${unknown.length} reference(s) to names that are no rule or steering here — rewritten to .kiro/steering/ as before: ${entries}`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
parts.push(`${unknown.length} reference(s) to names that are no rule or steering of this workspace — rewritten to .kiro/steering/ as before: ${entries}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
ctx.warn(`kiro: ${parts.join("; ")}`);
|
|
150
|
+
}
|
|
84
151
|
export function rewrite(text) {
|
|
85
152
|
return text.replace(/\.claude\/rules\//g, ".kiro/steering/");
|
|
86
153
|
}
|
|
87
154
|
function crlf(path, text, ingredient) {
|
|
88
155
|
return { path, content: Buffer.from(toCrlf(text), "utf8"), target: "kiro", ingredient };
|
|
89
156
|
}
|
|
90
|
-
async function copy(ctx, ing, file, relPath) {
|
|
157
|
+
async function copy(ctx, ing, file, relPath, resolve) {
|
|
91
158
|
if (KIRO_TEXT_EXT.test(file))
|
|
92
|
-
return crlf(relPath,
|
|
159
|
+
return crlf(relPath, resolve(await ctx.text(ing, file), ing.ref), ing.ref);
|
|
93
160
|
return { path: relPath, content: await ctx.bytes(ing, file), target: "kiro", ingredient: ing.ref };
|
|
94
161
|
}
|
|
95
162
|
const TOOL_MAP = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/emitters/kiro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kiro.js","sourceRoot":"","sources":["../../src/emitters/kiro.ts"],"names":[],"mappings":"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"}
|
package/dist/emitters/shared.js
CHANGED
|
@@ -15,6 +15,8 @@ export function ruleWriter(targets, ruleTargets) {
|
|
|
15
15
|
return "kiro";
|
|
16
16
|
return null;
|
|
17
17
|
}
|
|
18
|
+
/** The kind string for an unknown name (no rule or steering with that name). */
|
|
19
|
+
export const UNKNOWN_NAME_KIND = "";
|
|
18
20
|
/** Build the lookup maps for rule reference resolution, once per AGENTS.md. */
|
|
19
21
|
export function buildRuleLookup(ingredients) {
|
|
20
22
|
const rulesByName = new Map();
|
|
@@ -29,19 +31,39 @@ export function buildRuleLookup(ingredients) {
|
|
|
29
31
|
return { rulesByName, steeringsByName };
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
|
-
* Resolve `.claude/rules/<x>.md` references in a body
|
|
34
|
+
* Resolve `.claude/rules/<x>.md` references in a body (spec 15 §4.1–§4.3, spec 17 §4.2–§4.3).
|
|
35
|
+
* Mode "agents-md" (default) is for AGENTS.md; mode "kiro" is for kiro files.
|
|
33
36
|
* Returns the transformed text and a report of what was reworded or found dead.
|
|
34
37
|
*/
|
|
35
|
-
export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
38
|
+
export function resolveRuleRefs(body, citing, lookup, targets, mode = "agents-md") {
|
|
36
39
|
const report = { reworded: [], others: [] };
|
|
37
40
|
const hasCc = targets.includes("claude-code");
|
|
38
41
|
const hasKiro = targets.includes("kiro");
|
|
42
|
+
const hasMd = targets.includes("agents-md");
|
|
39
43
|
const { rulesByName, steeringsByName } = lookup;
|
|
40
|
-
// Determine rule state: A, B, C, D, or unknown (spec 15 §4.2)
|
|
41
44
|
const ruleState = (name) => {
|
|
42
45
|
const rule = rulesByName.get(name);
|
|
46
|
+
if (mode === "kiro") {
|
|
47
|
+
// K1: kiro writes it — a rule or steering that admits kiro (spec 17 §4.2)
|
|
48
|
+
if (rule && hasKiro && appliesTo(rule.meta.targets, "kiro"))
|
|
49
|
+
return "K1";
|
|
50
|
+
const steering = steeringsByName.get(name);
|
|
51
|
+
if (steering && hasKiro && appliesTo(steering.meta.targets, "kiro"))
|
|
52
|
+
return "K1";
|
|
53
|
+
// K2: a rule and claude-code writes it
|
|
54
|
+
if (rule && hasCc && appliesTo(rule.meta.targets, "claude-code"))
|
|
55
|
+
return "K2";
|
|
56
|
+
// K3: a rule aimed at agents-md, and agents-md is a workspace target
|
|
57
|
+
if (rule && hasMd && appliesTo(rule.meta.targets, "agents-md"))
|
|
58
|
+
return "K3";
|
|
59
|
+
// D: any other rule
|
|
60
|
+
if (rule)
|
|
61
|
+
return "D";
|
|
62
|
+
// unknown: anything else
|
|
63
|
+
return "unknown";
|
|
64
|
+
}
|
|
65
|
+
// agents-md mode (spec 15 §4.2)
|
|
43
66
|
if (rule) {
|
|
44
|
-
// A or B (rule): use ruleWriter to decide
|
|
45
67
|
const writer = ruleWriter(targets, rule.meta.targets);
|
|
46
68
|
if (writer === "claude-code")
|
|
47
69
|
return "A";
|
|
@@ -52,15 +74,11 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
52
74
|
const steering = steeringsByName.get(name);
|
|
53
75
|
if (steering && hasKiro && appliesTo(steering.meta.targets, "kiro"))
|
|
54
76
|
return "B";
|
|
55
|
-
// C or D only when a rule exists
|
|
56
77
|
if (rule) {
|
|
57
|
-
// C: rule aimed at agents-md (text is in AGENTS.md)
|
|
58
78
|
if (appliesTo(rule.meta.targets, "agents-md"))
|
|
59
79
|
return "C";
|
|
60
|
-
// D: rule exists but not written by any target here
|
|
61
80
|
return "D";
|
|
62
81
|
}
|
|
63
|
-
// No rule with this name
|
|
64
82
|
return "unknown";
|
|
65
83
|
};
|
|
66
84
|
// Right boundary: not followed by letter, digit, `_`, `-`, or `.` followed by one of those (spec 15 §4.1)
|
|
@@ -75,6 +93,8 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
75
93
|
return false;
|
|
76
94
|
return true;
|
|
77
95
|
};
|
|
96
|
+
// Blanket rewrite for kiro mode: .claude/rules/ → .kiro/steering/
|
|
97
|
+
const kiroRewrite = (s) => s.replace(/\.claude\/rules\//g, ".kiro/steering/");
|
|
78
98
|
const matches = [];
|
|
79
99
|
// Link pattern: [text](.claude/rules/<name>.md) or [text](.claude/rules/<name>.md#frag)
|
|
80
100
|
const linkPattern = new RegExp(`\\[([^\\]]+)\\]\\(\\.claude\\/rules\\/([${RULE_NAME_CHARS}]+)\\.md(#[^)]*)?\\)`, "g");
|
|
@@ -86,25 +106,58 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
86
106
|
const rule = rulesByName.get(name);
|
|
87
107
|
let replacement;
|
|
88
108
|
let reworded;
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
109
|
+
if (mode === "kiro") {
|
|
110
|
+
// Kiro mode (spec 17 §4.3)
|
|
111
|
+
switch (state) {
|
|
112
|
+
case "K1":
|
|
113
|
+
// Fragment gets the blanket rewrite too (spec 17 §4.3)
|
|
114
|
+
replacement = `[${kiroRewrite(text)}](${ruleFile("kiro", { name })}${kiroRewrite(frag ?? "")})`;
|
|
115
|
+
break;
|
|
116
|
+
case "K2":
|
|
117
|
+
// unchanged — exempt from directory rewrite; keep original text exactly
|
|
118
|
+
replacement = match;
|
|
119
|
+
break;
|
|
120
|
+
case "K3":
|
|
121
|
+
replacement = `[${kiroRewrite(text)}](AGENTS.md)`; // fragment dropped
|
|
122
|
+
break;
|
|
123
|
+
case "D":
|
|
124
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
|
|
125
|
+
replacement = `${kiroRewrite(text)} (${name}, rule not in this workspace)`;
|
|
126
|
+
break;
|
|
127
|
+
case "unknown":
|
|
128
|
+
// Unknown name gets blanket rewrite and is reported (no kind string)
|
|
129
|
+
// Fragment gets the blanket rewrite too (spec 17 §4.3)
|
|
130
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: UNKNOWN_NAME_KIND };
|
|
131
|
+
replacement = `[${kiroRewrite(text)}](${ruleFile("kiro", { name })}${kiroRewrite(frag ?? "")})`;
|
|
132
|
+
break;
|
|
133
|
+
default:
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// agents-md mode (spec 15 §4.3)
|
|
139
|
+
switch (state) {
|
|
140
|
+
case "A":
|
|
141
|
+
continue;
|
|
142
|
+
case "B":
|
|
143
|
+
replacement = `[${text}](${ruleFile("kiro", { name })}${frag ?? ""})`;
|
|
144
|
+
break;
|
|
145
|
+
case "C":
|
|
146
|
+
replacement = `[${text}](AGENTS.md)`;
|
|
147
|
+
break;
|
|
148
|
+
case "D":
|
|
149
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
|
|
150
|
+
replacement = `${text} (${name}, rule not in this workspace)`;
|
|
151
|
+
break;
|
|
152
|
+
case "unknown":
|
|
153
|
+
if (hasCc)
|
|
154
|
+
continue;
|
|
155
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
|
|
156
|
+
replacement = `${text} (${name}, rule not in this workspace)`;
|
|
157
|
+
break;
|
|
158
|
+
default:
|
|
104
159
|
continue;
|
|
105
|
-
|
|
106
|
-
replacement = `${text} (${name}, rule not in this workspace)`;
|
|
107
|
-
break;
|
|
160
|
+
}
|
|
108
161
|
}
|
|
109
162
|
matches.push({ offset, length: match.length, replacement, reworded });
|
|
110
163
|
}
|
|
@@ -126,29 +179,60 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
126
179
|
const rule = rulesByName.get(name);
|
|
127
180
|
let replacement;
|
|
128
181
|
let reworded;
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
182
|
+
if (mode === "kiro") {
|
|
183
|
+
// Kiro mode (spec 17 §4.3)
|
|
184
|
+
switch (state) {
|
|
185
|
+
case "K1":
|
|
186
|
+
replacement = ruleFile("kiro", { name });
|
|
187
|
+
break;
|
|
188
|
+
case "K2":
|
|
189
|
+
// unchanged — exempt from directory rewrite; keep original text exactly
|
|
190
|
+
replacement = token;
|
|
191
|
+
break;
|
|
192
|
+
case "K3":
|
|
193
|
+
replacement = `AGENTS.md (rule: ${name})`;
|
|
194
|
+
break;
|
|
195
|
+
case "D":
|
|
196
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
|
|
197
|
+
replacement = `${name} (rule not in this workspace)`;
|
|
198
|
+
break;
|
|
199
|
+
case "unknown":
|
|
200
|
+
// Unknown name gets blanket rewrite and is reported (no kind string)
|
|
201
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: UNKNOWN_NAME_KIND };
|
|
202
|
+
replacement = ruleFile("kiro", { name });
|
|
203
|
+
break;
|
|
204
|
+
default:
|
|
144
205
|
continue;
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
// agents-md mode (spec 15 §4.3)
|
|
210
|
+
switch (state) {
|
|
211
|
+
case "A":
|
|
212
|
+
continue;
|
|
213
|
+
case "B":
|
|
214
|
+
replacement = ruleFile("kiro", { name });
|
|
215
|
+
break;
|
|
216
|
+
case "C":
|
|
217
|
+
replacement = `AGENTS.md (rule: ${name})`;
|
|
218
|
+
break;
|
|
219
|
+
case "D":
|
|
220
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: `${rule.ref} reaches no target here` };
|
|
221
|
+
replacement = `${name} (rule not in this workspace)`;
|
|
222
|
+
break;
|
|
223
|
+
case "unknown":
|
|
224
|
+
if (hasCc)
|
|
225
|
+
continue;
|
|
226
|
+
reworded = { ref: `.claude/rules/${name}.md`, kind: "no such rule" };
|
|
227
|
+
replacement = `${name} (rule not in this workspace)`;
|
|
228
|
+
break;
|
|
229
|
+
default:
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
148
232
|
}
|
|
149
233
|
matches.push({ offset, length: token.length, replacement, reworded });
|
|
150
234
|
}
|
|
151
|
-
// Sort by offset for correct warning order
|
|
235
|
+
// Sort by offset for correct warning order
|
|
152
236
|
matches.sort((a, b) => a.offset - b.offset);
|
|
153
237
|
// Collect reworded entries with their original offsets for sorting (spec 15 §4.5)
|
|
154
238
|
const rewordedWithOffset = [];
|
|
@@ -157,12 +241,17 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
157
241
|
rewordedWithOffset.push({ offset: m.offset, ref: m.reworded.ref, citing, kind: m.reworded.kind });
|
|
158
242
|
}
|
|
159
243
|
}
|
|
160
|
-
//
|
|
161
|
-
let result =
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
244
|
+
// Build the result segment by segment: gaps get the blanket rewrite in kiro mode
|
|
245
|
+
let result = "";
|
|
246
|
+
let lastEnd = 0;
|
|
247
|
+
for (const m of matches) {
|
|
248
|
+
const gap = body.slice(lastEnd, m.offset);
|
|
249
|
+
result += mode === "kiro" ? kiroRewrite(gap) : gap;
|
|
250
|
+
result += m.replacement;
|
|
251
|
+
lastEnd = m.offset + m.length;
|
|
165
252
|
}
|
|
253
|
+
const tail = body.slice(lastEnd);
|
|
254
|
+
result += mode === "kiro" ? kiroRewrite(tail) : tail;
|
|
166
255
|
// Sort by offset and deduplicate by (ref, citing), keeping first occurrence (spec 15 §4.5)
|
|
167
256
|
rewordedWithOffset.sort((a, b) => a.offset - b.offset);
|
|
168
257
|
const seen = new Set();
|
|
@@ -173,8 +262,8 @@ export function resolveRuleRefs(body, citing, lookup, targets) {
|
|
|
173
262
|
report.reworded.push({ ref: e.ref, citing: e.citing, kind: e.kind });
|
|
174
263
|
}
|
|
175
264
|
}
|
|
176
|
-
// Collect other .claude/ paths
|
|
177
|
-
if (!hasCc) {
|
|
265
|
+
// Collect other .claude/ paths only in agents-md mode (spec 15 §4.5) — not in kiro mode (spec 17 §2)
|
|
266
|
+
if (mode === "agents-md" && !hasCc) {
|
|
178
267
|
const otherDirs = ["agents", "commands", "skills", "scripts", "hooks"];
|
|
179
268
|
// The path class adds `/` for subdirectories; in `[.../-]` the `/` goes before `-` to avoid a range error.
|
|
180
269
|
const otherPattern = new RegExp(`(^|[^/${RULE_NAME_CHARS}])\\.claude\\/(${otherDirs.join("|")})\\/([A-Za-z0-9._/-]+)`, "g");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/emitters/shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/emitters/shared.ts"],"names":[],"mappings":"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"}
|