mulch-cli 0.1.0 → 0.2.1
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 +29 -8
- package/dist/cli.js +15 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +20 -3
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/compact.d.ts +3 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +364 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/delete.d.ts +3 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +110 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +364 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +103 -22
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +11 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/learn.d.ts +12 -0
- package/dist/commands/learn.d.ts.map +1 -0
- package/dist/commands/learn.js +130 -0
- package/dist/commands/learn.js.map +1 -0
- package/dist/commands/onboard.d.ts +1 -0
- package/dist/commands/onboard.d.ts.map +1 -1
- package/dist/commands/onboard.js +41 -50
- package/dist/commands/onboard.js.map +1 -1
- package/dist/commands/prime.d.ts.map +1 -1
- package/dist/commands/prime.js +75 -17
- package/dist/commands/prime.js.map +1 -1
- package/dist/commands/prune.d.ts +5 -0
- package/dist/commands/prune.d.ts.map +1 -1
- package/dist/commands/prune.js +16 -4
- package/dist/commands/prune.js.map +1 -1
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +56 -15
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/ready.d.ts +3 -0
- package/dist/commands/ready.d.ts.map +1 -0
- package/dist/commands/ready.js +160 -0
- package/dist/commands/ready.js.map +1 -0
- package/dist/commands/record.d.ts.map +1 -1
- package/dist/commands/record.js +137 -23
- package/dist/commands/record.js.map +1 -1
- package/dist/commands/search.d.ts.map +1 -1
- package/dist/commands/search.js +76 -26
- package/dist/commands/search.js.map +1 -1
- package/dist/commands/setup.d.ts +2 -2
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +77 -33
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +24 -3
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +176 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +30 -6
- package/dist/commands/validate.js.map +1 -1
- package/dist/schemas/record-schema.d.ts +108 -0
- package/dist/schemas/record-schema.d.ts.map +1 -1
- package/dist/schemas/record-schema.js +19 -0
- package/dist/schemas/record-schema.js.map +1 -1
- package/dist/schemas/record.d.ts +3 -0
- package/dist/schemas/record.d.ts.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +4 -4
- package/dist/utils/expertise.d.ts +1 -0
- package/dist/utils/expertise.d.ts.map +1 -1
- package/dist/utils/expertise.js +33 -0
- package/dist/utils/expertise.js.map +1 -1
- package/dist/utils/format.d.ts +2 -0
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +76 -19
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/git.d.ts +6 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +81 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/index.d.ts +4 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/json-output.d.ts +8 -0
- package/dist/utils/json-output.d.ts.map +1 -0
- package/dist/utils/json-output.js +7 -0
- package/dist/utils/json-output.js.map +1 -0
- package/package.json +2 -2
package/dist/commands/record.js
CHANGED
|
@@ -5,12 +5,13 @@ import chalk from "chalk";
|
|
|
5
5
|
import { readConfig, getExpertisePath } from "../utils/config.js";
|
|
6
6
|
import { appendRecord, readExpertiseFile, writeExpertiseFile, findDuplicate, } from "../utils/expertise.js";
|
|
7
7
|
import { recordSchema } from "../schemas/record-schema.js";
|
|
8
|
+
import { outputJson, outputJsonError } from "../utils/json-output.js";
|
|
8
9
|
export function registerRecordCommand(program) {
|
|
9
10
|
program
|
|
10
11
|
.command("record")
|
|
11
12
|
.argument("<domain>", "expertise domain")
|
|
12
13
|
.argument("[content]", "record content")
|
|
13
|
-
.description("Record an expertise
|
|
14
|
+
.description("Record an expertise record")
|
|
14
15
|
.addOption(new Option("--type <type>", "record type")
|
|
15
16
|
.choices(["convention", "pattern", "failure", "decision", "reference", "guide"])
|
|
16
17
|
.makeOptionMandatory())
|
|
@@ -27,13 +28,22 @@ export function registerRecordCommand(program) {
|
|
|
27
28
|
.option("--evidence-commit <commit>", "evidence: commit hash")
|
|
28
29
|
.option("--evidence-issue <issue>", "evidence: issue reference")
|
|
29
30
|
.option("--evidence-file <file>", "evidence: file path")
|
|
31
|
+
.option("--relates-to <ids>", "comma-separated record IDs this relates to")
|
|
32
|
+
.option("--supersedes <ids>", "comma-separated record IDs this supersedes")
|
|
30
33
|
.option("--force", "force recording even if duplicate exists")
|
|
31
34
|
.action(async (domain, content, options) => {
|
|
35
|
+
const jsonMode = program.opts().json === true;
|
|
32
36
|
const config = await readConfig();
|
|
33
37
|
if (!config.domains.includes(domain)) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
if (jsonMode) {
|
|
39
|
+
outputJsonError("record", `Domain "${domain}" not found in config. Available domains: ${config.domains.join(", ") || "(none)"}`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
console.error(chalk.red(`Error: domain "${domain}" not found in config.`));
|
|
43
|
+
console.error(chalk.red(`Available domains: ${config.domains.join(", ") || "(none)"}`));
|
|
44
|
+
}
|
|
45
|
+
process.exitCode = 1;
|
|
46
|
+
return;
|
|
37
47
|
}
|
|
38
48
|
const recordType = options.type;
|
|
39
49
|
const classification = options.classification ?? "tactical";
|
|
@@ -55,13 +65,31 @@ export function registerRecordCommand(program) {
|
|
|
55
65
|
.map((t) => t.trim())
|
|
56
66
|
.filter(Boolean)
|
|
57
67
|
: undefined;
|
|
68
|
+
const relatesTo = typeof options.relatesTo === "string"
|
|
69
|
+
? options.relatesTo
|
|
70
|
+
.split(",")
|
|
71
|
+
.map((id) => id.trim())
|
|
72
|
+
.filter(Boolean)
|
|
73
|
+
: undefined;
|
|
74
|
+
const supersedes = typeof options.supersedes === "string"
|
|
75
|
+
? options.supersedes
|
|
76
|
+
.split(",")
|
|
77
|
+
.map((id) => id.trim())
|
|
78
|
+
.filter(Boolean)
|
|
79
|
+
: undefined;
|
|
58
80
|
let record;
|
|
59
81
|
switch (recordType) {
|
|
60
82
|
case "convention": {
|
|
61
83
|
const conventionContent = content ?? options.description;
|
|
62
84
|
if (!conventionContent) {
|
|
63
|
-
|
|
64
|
-
|
|
85
|
+
if (jsonMode) {
|
|
86
|
+
outputJsonError("record", "Convention records require content (positional argument or --description).");
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
console.error(chalk.red("Error: convention records require content (positional argument or --description)."));
|
|
90
|
+
}
|
|
91
|
+
process.exitCode = 1;
|
|
92
|
+
return;
|
|
65
93
|
}
|
|
66
94
|
record = {
|
|
67
95
|
type: "convention",
|
|
@@ -70,6 +98,8 @@ export function registerRecordCommand(program) {
|
|
|
70
98
|
recorded_at: recordedAt,
|
|
71
99
|
...(evidence && { evidence }),
|
|
72
100
|
...(tags && tags.length > 0 && { tags }),
|
|
101
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
102
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
73
103
|
};
|
|
74
104
|
break;
|
|
75
105
|
}
|
|
@@ -77,8 +107,14 @@ export function registerRecordCommand(program) {
|
|
|
77
107
|
const patternName = options.name;
|
|
78
108
|
const patternDesc = options.description ?? content;
|
|
79
109
|
if (!patternName || !patternDesc) {
|
|
80
|
-
|
|
81
|
-
|
|
110
|
+
if (jsonMode) {
|
|
111
|
+
outputJsonError("record", "Pattern records require --name and --description (or positional content).");
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
console.error(chalk.red("Error: pattern records require --name and --description (or positional content)."));
|
|
115
|
+
}
|
|
116
|
+
process.exitCode = 1;
|
|
117
|
+
return;
|
|
82
118
|
}
|
|
83
119
|
record = {
|
|
84
120
|
type: "pattern",
|
|
@@ -91,6 +127,8 @@ export function registerRecordCommand(program) {
|
|
|
91
127
|
files: options.files.split(","),
|
|
92
128
|
}),
|
|
93
129
|
...(tags && tags.length > 0 && { tags }),
|
|
130
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
131
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
94
132
|
};
|
|
95
133
|
break;
|
|
96
134
|
}
|
|
@@ -98,8 +136,14 @@ export function registerRecordCommand(program) {
|
|
|
98
136
|
const failureDesc = options.description;
|
|
99
137
|
const failureResolution = options.resolution;
|
|
100
138
|
if (!failureDesc || !failureResolution) {
|
|
101
|
-
|
|
102
|
-
|
|
139
|
+
if (jsonMode) {
|
|
140
|
+
outputJsonError("record", "Failure records require --description and --resolution.");
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
console.error(chalk.red("Error: failure records require --description and --resolution."));
|
|
144
|
+
}
|
|
145
|
+
process.exitCode = 1;
|
|
146
|
+
return;
|
|
103
147
|
}
|
|
104
148
|
record = {
|
|
105
149
|
type: "failure",
|
|
@@ -109,6 +153,8 @@ export function registerRecordCommand(program) {
|
|
|
109
153
|
recorded_at: recordedAt,
|
|
110
154
|
...(evidence && { evidence }),
|
|
111
155
|
...(tags && tags.length > 0 && { tags }),
|
|
156
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
157
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
112
158
|
};
|
|
113
159
|
break;
|
|
114
160
|
}
|
|
@@ -116,8 +162,14 @@ export function registerRecordCommand(program) {
|
|
|
116
162
|
const decisionTitle = options.title;
|
|
117
163
|
const decisionRationale = options.rationale;
|
|
118
164
|
if (!decisionTitle || !decisionRationale) {
|
|
119
|
-
|
|
120
|
-
|
|
165
|
+
if (jsonMode) {
|
|
166
|
+
outputJsonError("record", "Decision records require --title and --rationale.");
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
console.error(chalk.red("Error: decision records require --title and --rationale."));
|
|
170
|
+
}
|
|
171
|
+
process.exitCode = 1;
|
|
172
|
+
return;
|
|
121
173
|
}
|
|
122
174
|
record = {
|
|
123
175
|
type: "decision",
|
|
@@ -127,6 +179,8 @@ export function registerRecordCommand(program) {
|
|
|
127
179
|
recorded_at: recordedAt,
|
|
128
180
|
...(evidence && { evidence }),
|
|
129
181
|
...(tags && tags.length > 0 && { tags }),
|
|
182
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
183
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
130
184
|
};
|
|
131
185
|
break;
|
|
132
186
|
}
|
|
@@ -134,8 +188,14 @@ export function registerRecordCommand(program) {
|
|
|
134
188
|
const refName = options.name;
|
|
135
189
|
const refDesc = options.description ?? content;
|
|
136
190
|
if (!refName || !refDesc) {
|
|
137
|
-
|
|
138
|
-
|
|
191
|
+
if (jsonMode) {
|
|
192
|
+
outputJsonError("record", "Reference records require --name and --description (or positional content).");
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
console.error(chalk.red("Error: reference records require --name and --description (or positional content)."));
|
|
196
|
+
}
|
|
197
|
+
process.exitCode = 1;
|
|
198
|
+
return;
|
|
139
199
|
}
|
|
140
200
|
record = {
|
|
141
201
|
type: "reference",
|
|
@@ -148,6 +208,8 @@ export function registerRecordCommand(program) {
|
|
|
148
208
|
files: options.files.split(","),
|
|
149
209
|
}),
|
|
150
210
|
...(tags && tags.length > 0 && { tags }),
|
|
211
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
212
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
151
213
|
};
|
|
152
214
|
break;
|
|
153
215
|
}
|
|
@@ -155,8 +217,14 @@ export function registerRecordCommand(program) {
|
|
|
155
217
|
const guideName = options.name;
|
|
156
218
|
const guideDesc = options.description ?? content;
|
|
157
219
|
if (!guideName || !guideDesc) {
|
|
158
|
-
|
|
159
|
-
|
|
220
|
+
if (jsonMode) {
|
|
221
|
+
outputJsonError("record", "Guide records require --name and --description (or positional content).");
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
console.error(chalk.red("Error: guide records require --name and --description (or positional content)."));
|
|
225
|
+
}
|
|
226
|
+
process.exitCode = 1;
|
|
227
|
+
return;
|
|
160
228
|
}
|
|
161
229
|
record = {
|
|
162
230
|
type: "guide",
|
|
@@ -166,6 +234,8 @@ export function registerRecordCommand(program) {
|
|
|
166
234
|
recorded_at: recordedAt,
|
|
167
235
|
...(evidence && { evidence }),
|
|
168
236
|
...(tags && tags.length > 0 && { tags }),
|
|
237
|
+
...(relatesTo && relatesTo.length > 0 && { relates_to: relatesTo }),
|
|
238
|
+
...(supersedes && supersedes.length > 0 && { supersedes }),
|
|
169
239
|
};
|
|
170
240
|
break;
|
|
171
241
|
}
|
|
@@ -174,11 +244,18 @@ export function registerRecordCommand(program) {
|
|
|
174
244
|
const ajv = new Ajv();
|
|
175
245
|
const validate = ajv.compile(recordSchema);
|
|
176
246
|
if (!validate(record)) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
247
|
+
const errors = (validate.errors ?? []).map((err) => `${err.instancePath} ${err.message}`);
|
|
248
|
+
if (jsonMode) {
|
|
249
|
+
outputJsonError("record", `Schema validation failed: ${errors.join("; ")}`);
|
|
180
250
|
}
|
|
181
|
-
|
|
251
|
+
else {
|
|
252
|
+
console.error(chalk.red("Error: record failed schema validation:"));
|
|
253
|
+
for (const err of validate.errors ?? []) {
|
|
254
|
+
console.error(chalk.red(` ${err.instancePath} ${err.message}`));
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
process.exitCode = 1;
|
|
258
|
+
return;
|
|
182
259
|
}
|
|
183
260
|
const filePath = getExpertisePath(domain);
|
|
184
261
|
const existing = await readExpertiseFile(filePath);
|
|
@@ -190,16 +267,53 @@ export function registerRecordCommand(program) {
|
|
|
190
267
|
// Upsert: replace in place
|
|
191
268
|
existing[dup.index] = record;
|
|
192
269
|
await writeExpertiseFile(filePath, existing);
|
|
193
|
-
|
|
270
|
+
if (jsonMode) {
|
|
271
|
+
outputJson({
|
|
272
|
+
success: true,
|
|
273
|
+
command: "record",
|
|
274
|
+
action: "updated",
|
|
275
|
+
domain,
|
|
276
|
+
type: recordType,
|
|
277
|
+
index: dup.index + 1,
|
|
278
|
+
record,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
console.log(chalk.green(`\u2714 Updated existing ${recordType} in ${domain} (record #${dup.index + 1})`));
|
|
283
|
+
}
|
|
194
284
|
}
|
|
195
285
|
else {
|
|
196
286
|
// Exact match: skip
|
|
197
|
-
|
|
287
|
+
if (jsonMode) {
|
|
288
|
+
outputJson({
|
|
289
|
+
success: true,
|
|
290
|
+
command: "record",
|
|
291
|
+
action: "skipped",
|
|
292
|
+
domain,
|
|
293
|
+
type: recordType,
|
|
294
|
+
index: dup.index + 1,
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
console.log(chalk.yellow(`Duplicate ${recordType} already exists in ${domain} (record #${dup.index + 1}). Use --force to add anyway.`));
|
|
299
|
+
}
|
|
198
300
|
}
|
|
199
301
|
}
|
|
200
302
|
else {
|
|
201
303
|
await appendRecord(filePath, record);
|
|
202
|
-
|
|
304
|
+
if (jsonMode) {
|
|
305
|
+
outputJson({
|
|
306
|
+
success: true,
|
|
307
|
+
command: "record",
|
|
308
|
+
action: "created",
|
|
309
|
+
domain,
|
|
310
|
+
type: recordType,
|
|
311
|
+
record,
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
console.log(chalk.green(`\u2714 Recorded ${recordType} in ${domain}`));
|
|
316
|
+
}
|
|
203
317
|
}
|
|
204
318
|
});
|
|
205
319
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../src/commands/record.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAO5C,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwI5D"}
|
package/dist/commands/search.js
CHANGED
|
@@ -3,6 +3,7 @@ import { readConfig, getExpertisePath } from "../utils/config.js";
|
|
|
3
3
|
import { readExpertiseFile, getFileModTime, filterByType } from "../utils/expertise.js";
|
|
4
4
|
import { searchRecords } from "../utils/expertise.js";
|
|
5
5
|
import { formatDomainExpertise } from "../utils/format.js";
|
|
6
|
+
import { outputJson, outputJsonError } from "../utils/json-output.js";
|
|
6
7
|
export function registerSearchCommand(program) {
|
|
7
8
|
program
|
|
8
9
|
.command("search")
|
|
@@ -19,9 +20,15 @@ export function registerSearchCommand(program) {
|
|
|
19
20
|
]))
|
|
20
21
|
.option("--tag <tag>", "filter by tag")
|
|
21
22
|
.action(async (query, options) => {
|
|
23
|
+
const jsonMode = program.opts().json === true;
|
|
22
24
|
try {
|
|
23
25
|
if (!query && !options.type && !options.domain && !options.tag) {
|
|
24
|
-
|
|
26
|
+
if (jsonMode) {
|
|
27
|
+
outputJsonError("search", "Provide a search query or use --type, --domain, or --tag to filter.");
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
console.error("Error: Provide a search query or use --type, --domain, or --tag to filter.");
|
|
31
|
+
}
|
|
25
32
|
process.exitCode = 1;
|
|
26
33
|
return;
|
|
27
34
|
}
|
|
@@ -29,7 +36,12 @@ export function registerSearchCommand(program) {
|
|
|
29
36
|
let domainsToSearch;
|
|
30
37
|
if (options.domain) {
|
|
31
38
|
if (!config.domains.includes(options.domain)) {
|
|
32
|
-
|
|
39
|
+
if (jsonMode) {
|
|
40
|
+
outputJsonError("search", `Domain "${options.domain}" not found in config. Available domains: ${config.domains.join(", ")}`);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
console.error(`Error: Domain "${options.domain}" not found in config. Available domains: ${config.domains.join(", ")}`);
|
|
44
|
+
}
|
|
33
45
|
process.exitCode = 1;
|
|
34
46
|
return;
|
|
35
47
|
}
|
|
@@ -38,40 +50,78 @@ export function registerSearchCommand(program) {
|
|
|
38
50
|
else {
|
|
39
51
|
domainsToSearch = config.domains;
|
|
40
52
|
}
|
|
41
|
-
const sections = [];
|
|
42
53
|
let totalMatches = 0;
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
if (jsonMode) {
|
|
55
|
+
const result = [];
|
|
56
|
+
for (const domain of domainsToSearch) {
|
|
57
|
+
const filePath = getExpertisePath(domain);
|
|
58
|
+
let records = await readExpertiseFile(filePath);
|
|
59
|
+
if (options.type) {
|
|
60
|
+
records = filterByType(records, options.type);
|
|
61
|
+
}
|
|
62
|
+
if (options.tag) {
|
|
63
|
+
const tagLower = options.tag.toLowerCase();
|
|
64
|
+
records = records.filter((r) => r.tags?.some((t) => t.toLowerCase() === tagLower));
|
|
65
|
+
}
|
|
66
|
+
const matches = query ? searchRecords(records, query) : records;
|
|
67
|
+
if (matches.length > 0) {
|
|
68
|
+
totalMatches += matches.length;
|
|
69
|
+
result.push({ domain, matches });
|
|
70
|
+
}
|
|
53
71
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (sections.length === 0) {
|
|
62
|
-
console.log(`No records ${label} found.`);
|
|
72
|
+
outputJson({
|
|
73
|
+
success: true,
|
|
74
|
+
command: "search",
|
|
75
|
+
query: query ?? null,
|
|
76
|
+
total: totalMatches,
|
|
77
|
+
domains: result,
|
|
78
|
+
});
|
|
63
79
|
}
|
|
64
80
|
else {
|
|
65
|
-
|
|
66
|
-
|
|
81
|
+
const sections = [];
|
|
82
|
+
for (const domain of domainsToSearch) {
|
|
83
|
+
const filePath = getExpertisePath(domain);
|
|
84
|
+
let records = await readExpertiseFile(filePath);
|
|
85
|
+
const lastUpdated = await getFileModTime(filePath);
|
|
86
|
+
if (options.type) {
|
|
87
|
+
records = filterByType(records, options.type);
|
|
88
|
+
}
|
|
89
|
+
if (options.tag) {
|
|
90
|
+
const tagLower = options.tag.toLowerCase();
|
|
91
|
+
records = records.filter((r) => r.tags?.some((t) => t.toLowerCase() === tagLower));
|
|
92
|
+
}
|
|
93
|
+
const matches = query ? searchRecords(records, query) : records;
|
|
94
|
+
if (matches.length > 0) {
|
|
95
|
+
totalMatches += matches.length;
|
|
96
|
+
sections.push(formatDomainExpertise(domain, matches, lastUpdated));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const label = query ? `matching "${query}"` : "matching filters";
|
|
100
|
+
if (sections.length === 0) {
|
|
101
|
+
console.log(`No records ${label} found.`);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
console.log(sections.join("\n\n"));
|
|
105
|
+
console.log(`\n${totalMatches} match${totalMatches === 1 ? "" : "es"} found.`);
|
|
106
|
+
}
|
|
67
107
|
}
|
|
68
108
|
}
|
|
69
109
|
catch (err) {
|
|
70
110
|
if (err.code === "ENOENT") {
|
|
71
|
-
|
|
111
|
+
if (jsonMode) {
|
|
112
|
+
outputJsonError("search", "No .mulch/ directory found. Run `mulch init` first.");
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
console.error("Error: No .mulch/ directory found. Run `mulch init` first.");
|
|
116
|
+
}
|
|
72
117
|
}
|
|
73
118
|
else {
|
|
74
|
-
|
|
119
|
+
if (jsonMode) {
|
|
120
|
+
outputJsonError("search", err.message);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.error(`Error: ${err.message}`);
|
|
124
|
+
}
|
|
75
125
|
}
|
|
76
126
|
process.exitCode = 1;
|
|
77
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -20,8 +20,8 @@ interface ProviderRecipe {
|
|
|
20
20
|
remove(cwd: string): Promise<RecipeResult>;
|
|
21
21
|
}
|
|
22
22
|
declare const CLAUDE_HOOK_COMMAND = "mulch prime";
|
|
23
|
-
declare const CURSOR_RULE_CONTENT = "---\ndescription: Mulch expertise integration\nglobs: *\nalwaysApply: true\n---\n\n# Mulch Expertise\n\nAt the start of every session, run the following command to load project expertise:\n\n```\nmulch prime\n```\n\nWhen you learn something new about this project (conventions, patterns, failures, decisions),\nrecord it with:\n\n```\nmulch record <domain> --type <convention|pattern|failure|decision> [options]\n```\n\nRun `mulch --help` for full usage.\n";
|
|
24
|
-
declare const CODEX_SECTION = "<!-- mulch:start -->\n## Mulch Expertise\n\nAt the start of every session, run `mulch prime` to load project expertise.\n\nWhen you learn something new about this project,
|
|
23
|
+
declare const CURSOR_RULE_CONTENT = "---\ndescription: Mulch expertise integration\nglobs: *\nalwaysApply: true\n---\n\n# Mulch Expertise\n\nAt the start of every session, run the following command to load project expertise:\n\n```\nmulch prime\n```\n\nThis injects project-specific conventions, patterns, decisions, and other learnings into your context.\n\nWhen you learn something new about this project (conventions, patterns, failures, decisions, references, guides),\nrecord it with:\n\n```\nmulch record <domain> --type <convention|pattern|failure|decision|reference|guide> [options]\n```\n\nRun `mulch --help` for full usage.\n";
|
|
24
|
+
declare const CODEX_SECTION = "<!-- mulch:start -->\n## Mulch Expertise\n\nAt the start of every session, run `mulch prime` to load project expertise.\n\nThis injects project-specific conventions, patterns, decisions, and other learnings into your context.\n\nWhen you learn something new about this project (conventions, patterns, failures, decisions, references, guides),\nrecord it with:\n\n```\nmulch record <domain> --type <convention|pattern|failure|decision|reference|guide> [options]\n```\n\nRun `mulch --help` for full usage.\n<!-- mulch:end -->";
|
|
25
25
|
declare const recipes: Record<Provider, ProviderRecipe>;
|
|
26
26
|
export { recipes, SUPPORTED_PROVIDERS, CURSOR_RULE_CONTENT, CODEX_SECTION, CLAUDE_HOOK_COMMAND, MULCH_HOOK_SECTION, installGitHook, checkGitHook, removeGitHook, };
|
|
27
27
|
export type { Provider, ProviderRecipe };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,gCAAgC;AAChC,QAAA,MAAM,mBAAmB,uEAOf,CAAC;AAEX,KAAK,QAAQ,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMrD,6CAA6C;AAC7C,UAAU,YAAY;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AASD,QAAA,MAAM,kBAAkB,wOASL,CAAC;AAEpB,iBAAe,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CA6BhE;AAED,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAY9D;AAED,iBAAe,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAyB/D;AAMD,UAAU,cAAc;IACtB,4CAA4C;IAC5C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,kDAAkD;IAClD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,8BAA8B;IAC9B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5C;AAqBD,QAAA,MAAM,mBAAmB,gBAAgB,CAAC;AAuI1C,QAAA,MAAM,mBAAmB,2lBAwBxB,CAAC;AAkDF,QAAA,MAAM,aAAa,ghBAeS,CAAC;AAuK7B,QAAA,MAAM,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,cAAc,CAO7C,CAAC;AAIF,OAAO,EACL,OAAO,EACP,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,aAAa,GACd,CAAC;AAEF,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AAIzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8H3D"}
|