noah-cursor 1.2.0 → 1.4.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.
@@ -0,0 +1,393 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * node-doctor — analyse a generic Node.js project.
4
+ *
5
+ * Combines:
6
+ * 1) Knip (unused files / exports / dependencies) using the bundled config
7
+ * 2) Package hygiene checks (bin/main/exports/scripts paths, engines)
8
+ *
9
+ * Usage:
10
+ * node scripts/node-doctor.mjs [projectDir] [--json] [--knip-only] [--hygiene-only]
11
+ *
12
+ * Exit codes: 0 clean, 1 findings, 2 usage/setup error
13
+ */
14
+ import { spawnSync } from "node:child_process";
15
+ import fs from "node:fs";
16
+ import path from "node:path";
17
+ import { fileURLToPath } from "node:url";
18
+
19
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
20
+ const DEFAULT_KNIP_CONFIG = path.resolve(
21
+ __dirname,
22
+ "../config/node-doctor.knip.json",
23
+ );
24
+
25
+ function parseArgs(argv) {
26
+ const opts = {
27
+ dir: process.cwd(),
28
+ json: false,
29
+ knipOnly: false,
30
+ hygieneOnly: false,
31
+ };
32
+
33
+ for (const arg of argv) {
34
+ if (arg === "--json") opts.json = true;
35
+ else if (arg === "--knip-only") opts.knipOnly = true;
36
+ else if (arg === "--hygiene-only") opts.hygieneOnly = true;
37
+ else if (arg === "--help" || arg === "-h") opts.help = true;
38
+ else if (arg.startsWith("-")) {
39
+ throw new Error(`Unknown flag: ${arg}`);
40
+ } else opts.dir = path.resolve(arg);
41
+ }
42
+
43
+ return opts;
44
+ }
45
+
46
+ function readJson(filePath) {
47
+ return JSON.parse(fs.readFileSync(filePath, "utf8"));
48
+ }
49
+
50
+ function exists(filePath) {
51
+ try {
52
+ fs.accessSync(filePath);
53
+ return true;
54
+ } catch {
55
+ return false;
56
+ }
57
+ }
58
+
59
+ function isNodeProject(dir) {
60
+ return exists(path.join(dir, "package.json"));
61
+ }
62
+
63
+ function looksLikeFrameworkProject(pkg) {
64
+ const all = {
65
+ ...pkg.dependencies,
66
+ ...pkg.devDependencies,
67
+ ...pkg.peerDependencies,
68
+ };
69
+ const keys = Object.keys(all ?? {});
70
+ return {
71
+ nest: keys.some((k) => k.startsWith("@nestjs/")),
72
+ next: keys.includes("next"),
73
+ react: keys.includes("react") && !keys.includes("next"),
74
+ laravelHint: false,
75
+ };
76
+ }
77
+
78
+ /** Resolve package.json "exports" / "bin" / "main" targets to filesystem paths. */
79
+ function collectPackagePaths(pkg, dir) {
80
+ const targets = [];
81
+
82
+ const add = (rel, kind, label) => {
83
+ if (!rel || typeof rel !== "string") return;
84
+ if (rel.startsWith("http:") || rel.startsWith("https:") || rel.startsWith("node:")) {
85
+ return;
86
+ }
87
+ const cleaned = rel.replace(/^\.\//, "");
88
+ targets.push({ kind, label, rel: cleaned, abs: path.join(dir, cleaned) });
89
+ };
90
+
91
+ if (pkg.main) add(pkg.main, "main", "main");
92
+ if (pkg.module) add(pkg.module, "module", "module");
93
+ if (pkg.types) add(pkg.types, "types", "types");
94
+ if (pkg.typings) add(pkg.typings, "types", "typings");
95
+
96
+ if (typeof pkg.bin === "string") add(pkg.bin, "bin", "bin");
97
+ else if (pkg.bin && typeof pkg.bin === "object") {
98
+ for (const [name, rel] of Object.entries(pkg.bin)) {
99
+ add(rel, "bin", `bin.${name}`);
100
+ }
101
+ }
102
+
103
+ const walkExports = (value, label) => {
104
+ if (!value) return;
105
+ if (typeof value === "string") add(value, "exports", label);
106
+ else if (typeof value === "object") {
107
+ for (const [k, v] of Object.entries(value)) {
108
+ walkExports(v, `${label}.${k}`);
109
+ }
110
+ }
111
+ };
112
+ walkExports(pkg.exports, "exports");
113
+
114
+ return targets;
115
+ }
116
+
117
+ function scriptLocalRefs(script) {
118
+ if (typeof script !== "string") return [];
119
+ const refs = [];
120
+ const patterns = [
121
+ /\bnode\s+([./][^\s]+)/g,
122
+ /\bts-node\s+([./][^\s]+)/g,
123
+ /\btsx\s+([./][^\s]+)/g,
124
+ /\bsh\s+([./][^\s]+)/g,
125
+ /\bbash\s+([./][^\s]+)/g,
126
+ ];
127
+ for (const re of patterns) {
128
+ let m;
129
+ while ((m = re.exec(script)) !== null) {
130
+ refs.push(m[1]);
131
+ }
132
+ }
133
+ return refs;
134
+ }
135
+
136
+ function runHygiene(dir, pkg) {
137
+ const findings = [];
138
+
139
+ if (!pkg.name) {
140
+ findings.push({
141
+ type: "package-hygiene",
142
+ severity: "error",
143
+ message: 'package.json is missing "name"',
144
+ file: "package.json",
145
+ });
146
+ }
147
+ if (!pkg.version) {
148
+ findings.push({
149
+ type: "package-hygiene",
150
+ severity: "error",
151
+ message: 'package.json is missing "version"',
152
+ file: "package.json",
153
+ });
154
+ }
155
+
156
+ if (!pkg.engines?.node) {
157
+ findings.push({
158
+ type: "package-hygiene",
159
+ severity: "warning",
160
+ message: 'package.json is missing "engines.node" (recommended for Node libraries/CLIs)',
161
+ file: "package.json",
162
+ });
163
+ }
164
+
165
+ for (const target of collectPackagePaths(pkg, dir)) {
166
+ if (!exists(target.abs)) {
167
+ findings.push({
168
+ type: "package-hygiene",
169
+ severity: "error",
170
+ message: `${target.label} points to missing file: ${target.rel}`,
171
+ file: "package.json",
172
+ });
173
+ }
174
+ }
175
+
176
+ if (pkg.scripts && typeof pkg.scripts === "object") {
177
+ for (const [name, script] of Object.entries(pkg.scripts)) {
178
+ for (const ref of scriptLocalRefs(script)) {
179
+ const abs = path.resolve(dir, ref);
180
+ if (!exists(abs)) {
181
+ findings.push({
182
+ type: "package-hygiene",
183
+ severity: "error",
184
+ message: `scripts.${name} references missing file: ${ref}`,
185
+ file: "package.json",
186
+ });
187
+ }
188
+ }
189
+ }
190
+ }
191
+
192
+ return findings;
193
+ }
194
+
195
+ function runKnip(dir) {
196
+ if (!exists(DEFAULT_KNIP_CONFIG)) {
197
+ return {
198
+ ok: false,
199
+ findings: [
200
+ {
201
+ type: "setup",
202
+ severity: "error",
203
+ message: `Bundled Knip config missing: ${DEFAULT_KNIP_CONFIG}`,
204
+ },
205
+ ],
206
+ raw: "",
207
+ };
208
+ }
209
+
210
+ // Prefer project knip config when present; otherwise use bundled Node defaults.
211
+ const projectConfigs = ["knip.json", "knip.jsonc", "knip.ts", "knip.config.ts"];
212
+ const hasProjectConfig = projectConfigs.some((f) => exists(path.join(dir, f))) ||
213
+ (() => {
214
+ try {
215
+ const pkg = readJson(path.join(dir, "package.json"));
216
+ return Boolean(pkg.knip);
217
+ } catch {
218
+ return false;
219
+ }
220
+ })();
221
+
222
+ const args = ["knip", "--no-progress", "--reporter", "json"];
223
+ if (!hasProjectConfig) {
224
+ args.push("--config", DEFAULT_KNIP_CONFIG);
225
+ }
226
+
227
+ const result = spawnSync("npx", args, {
228
+ cwd: dir,
229
+ encoding: "utf8",
230
+ shell: process.platform === "win32",
231
+ env: process.env,
232
+ });
233
+
234
+ const raw = `${result.stdout ?? ""}${result.stderr ?? ""}`.trim();
235
+ const findings = [];
236
+
237
+ // Knip JSON reporter may print a JSON object or array; also tolerate text fallback.
238
+ try {
239
+ const parsed = JSON.parse(result.stdout || "null");
240
+ if (parsed && typeof parsed === "object") {
241
+ const pushIssue = (type, items) => {
242
+ if (!Array.isArray(items)) return;
243
+ for (const item of items) {
244
+ const file = item.file ?? item.name ?? item.path ?? undefined;
245
+ const name = item.name ?? item.symbol ?? item.identifier;
246
+ findings.push({
247
+ type,
248
+ severity: "error",
249
+ message: name ? `${type}: ${name}` : String(type),
250
+ file,
251
+ raw: item,
252
+ });
253
+ }
254
+ };
255
+
256
+ // Shape varies by knip version — handle common keys.
257
+ pushIssue("unused-files", parsed.files);
258
+ pushIssue("unused-dependencies", parsed.dependencies);
259
+ pushIssue("unused-devDependencies", parsed.devDependencies);
260
+ pushIssue("unlisted-dependencies", parsed.unlisted);
261
+ pushIssue("unused-exports", parsed.exports);
262
+ pushIssue("unused-types", parsed.types);
263
+ pushIssue("unused-duplicates", parsed.duplicates);
264
+ pushIssue("unused-enumMembers", parsed.enumMembers);
265
+ pushIssue("unused-namespaceMembers", parsed.nsExports ?? parsed.nsTypes);
266
+ pushIssue("unused-binaries", parsed.binaries);
267
+
268
+ if (Array.isArray(parsed.issues)) {
269
+ for (const issue of parsed.issues) {
270
+ findings.push({
271
+ type: issue.type ?? "knip",
272
+ severity: "error",
273
+ message: issue.message ?? JSON.stringify(issue),
274
+ file: issue.file,
275
+ raw: issue,
276
+ });
277
+ }
278
+ }
279
+ }
280
+ } catch {
281
+ if (result.status && result.status !== 0 && raw) {
282
+ findings.push({
283
+ type: "knip",
284
+ severity: "error",
285
+ message: "Knip reported issues (see raw output)",
286
+ raw,
287
+ });
288
+ }
289
+ }
290
+
291
+ // If JSON parse yielded nothing but knip failed, surface stdout/stderr.
292
+ if (findings.length === 0 && result.status && result.status !== 0) {
293
+ findings.push({
294
+ type: "knip",
295
+ severity: "error",
296
+ message: raw || `knip exited with code ${result.status}`,
297
+ });
298
+ }
299
+
300
+ return { ok: result.status === 0 && findings.length === 0, findings, raw, status: result.status };
301
+ }
302
+
303
+ function printHuman(findings, knipRaw) {
304
+ if (findings.length === 0) {
305
+ console.log("node-doctor: clean — no findings");
306
+ return;
307
+ }
308
+
309
+ console.log(`node-doctor: ${findings.length} finding(s)\n`);
310
+ const byType = new Map();
311
+ for (const f of findings) {
312
+ const list = byType.get(f.type) ?? [];
313
+ list.push(f);
314
+ byType.set(f.type, list);
315
+ }
316
+
317
+ for (const [type, list] of byType) {
318
+ console.log(`${type} (${list.length})`);
319
+ for (const f of list) {
320
+ const loc = f.file ? ` ${f.file}` : "";
321
+ console.log(` - [${f.severity}]${loc} ${f.message}`);
322
+ }
323
+ console.log();
324
+ }
325
+
326
+ if (knipRaw && findings.some((f) => f.type === "knip" && f.raw === knipRaw)) {
327
+ console.log("knip raw output:\n" + knipRaw);
328
+ }
329
+ }
330
+
331
+ function main() {
332
+ let opts;
333
+ try {
334
+ opts = parseArgs(process.argv.slice(2));
335
+ } catch (error) {
336
+ console.error(String(error instanceof Error ? error.message : error));
337
+ process.exit(2);
338
+ }
339
+
340
+ if (opts.help) {
341
+ console.log(`Usage: node-doctor.mjs [projectDir] [--json] [--knip-only] [--hygiene-only]`);
342
+ process.exit(0);
343
+ }
344
+
345
+ const dir = opts.dir;
346
+ if (!isNodeProject(dir)) {
347
+ console.error(`Not a Node.js project (package.json missing): ${dir}`);
348
+ process.exit(2);
349
+ }
350
+
351
+ const pkg = readJson(path.join(dir, "package.json"));
352
+ const frameworks = looksLikeFrameworkProject(pkg);
353
+ if (frameworks.nest) {
354
+ console.error(
355
+ "This looks like a NestJS project. Use /nestjs-knip-fix (npx knip) instead of node-doctor.",
356
+ );
357
+ process.exit(2);
358
+ }
359
+
360
+ const findings = [];
361
+ let knipRaw = "";
362
+
363
+ if (!opts.hygieneOnly) {
364
+ const knip = runKnip(dir);
365
+ knipRaw = knip.raw;
366
+ findings.push(...knip.findings);
367
+ }
368
+
369
+ if (!opts.knipOnly) {
370
+ findings.push(...runHygiene(dir, pkg));
371
+ }
372
+
373
+ if (opts.json) {
374
+ console.log(
375
+ JSON.stringify(
376
+ {
377
+ tool: "node-doctor",
378
+ cwd: dir,
379
+ findingCount: findings.length,
380
+ findings,
381
+ },
382
+ null,
383
+ 2,
384
+ ),
385
+ );
386
+ } else {
387
+ printHuman(findings, knipRaw);
388
+ }
389
+
390
+ process.exit(findings.length === 0 ? 0 : 1);
391
+ }
392
+
393
+ main();
@@ -0,0 +1,185 @@
1
+ ---
2
+ name: react-doctor-fix
3
+ description: >-
4
+ Runs react-doctor, constructs fixes for all findings, and verifies that
5
+ implementations, features, and functionalities are not broken after changes.
6
+ Use when the user runs /react-doctor-fix, asks to run react-doctor, clean up
7
+ React Doctor diagnostics, or fix React Doctor findings without regressions.
8
+ disable-model-invocation: true
9
+ ---
10
+
11
+ # /react-doctor-fix
12
+
13
+ Run **React Doctor**, fix **all** findings, and prove behavior still works.
14
+
15
+ Do **not** stop after the first category. Do **not** mass-suppress. Prefer root-cause fixes. After every batch of edits, re-verify with project checks so implementations, features, and functionalities are not broken.
16
+
17
+ ## Workflow
18
+
19
+ Copy this checklist and track progress:
20
+
21
+ ```
22
+ React Doctor Fix Progress:
23
+ - [ ] 1. Confirm React project + available verification commands
24
+ - [ ] 2. Baseline scan (verbose + JSON)
25
+ - [ ] 3. Triage findings (priority order)
26
+ - [ ] 4. Fix in batches (explain → edit → verify)
27
+ - [ ] 5. Re-scan until clean (or document intentional leftovers)
28
+ - [ ] 6. Final verification + report
29
+ ```
30
+
31
+ ### 1. Confirm React project + verification commands
32
+
33
+ From the project root:
34
+
35
+ 1. Confirm this is a React / Next.js / Vite / Remix / Expo (or similar) app — abort with a clear message if not.
36
+ 2. Detect how to verify nothing broke. Prefer existing scripts from `package.json` in this order when present:
37
+
38
+ ```bash
39
+ npm test # or pnpm / yarn / bun equivalent
40
+ npm run typecheck # or tsc --noEmit
41
+ npm run lint
42
+ npm run build
43
+ ```
44
+
45
+ Record the chosen commands before editing. If none exist, use the strongest available subset (at least typecheck or build) and say what you could not run.
46
+
47
+ Optional monorepo:
48
+
49
+ ```bash
50
+ npx react-doctor@latest -y --verbose --project <name>
51
+ ```
52
+
53
+ ### 2. Baseline scan
54
+
55
+ Always non-interactive for agents:
56
+
57
+ ```bash
58
+ npx react-doctor@latest -y --verbose --no-score
59
+ ```
60
+
61
+ Also capture machine-readable output when practical:
62
+
63
+ ```bash
64
+ npx react-doctor@latest -y --verbose --no-score --json > .react-doctor-baseline.json
65
+ ```
66
+
67
+ If the JSON file would be committed accidentally, delete it before finishing (or keep it untracked). Prefer a temp path when easy.
68
+
69
+ For branch-scoped cleanup only (when the user asks for changed files / PR noise only):
70
+
71
+ ```bash
72
+ npx react-doctor@latest -y --verbose --no-score --scope changed
73
+ ```
74
+
75
+ Default for this skill is a **full** scan unless the user scopes it.
76
+
77
+ ### 3. Triage findings
78
+
79
+ Work findings in this priority:
80
+
81
+ 1. **Security**
82
+ 2. **Correctness** / broken behavior risks
83
+ 3. **State & effects** (derived state in effects, effect loops, missing deps that matter)
84
+ 4. **Performance**
85
+ 5. **Accessibility**
86
+ 6. **Architecture** / dead code / bundle / remaining warnings
87
+
88
+ Within a priority, fix `error` before `warning`.
89
+
90
+ For an unclear rule:
91
+
92
+ ```bash
93
+ npx react-doctor@latest rules explain <rule>
94
+ npx react-doctor@latest why path/to/file.tsx:123
95
+ ```
96
+
97
+ Optional per-rule guidance from React Doctor prompts (when helpful):
98
+
99
+ `https://www.react.doctor/prompts/rules/react-doctor/<rule>.md`
100
+
101
+ Example: `https://www.react.doctor/prompts/rules/react-doctor/no-derived-state.md`
102
+
103
+ ### 4. Fix in batches (explain → edit → verify)
104
+
105
+ For each batch (prefer one rule or one tightly related file group):
106
+
107
+ 1. **Explain the fix** briefly: what is wrong, why the change is safe, what behavior must stay the same.
108
+ 2. **Edit** the minimum code needed. Match project patterns. Do not drive-by refactors.
109
+ 3. **Verify immediately** with the commands from step 1 (at least the fastest relevant ones after each batch; full suite before the final report).
110
+ 4. If verification fails: **revert or repair** the fix before continuing. Never leave the tree broken to chase a cleaner doctor score.
111
+
112
+ #### Fix construction rules
113
+
114
+ - Preserve public behavior, routes, props contracts, visible UI, and user flows.
115
+ - Prefer derived values during render over syncing state in `useEffect`.
116
+ - Prefer event handlers / key handlers over effect-driven “do X when Y changes” when Y is a user action.
117
+ - Do not remove “unused” exports/files that are part of a public package API, generated barrels, or framework entrypoints without confirming.
118
+ - Do not change dependency versions unless a finding explicitly requires it and the user wants that scope.
119
+ - Keep diffs small and reviewable.
120
+
121
+ #### Suppressions (last resort only)
122
+
123
+ Prefer fixing the root cause. Suppress only when:
124
+
125
+ - the finding is a true false positive for this codebase, **or**
126
+ - a correct fix would be an out-of-scope rewrite the user did not approve
127
+
128
+ Keep suppressions narrow:
129
+
130
+ ```tsx
131
+ // react-doctor-disable-next-line react-doctor/no-derived-state
132
+ ```
133
+
134
+ Never disable whole categories (`rules category … off`) unless the user explicitly asks.
135
+
136
+ Document every suppression in the final report with file, rule, and reason.
137
+
138
+ ### 5. Re-scan until clean
139
+
140
+ After fixes:
141
+
142
+ ```bash
143
+ npx react-doctor@latest -y --verbose --no-score
144
+ ```
145
+
146
+ Repeat triage → fix → verify until:
147
+
148
+ - the scan reports no remaining findings, **or**
149
+ - only explicitly approved / documented suppressions or deferred items remain
150
+
151
+ Do not claim “all clear” if the scan still fails.
152
+
153
+ ### 6. Final verification + report
154
+
155
+ Run the full verification set from step 1 again.
156
+
157
+ Report in this shape:
158
+
159
+ ```markdown
160
+ ## React Doctor fix report
161
+
162
+ ### Scan
163
+ - Baseline: <N findings / score if shown>
164
+ - Final: <clean | N remaining>
165
+
166
+ ### Fixed
167
+ - `rule-id` — file(s) — one-line fix summary
168
+
169
+ ### Suppressions
170
+ - none | `rule-id` @ file:line — reason
171
+
172
+ ### Verification
173
+ - <command> — pass/fail
174
+ - <command> — pass/fail
175
+
176
+ ### Deferred (needs user decision)
177
+ - <finding> — why not fixed
178
+ ```
179
+
180
+ ## Safety
181
+
182
+ - Do not commit or push unless the user asks.
183
+ - Do not use `--force` git commands.
184
+ - Do not run `react-doctor` network-sharing flows that the user declined; `--no-score` avoids score/share API usage.
185
+ - Stop and ask if a “fix” requires deleting substantial features, changing product behavior, or broad API breakage.
@@ -1 +1 @@
1
- {"version":3,"file":"install-service.d.ts","sourceRoot":"","sources":["../../src/services/install-service.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EAER,YAAY,EACb,MAAM,mBAAmB,CAAC;AAqB3B,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA8BjF;AAiDD,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,aAAa,EAAE,CAAC,CAgF1B;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAmD1B;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB;AAED,wBAAsB,kBAAkB,CACtC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC,CAcD;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACpF,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACpF,OAAO,CAAC,aAAa,EAAE,CAAC,CA6C1B"}
1
+ {"version":3,"file":"install-service.d.ts","sourceRoot":"","sources":["../../src/services/install-service.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,EAER,YAAY,EACb,MAAM,mBAAmB,CAAC;AAqB3B,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA8BjF;AAiDD,MAAM,WAAW,wBAAwB;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,YAAY,EAAE,EAC1B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,aAAa,EAAE,CAAC,CAgF1B;AAED,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAmD1B;AAED,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC,YAAY,EAAE,CAAC,CAoBzB;AAED,wBAAsB,kBAAkB,CACtC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC,CAcD;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,EACV,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,GACpF,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED,wBAAsB,YAAY,CAChC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GACpF,OAAO,CAAC,aAAa,EAAE,CAAC,CA6C1B"}
@@ -197,8 +197,7 @@ export async function addFromRegistry(repository, options) {
197
197
  }
198
198
  }
199
199
  export async function searchRegistry(query, repository, options = {}) {
200
- const metadata = await readMetadata();
201
- const source = resolveNoahRegistry(repository ?? metadata?.registry);
200
+ const source = resolveNoahRegistry(repository);
202
201
  const registry = await loadRegistry(source, options);
203
202
  try {
204
203
  const needle = query.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"install-service.js","sourceRoot":"","sources":["../../src/services/install-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install-service.js","sourceRoot":"","sources":["../../src/services/install-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "noah-cursor",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "Install Noah's reusable Cursor assets (Skills, Rules, Prompts, MCP configs, Presets)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,3 +0,0 @@
1
- {
2
- "description": "Noah fullstack rules — React SPA dashboard, Laravel API, Next and Nuxt marketing"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "description": "Preset metadata — assets are resolved via manifest includes"
3
- }