carrick 0.3.81 → 0.3.83
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 +46 -19
- package/bin/carrick.mjs +45 -2
- package/dist/contract.d.ts +17 -0
- package/dist/contract.js.map +1 -1
- package/dist/hook/apply-patch.d.ts +13 -0
- package/dist/hook/apply-patch.js +100 -0
- package/dist/hook/apply-patch.js.map +1 -0
- package/dist/hook/post-edit.d.ts +30 -1
- package/dist/hook/post-edit.js +95 -24
- package/dist/hook/post-edit.js.map +1 -1
- package/dist/hook/reuse.d.ts +97 -0
- package/dist/hook/reuse.js +245 -0
- package/dist/hook/reuse.js.map +1 -0
- package/dist/hook/stop.d.ts +3 -0
- package/dist/hook/stop.js +76 -0
- package/dist/hook/stop.js.map +1 -0
- package/dist/hook/user-prompt.d.ts +9 -0
- package/dist/hook/user-prompt.js +79 -0
- package/dist/hook/user-prompt.js.map +1 -0
- package/dist/init/codex.d.ts +51 -0
- package/dist/init/codex.js +167 -0
- package/dist/init/codex.js.map +1 -0
- package/dist/init/connect.d.ts +13 -0
- package/dist/init/connect.js +21 -15
- package/dist/init/connect.js.map +1 -1
- package/dist/init/doctor.d.ts +36 -0
- package/dist/init/doctor.js +97 -2
- package/dist/init/doctor.js.map +1 -1
- package/dist/init/files.d.ts +16 -0
- package/dist/init/files.js +35 -0
- package/dist/init/files.js.map +1 -0
- package/dist/init/outdated.d.ts +54 -0
- package/dist/init/outdated.js +175 -0
- package/dist/init/outdated.js.map +1 -0
- package/dist/init/output.d.ts +35 -3
- package/dist/init/output.js +115 -23
- package/dist/init/output.js.map +1 -1
- package/dist/init/projects.d.ts +27 -13
- package/dist/init/projects.js +48 -50
- package/dist/init/projects.js.map +1 -1
- package/dist/init/remove.d.ts +0 -2
- package/dist/init/remove.js +91 -23
- package/dist/init/remove.js.map +1 -1
- package/dist/init/repos.d.ts +34 -0
- package/dist/init/repos.js +77 -0
- package/dist/init/repos.js.map +1 -1
- package/dist/init/run.d.ts +73 -6
- package/dist/init/run.js +382 -101
- package/dist/init/run.js.map +1 -1
- package/dist/init/settings.d.ts +20 -0
- package/dist/init/settings.js +42 -4
- package/dist/init/settings.js.map +1 -1
- package/dist/init/task-skills.d.ts +97 -0
- package/dist/init/task-skills.js +267 -0
- package/dist/init/task-skills.js.map +1 -0
- package/dist/init/workspace-file.d.ts +73 -0
- package/dist/init/workspace-file.js +173 -0
- package/dist/init/workspace-file.js.map +1 -0
- package/dist/scan.d.ts +13 -5
- package/dist/scan.js +21 -10
- package/dist/scan.js.map +1 -1
- package/dist/templates.d.ts +9 -0
- package/dist/templates.js +9 -1
- package/dist/templates.js.map +1 -1
- package/package.json +6 -6
- package/plugin/hooks/hooks.json +11 -0
- package/sidecar/dist/src/capture/check-classify.d.ts +10 -1
- package/sidecar/dist/src/capture/check-classify.js +66 -8
- package/sidecar/dist/src/capture/check-deep.d.ts +16 -4
- package/sidecar/dist/src/capture/check-deep.js +21 -17
- package/sidecar/dist/src/capture/check-fields.d.ts +83 -0
- package/sidecar/dist/src/capture/check-fields.js +259 -0
- package/sidecar/dist/src/capture/check-probe.d.ts +21 -1
- package/sidecar/dist/src/capture/check-probe.js +39 -0
- package/sidecar/dist/src/capture/check.js +9 -2
- package/templates/skills/carrick-census.md +89 -0
- package/templates/skills/carrick-drift.md +107 -0
- package/templates/skills/carrick-impact.md +108 -0
- package/templates/skills/carrick-reuse.md +106 -0
package/dist/init/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/init/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/init/run.ts"],"names":[],"mappings":"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"}
|
package/dist/init/settings.d.ts
CHANGED
|
@@ -8,6 +8,14 @@
|
|
|
8
8
|
* `--ignore-scripts`: 644 in the archive, 755 once installed).
|
|
9
9
|
*/
|
|
10
10
|
export declare function ownEntryPoint(root?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* The settings files a workspace can hold our hook entries in.
|
|
13
|
+
*
|
|
14
|
+
* Beside the writer, with the readers that audit it: `carrick init` writes one
|
|
15
|
+
* of them, `carrick remove` clears both, and `carrick doctor` and the refresh
|
|
16
|
+
* notice read both (carrick#1333).
|
|
17
|
+
*/
|
|
18
|
+
export declare const SETTINGS_FILES: string[];
|
|
11
19
|
export type HookCommandChoice = {
|
|
12
20
|
/** What a hook entry runs, quoted if it has to be. */
|
|
13
21
|
command: string;
|
|
@@ -35,6 +43,7 @@ export type HookGroup = {
|
|
|
35
43
|
};
|
|
36
44
|
/** What this package registers, and the only entries it will ever remove. */
|
|
37
45
|
export declare function carrickHooks(command?: string): Record<string, HookGroup[]>;
|
|
46
|
+
export declare function isOurs(entry: unknown): boolean;
|
|
38
47
|
/** One hook entry of ours, as a settings file holds it. */
|
|
39
48
|
export type InstalledHook = {
|
|
40
49
|
/** `PostToolUse`, `SessionStart`. */
|
|
@@ -60,6 +69,8 @@ export type InstalledHook = {
|
|
|
60
69
|
export declare function installedCarrickHooks(existing: string): InstalledHook[];
|
|
61
70
|
/** What `carrickHooks` writes, flattened the way `installedCarrickHooks` reads. */
|
|
62
71
|
export declare function expectedCarrickHooks(command?: string): InstalledHook[];
|
|
72
|
+
/** One hook set, flattened the way `installedCarrickHooks` reads a document. */
|
|
73
|
+
export declare function flattenHooks(set: Record<string, HookGroup[]>): InstalledHook[];
|
|
63
74
|
/**
|
|
64
75
|
* The command an installed entry runs, without the `hook <name>` after it.
|
|
65
76
|
*
|
|
@@ -81,6 +92,15 @@ export type MergeResult = {
|
|
|
81
92
|
* edited into invalid JSON is a thing to report, never a thing to overwrite.
|
|
82
93
|
*/
|
|
83
94
|
export declare function mergeCarrickHooks(existing: string | null, command?: string | null): MergeResult;
|
|
95
|
+
/**
|
|
96
|
+
* The same merge over any hook set, for the second host (carrick#1335).
|
|
97
|
+
*
|
|
98
|
+
* Codex's `hooks.json` nests its groups under a `hooks` key exactly as a
|
|
99
|
+
* `.claude` settings file does (`codex-rs/config/src/hook_config.rs`,
|
|
100
|
+
* `HooksFile`), so the documents differ only in which entries belong there and
|
|
101
|
+
* in what else the file holds. `null` removes ours and adds nothing.
|
|
102
|
+
*/
|
|
103
|
+
export declare function mergeHookSet(existing: string | null, set: Record<string, HookGroup[]> | null): MergeResult;
|
|
84
104
|
/**
|
|
85
105
|
* The inverse of `mergeCarrickHooks`: our entries out, everything else kept.
|
|
86
106
|
*
|
package/dist/init/settings.js
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
// file it wrote would fail on every edit afterwards, silently, because the hook
|
|
14
14
|
// is built never to fail an edit (#837).
|
|
15
15
|
import path from "node:path";
|
|
16
|
+
import { sameText } from "./files.js";
|
|
16
17
|
import { packageRoot } from "../native.js";
|
|
17
18
|
/**
|
|
18
19
|
* The entry point in this package, for a settings file that must name a path.
|
|
@@ -26,6 +27,17 @@ import { packageRoot } from "../native.js";
|
|
|
26
27
|
export function ownEntryPoint(root = packageRoot()) {
|
|
27
28
|
return path.join(root, "bin", "carrick.mjs");
|
|
28
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* The settings files a workspace can hold our hook entries in.
|
|
32
|
+
*
|
|
33
|
+
* Beside the writer, with the readers that audit it: `carrick init` writes one
|
|
34
|
+
* of them, `carrick remove` clears both, and `carrick doctor` and the refresh
|
|
35
|
+
* notice read both (carrick#1333).
|
|
36
|
+
*/
|
|
37
|
+
export const SETTINGS_FILES = [
|
|
38
|
+
path.join(".claude", "settings.json"),
|
|
39
|
+
path.join(".claude", "settings.local.json"),
|
|
40
|
+
];
|
|
29
41
|
/**
|
|
30
42
|
* The command to write into a settings file.
|
|
31
43
|
*
|
|
@@ -56,6 +68,15 @@ export function carrickHooks(command = "carrick") {
|
|
|
56
68
|
hooks: [{ type: "command", command: `${command} hook session-start`, timeout: 30 }],
|
|
57
69
|
},
|
|
58
70
|
],
|
|
71
|
+
// The end of a task, which is the only moment a reuse check is worth a
|
|
72
|
+
// model turn: the post-edit hook records what each edit added and this
|
|
73
|
+
// names the lot once (carrick#1330). It reads one small file and prints
|
|
74
|
+
// nothing when the task added no function, so the timeout is the short one.
|
|
75
|
+
Stop: [
|
|
76
|
+
{
|
|
77
|
+
hooks: [{ type: "command", command: `${command} hook stop`, timeout: 5 }],
|
|
78
|
+
},
|
|
79
|
+
],
|
|
59
80
|
};
|
|
60
81
|
}
|
|
61
82
|
/**
|
|
@@ -67,7 +88,7 @@ export function carrickHooks(command = "carrick") {
|
|
|
67
88
|
* behind and add a second one.
|
|
68
89
|
*/
|
|
69
90
|
const HOOK_CALL = /^"?(.*?)"?\s+hook\s/;
|
|
70
|
-
function isOurs(entry) {
|
|
91
|
+
export function isOurs(entry) {
|
|
71
92
|
if (typeof entry !== "object" || entry === null)
|
|
72
93
|
return false;
|
|
73
94
|
const command = entry.command;
|
|
@@ -125,8 +146,12 @@ export function installedCarrickHooks(existing) {
|
|
|
125
146
|
}
|
|
126
147
|
/** What `carrickHooks` writes, flattened the way `installedCarrickHooks` reads. */
|
|
127
148
|
export function expectedCarrickHooks(command = "carrick") {
|
|
149
|
+
return flattenHooks(carrickHooks(command));
|
|
150
|
+
}
|
|
151
|
+
/** One hook set, flattened the way `installedCarrickHooks` reads a document. */
|
|
152
|
+
export function flattenHooks(set) {
|
|
128
153
|
const expected = [];
|
|
129
|
-
for (const [event, groups] of Object.entries(
|
|
154
|
+
for (const [event, groups] of Object.entries(set)) {
|
|
130
155
|
for (const group of groups) {
|
|
131
156
|
for (const entry of group.hooks) {
|
|
132
157
|
const one = { event, command: entry.command };
|
|
@@ -181,6 +206,17 @@ function withoutOurs(groups) {
|
|
|
181
206
|
* edited into invalid JSON is a thing to report, never a thing to overwrite.
|
|
182
207
|
*/
|
|
183
208
|
export function mergeCarrickHooks(existing, command = "carrick") {
|
|
209
|
+
return mergeHookSet(existing, command === null ? null : carrickHooks(command));
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* The same merge over any hook set, for the second host (carrick#1335).
|
|
213
|
+
*
|
|
214
|
+
* Codex's `hooks.json` nests its groups under a `hooks` key exactly as a
|
|
215
|
+
* `.claude` settings file does (`codex-rs/config/src/hook_config.rs`,
|
|
216
|
+
* `HooksFile`), so the documents differ only in which entries belong there and
|
|
217
|
+
* in what else the file holds. `null` removes ours and adds nothing.
|
|
218
|
+
*/
|
|
219
|
+
export function mergeHookSet(existing, set) {
|
|
184
220
|
const base = existing == null || existing.trim() === ""
|
|
185
221
|
? {}
|
|
186
222
|
: JSON.parse(existing);
|
|
@@ -189,7 +225,7 @@ export function mergeCarrickHooks(existing, command = "carrick") {
|
|
|
189
225
|
for (const [event, groups] of Object.entries(hooksBefore)) {
|
|
190
226
|
hooks[event] = withoutOurs(groups);
|
|
191
227
|
}
|
|
192
|
-
for (const [event, groups] of Object.entries(
|
|
228
|
+
for (const [event, groups] of Object.entries(set ?? {})) {
|
|
193
229
|
hooks[event] = [...(hooks[event] ?? []), ...groups];
|
|
194
230
|
}
|
|
195
231
|
// An event that only ever held our entry, and no longer does, leaves no
|
|
@@ -205,7 +241,9 @@ export function mergeCarrickHooks(existing, command = "carrick") {
|
|
|
205
241
|
if (!("hooks" in merged))
|
|
206
242
|
merged["hooks"] = hooks;
|
|
207
243
|
const body = `${JSON.stringify(merged, null, 2)}\n`;
|
|
208
|
-
|
|
244
|
+
// Compared the way `writeIfChanged` compares, so a CRLF checkout does not
|
|
245
|
+
// report every settings file as changed on every run (carrick#1331).
|
|
246
|
+
return { body, changed: !sameText(existing, body) };
|
|
209
247
|
}
|
|
210
248
|
/** Whether a settings document holds an entry of ours at all. */
|
|
211
249
|
function holdsCarrickHooks(base) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/init/settings.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,0EAA0E;AAC1E,+EAA+E;AAC/E,4EAA4E;AAC5E,yCAAyC;AACzC,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,yCAAyC;AAEzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,WAAW,EAAE;IACxD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/init/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/** The skills, in the order `carrick init` reports them. */
|
|
2
|
+
export declare const TASK_SKILLS: readonly ["carrick-impact", "carrick-reuse", "carrick-drift", "carrick-census"];
|
|
3
|
+
export type TaskSkill = (typeof TASK_SKILLS)[number];
|
|
4
|
+
/** One directory per harness. Both hold identical bytes. */
|
|
5
|
+
export declare const SKILL_ROOTS: string[];
|
|
6
|
+
/** Where one skill lands under one root, relative to the workspace. */
|
|
7
|
+
export declare function skillFile(root: string, name: TaskSkill): string;
|
|
8
|
+
/** Every path these skills occupy, relative to the workspace. */
|
|
9
|
+
export declare function taskSkillPaths(): string[];
|
|
10
|
+
/** A rendered body with its stamp on the last line. */
|
|
11
|
+
export declare function stamped(body: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* What a path holds now.
|
|
14
|
+
*
|
|
15
|
+
* `ours` is a file this package wrote and nobody has touched since, whichever
|
|
16
|
+
* version wrote it. `edited` carries our stamp over a body that has moved, and
|
|
17
|
+
* `theirs` carries no stamp at all: a skill of the same name somebody wrote
|
|
18
|
+
* themselves. Only `absent` and `ours` are written over.
|
|
19
|
+
*/
|
|
20
|
+
export type SkillState = "absent" | "ours" | "edited" | "theirs";
|
|
21
|
+
export declare function skillState(existing: string | null): SkillState;
|
|
22
|
+
/** How a call names the project on every Carrick tool call in a body. */
|
|
23
|
+
export type SkillScope = {
|
|
24
|
+
slug: string | null;
|
|
25
|
+
};
|
|
26
|
+
/** One skill body, scoped and stamped, ready to write. */
|
|
27
|
+
export declare function renderTaskSkill(name: TaskSkill, scope: SkillScope): string;
|
|
28
|
+
export declare function scopeOf(body: string): SkillScope;
|
|
29
|
+
/** What one installed path holds, for a reader that changes nothing. */
|
|
30
|
+
export type InstalledSkill = {
|
|
31
|
+
/** Relative to the workspace. */
|
|
32
|
+
path: string;
|
|
33
|
+
state: SkillState;
|
|
34
|
+
/**
|
|
35
|
+
* True where the bytes are the ones this package renders now.
|
|
36
|
+
*
|
|
37
|
+
* Only meaningful for a file in state `ours`: an upgrade that does not
|
|
38
|
+
* change a body leaves that body current, which is why this is a comparison
|
|
39
|
+
* of content and not of version numbers. A skill somebody edited is not
|
|
40
|
+
* measured against the current render at all — it is theirs now, and saying
|
|
41
|
+
* it is also out of date would be two findings about one file.
|
|
42
|
+
*/
|
|
43
|
+
current: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* What is installed under both roots right now.
|
|
47
|
+
*
|
|
48
|
+
* The read half of `writeTaskSkills`, for `carrick doctor` and for the line
|
|
49
|
+
* any command can print (carrick#1331, carrick#1333). It opens the eight
|
|
50
|
+
* files, renders each one against the scope its own body carries, and says
|
|
51
|
+
* nothing about a workspace — the caller decides which of these four states is
|
|
52
|
+
* worth a finding.
|
|
53
|
+
*/
|
|
54
|
+
export declare function inspectTaskSkills(workspace: string): InstalledSkill[];
|
|
55
|
+
/** What one path did on this run. */
|
|
56
|
+
export type SkillOutcome = {
|
|
57
|
+
/** Relative to the workspace. */
|
|
58
|
+
path: string;
|
|
59
|
+
state: SkillState;
|
|
60
|
+
/** True where this run put new bytes there. */
|
|
61
|
+
wrote: boolean;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Write every skill under both roots, leaving alone anything that is not ours.
|
|
65
|
+
*
|
|
66
|
+
* Idempotent twice over: a second run renders the same bytes, and
|
|
67
|
+
* `writeIfChanged` does not touch a file that already holds them.
|
|
68
|
+
*/
|
|
69
|
+
export declare function writeTaskSkills(workspace: string, scope: SkillScope): SkillOutcome[];
|
|
70
|
+
/** The lines `carrick init` prints about what it just did with them. */
|
|
71
|
+
export declare function taskSkillLines(outcomes: SkillOutcome[]): {
|
|
72
|
+
done: string[];
|
|
73
|
+
warn: string[];
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Delete the skill files this package wrote, and only those.
|
|
77
|
+
*
|
|
78
|
+
* An edited body and a file of somebody else's are returned as `kept` for the
|
|
79
|
+
* caller to name, exactly as the write path leaves them. A skill directory
|
|
80
|
+
* emptied by the deletion goes with it; a root holding anything else stays.
|
|
81
|
+
*/
|
|
82
|
+
export declare function removeTaskSkills(workspace: string): {
|
|
83
|
+
deleted: string[];
|
|
84
|
+
kept: SkillOutcome[];
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* The skill roots this repository ignores.
|
|
88
|
+
*
|
|
89
|
+
* An ignored skill works on the machine that ran `carrick init` and reaches
|
|
90
|
+
* nobody else on the team, which is a thing to say once rather than a thing to
|
|
91
|
+
* change: what a repository ignores is its own decision.
|
|
92
|
+
*
|
|
93
|
+
* `git check-ignore` answers for a path that does not exist yet. Exit 0 is
|
|
94
|
+
* ignored and 1 is not; anything else (128 outside a repository) is git
|
|
95
|
+
* declining to answer, and this says nothing then.
|
|
96
|
+
*/
|
|
97
|
+
export declare function ignoredSkillRoots(workspace: string): string[];
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
// The four task skills `carrick init` installs beside the hooks.
|
|
2
|
+
//
|
|
3
|
+
// A skill is the body a hook or an agent's own judgement points at, and these
|
|
4
|
+
// four perform a task rather than remind: each one is a sequence of Carrick
|
|
5
|
+
// tool calls, and the agent's work is to confirm what came back in source,
|
|
6
|
+
// classify it, decide and act.
|
|
7
|
+
//
|
|
8
|
+
// `docs/reference/task-skills.md` is what each one covers, when it fires and
|
|
9
|
+
// how the stamp below decides who owns a file. The bodies themselves are the
|
|
10
|
+
// markdown in `templates/skills/`, so they can be read and reviewed as files.
|
|
11
|
+
//
|
|
12
|
+
// Two copies of the same bytes go in, one per harness: `.claude/skills/` for
|
|
13
|
+
// Claude Code and `.agents/skills/` for Codex, which is the scaffold parity
|
|
14
|
+
// rule of 2026-09-05.
|
|
15
|
+
//
|
|
16
|
+
// Every file this writes ends in a stamp: a marker and a digest of the body
|
|
17
|
+
// above it. The digest is what separates the three states a path can be in on
|
|
18
|
+
// a re-run — ours and untouched, ours and since edited, or somebody else's —
|
|
19
|
+
// and it stays right across an upgrade, where the shipped body changes and a
|
|
20
|
+
// version number would not. `carrick remove` deletes the untouched ones and
|
|
21
|
+
// nothing else, so a file a user has made their own is never destroyed by a
|
|
22
|
+
// command undoing an install.
|
|
23
|
+
//
|
|
24
|
+
// The reminder skill at `.claude/skills/carrick/SKILL.md` belongs to the cloud
|
|
25
|
+
// scaffold and carries no stamp, so nothing here reads or writes it.
|
|
26
|
+
import { createHash } from "node:crypto";
|
|
27
|
+
import fs from "node:fs";
|
|
28
|
+
import path from "node:path";
|
|
29
|
+
import { spawnSync } from "node:child_process";
|
|
30
|
+
import { templatesDir } from "../templates.js";
|
|
31
|
+
import { writeIfChanged } from "./files.js";
|
|
32
|
+
/** The skills, in the order `carrick init` reports them. */
|
|
33
|
+
export const TASK_SKILLS = [
|
|
34
|
+
"carrick-impact",
|
|
35
|
+
"carrick-reuse",
|
|
36
|
+
"carrick-drift",
|
|
37
|
+
"carrick-census",
|
|
38
|
+
];
|
|
39
|
+
/** One directory per harness. Both hold identical bytes. */
|
|
40
|
+
export const SKILL_ROOTS = [
|
|
41
|
+
path.join(".claude", "skills"),
|
|
42
|
+
path.join(".agents", "skills"),
|
|
43
|
+
];
|
|
44
|
+
/** Where one skill lands under one root, relative to the workspace. */
|
|
45
|
+
export function skillFile(root, name) {
|
|
46
|
+
return path.join(root, name, "SKILL.md");
|
|
47
|
+
}
|
|
48
|
+
/** Every path these skills occupy, relative to the workspace. */
|
|
49
|
+
export function taskSkillPaths() {
|
|
50
|
+
return SKILL_ROOTS.flatMap((root) => TASK_SKILLS.map((name) => skillFile(root, name)));
|
|
51
|
+
}
|
|
52
|
+
const STAMP = /^<!-- carrick:skill sha256:([0-9a-f]{12}) -->$/;
|
|
53
|
+
/** The digest of a body, as the stamp spells it. */
|
|
54
|
+
function digest(body) {
|
|
55
|
+
return createHash("sha256").update(body, "utf8").digest("hex").slice(0, 12);
|
|
56
|
+
}
|
|
57
|
+
/** A rendered body with its stamp on the last line. */
|
|
58
|
+
export function stamped(body) {
|
|
59
|
+
const text = body.endsWith("\n") ? body : `${body}\n`;
|
|
60
|
+
return `${text}\n<!-- carrick:skill sha256:${digest(text)} -->\n`;
|
|
61
|
+
}
|
|
62
|
+
export function skillState(existing) {
|
|
63
|
+
if (existing === null)
|
|
64
|
+
return "absent";
|
|
65
|
+
// Line endings are normalised before anything is compared. A checkout with
|
|
66
|
+
// `core.autocrlf` set rewrites every one of these files to CRLF on the way
|
|
67
|
+
// to disk, and a digest taken over those bytes would read all eight as
|
|
68
|
+
// somebody else's work and warn about them on every run.
|
|
69
|
+
const lines = existing.replace(/\r\n/g, "\n").split("\n");
|
|
70
|
+
// The marker is looked for anywhere rather than on the last line, because
|
|
71
|
+
// appending a step under it is as ordinary an edit as changing one above it,
|
|
72
|
+
// and a file that still carries our marker is still one of ours.
|
|
73
|
+
const marker = lines.findIndex((line) => STAMP.test(line));
|
|
74
|
+
if (marker === -1)
|
|
75
|
+
return "theirs";
|
|
76
|
+
// The blank line `stamped` puts before the marker is the join's last
|
|
77
|
+
// separator, so rejoining everything above it reproduces the exact bytes
|
|
78
|
+
// that were digested.
|
|
79
|
+
const body = lines.slice(0, marker).join("\n");
|
|
80
|
+
const after = lines.slice(marker + 1).join("").trim();
|
|
81
|
+
const claimed = STAMP.exec(lines[marker])?.[1];
|
|
82
|
+
return digest(body) === claimed && after === "" ? "ours" : "edited";
|
|
83
|
+
}
|
|
84
|
+
function scopeArgument(scope) {
|
|
85
|
+
return scope.slug === null ? 'repo: "<owner/repo>"' : `project: "${scope.slug}"`;
|
|
86
|
+
}
|
|
87
|
+
function scopeNote(scope) {
|
|
88
|
+
return scope.slug === null
|
|
89
|
+
? "Every Carrick call below needs a scope. Read this repository's once with `git remote get-url origin` and pass it as `repo: \"<owner/repo>\"` wherever the commands below write it."
|
|
90
|
+
: `Every Carrick call below carries \`project: "${scope.slug}"\`, which is this workspace's Carrick project and is already written into the commands.`;
|
|
91
|
+
}
|
|
92
|
+
/** One skill body, scoped and stamped, ready to write. */
|
|
93
|
+
export function renderTaskSkill(name, scope) {
|
|
94
|
+
const source = fs.readFileSync(path.join(templatesDir(), "skills", `${name}.md`), "utf8");
|
|
95
|
+
const rendered = source
|
|
96
|
+
.split("{{SCOPE_NOTE}}")
|
|
97
|
+
.join(scopeNote(scope))
|
|
98
|
+
.split("{{SCOPE}}")
|
|
99
|
+
.join(scopeArgument(scope));
|
|
100
|
+
// A body that still holds a placeholder is a file that looks written and
|
|
101
|
+
// tells an agent to call a tool with a literal `{{SCOPE}}` in it.
|
|
102
|
+
const left = /\{\{([A-Z_]+)\}\}/.exec(rendered);
|
|
103
|
+
if (left)
|
|
104
|
+
throw new Error(`${name} still holds ${left[0]} after rendering`);
|
|
105
|
+
return stamped(rendered);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The scope a file on disk was written with, read back out of it.
|
|
109
|
+
*
|
|
110
|
+
* The digest below is taken over a rendered body, and a body renders
|
|
111
|
+
* differently for a workspace with a project and one without — so telling an
|
|
112
|
+
* older version's file from the current one means rendering the same scope it
|
|
113
|
+
* was written with. The rendered scope is in the file, as the only `project:
|
|
114
|
+
* "…"` a body can hold (the templates carry `{{SCOPE}}` and no literal), and a
|
|
115
|
+
* body written without one says `repo: "<owner/repo>"` instead.
|
|
116
|
+
*/
|
|
117
|
+
const RENDERED_SCOPE = /project: "([^"]+)"/;
|
|
118
|
+
export function scopeOf(body) {
|
|
119
|
+
const named = RENDERED_SCOPE.exec(body);
|
|
120
|
+
return { slug: named ? named[1] : null };
|
|
121
|
+
}
|
|
122
|
+
/** The digest a file's own stamp claims, or null where it carries none. */
|
|
123
|
+
function claimedDigest(existing) {
|
|
124
|
+
const marker = existing
|
|
125
|
+
.replace(/\r\n/g, "\n")
|
|
126
|
+
.split("\n")
|
|
127
|
+
.find((line) => STAMP.test(line));
|
|
128
|
+
return marker ? (STAMP.exec(marker)?.[1] ?? null) : null;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* What is installed under both roots right now.
|
|
132
|
+
*
|
|
133
|
+
* The read half of `writeTaskSkills`, for `carrick doctor` and for the line
|
|
134
|
+
* any command can print (carrick#1331, carrick#1333). It opens the eight
|
|
135
|
+
* files, renders each one against the scope its own body carries, and says
|
|
136
|
+
* nothing about a workspace — the caller decides which of these four states is
|
|
137
|
+
* worth a finding.
|
|
138
|
+
*/
|
|
139
|
+
export function inspectTaskSkills(workspace) {
|
|
140
|
+
const installed = [];
|
|
141
|
+
for (const root of SKILL_ROOTS) {
|
|
142
|
+
for (const name of TASK_SKILLS) {
|
|
143
|
+
const relative = skillFile(root, name);
|
|
144
|
+
let existing;
|
|
145
|
+
try {
|
|
146
|
+
existing = fs.readFileSync(path.join(workspace, relative), "utf8");
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
existing = null;
|
|
150
|
+
}
|
|
151
|
+
const state = skillState(existing);
|
|
152
|
+
const current = state === "ours" && existing !== null
|
|
153
|
+
? claimedDigest(existing) === claimedDigest(renderTaskSkill(name, scopeOf(existing)))
|
|
154
|
+
: false;
|
|
155
|
+
installed.push({ path: relative, state, current });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return installed;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Write every skill under both roots, leaving alone anything that is not ours.
|
|
162
|
+
*
|
|
163
|
+
* Idempotent twice over: a second run renders the same bytes, and
|
|
164
|
+
* `writeIfChanged` does not touch a file that already holds them.
|
|
165
|
+
*/
|
|
166
|
+
export function writeTaskSkills(workspace, scope) {
|
|
167
|
+
const outcomes = [];
|
|
168
|
+
for (const root of SKILL_ROOTS) {
|
|
169
|
+
for (const name of TASK_SKILLS) {
|
|
170
|
+
const relative = skillFile(root, name);
|
|
171
|
+
const target = path.join(workspace, relative);
|
|
172
|
+
const existing = fs.existsSync(target) ? fs.readFileSync(target, "utf8") : null;
|
|
173
|
+
const state = skillState(existing);
|
|
174
|
+
if (state === "edited" || state === "theirs") {
|
|
175
|
+
outcomes.push({ path: relative, state, wrote: false });
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
const result = writeIfChanged(target, renderTaskSkill(name, scope));
|
|
179
|
+
outcomes.push({ path: relative, state, wrote: result === "written" });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return outcomes;
|
|
183
|
+
}
|
|
184
|
+
/** The lines `carrick init` prints about what it just did with them. */
|
|
185
|
+
export function taskSkillLines(outcomes) {
|
|
186
|
+
const done = [];
|
|
187
|
+
const warn = [];
|
|
188
|
+
const installed = outcomes.filter((row) => row.state === "absent" || row.state === "ours");
|
|
189
|
+
if (installed.length > 0) {
|
|
190
|
+
done.push(`Task skills installed in ${SKILL_ROOTS.join(" and ")}: ${TASK_SKILLS.join(", ")}`);
|
|
191
|
+
}
|
|
192
|
+
for (const row of outcomes) {
|
|
193
|
+
if (row.state === "edited") {
|
|
194
|
+
warn.push(`${row.path} has been edited here, so it was left as it is. Delete it and run carrick init again for the current version.`);
|
|
195
|
+
}
|
|
196
|
+
else if (row.state === "theirs") {
|
|
197
|
+
warn.push(`${row.path} was not written by Carrick, so it was left as it is.`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return { done, warn };
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Delete the skill files this package wrote, and only those.
|
|
204
|
+
*
|
|
205
|
+
* An edited body and a file of somebody else's are returned as `kept` for the
|
|
206
|
+
* caller to name, exactly as the write path leaves them. A skill directory
|
|
207
|
+
* emptied by the deletion goes with it; a root holding anything else stays.
|
|
208
|
+
*/
|
|
209
|
+
export function removeTaskSkills(workspace) {
|
|
210
|
+
const deleted = [];
|
|
211
|
+
const kept = [];
|
|
212
|
+
for (const root of SKILL_ROOTS) {
|
|
213
|
+
for (const name of TASK_SKILLS) {
|
|
214
|
+
const relative = skillFile(root, name);
|
|
215
|
+
const target = path.join(workspace, relative);
|
|
216
|
+
if (!fs.existsSync(target))
|
|
217
|
+
continue;
|
|
218
|
+
const state = skillState(fs.readFileSync(target, "utf8"));
|
|
219
|
+
if (state !== "ours") {
|
|
220
|
+
kept.push({ path: relative, state, wrote: false });
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
fs.rmSync(target);
|
|
224
|
+
deleted.push(relative);
|
|
225
|
+
// The skill's own directory, the root that held it, and the host folder
|
|
226
|
+
// that root was the only thing in: `.agents/` exists because init wrote
|
|
227
|
+
// skills into it, and an empty one left behind is litter a user would
|
|
228
|
+
// have to recognise before deleting (carrick#1331). `.claude/` holds
|
|
229
|
+
// their settings and their own files, so the same call does nothing
|
|
230
|
+
// there — a directory that is not empty is not removed.
|
|
231
|
+
for (const directory of [
|
|
232
|
+
path.dirname(target),
|
|
233
|
+
path.join(workspace, root),
|
|
234
|
+
path.join(workspace, root.split(path.sep)[0]),
|
|
235
|
+
]) {
|
|
236
|
+
try {
|
|
237
|
+
fs.rmdirSync(directory);
|
|
238
|
+
}
|
|
239
|
+
catch {
|
|
240
|
+
// Holds something else. That is the answer, not a failure.
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return { deleted, kept };
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* The skill roots this repository ignores.
|
|
249
|
+
*
|
|
250
|
+
* An ignored skill works on the machine that ran `carrick init` and reaches
|
|
251
|
+
* nobody else on the team, which is a thing to say once rather than a thing to
|
|
252
|
+
* change: what a repository ignores is its own decision.
|
|
253
|
+
*
|
|
254
|
+
* `git check-ignore` answers for a path that does not exist yet. Exit 0 is
|
|
255
|
+
* ignored and 1 is not; anything else (128 outside a repository) is git
|
|
256
|
+
* declining to answer, and this says nothing then.
|
|
257
|
+
*/
|
|
258
|
+
export function ignoredSkillRoots(workspace) {
|
|
259
|
+
return SKILL_ROOTS.filter((root) => {
|
|
260
|
+
const probe = spawnSync("git", ["check-ignore", "-q", "--", root], {
|
|
261
|
+
cwd: workspace,
|
|
262
|
+
stdio: "ignore",
|
|
263
|
+
});
|
|
264
|
+
return probe.status === 0;
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=task-skills.js.map
|