noah-cursor 1.5.6 → 1.5.8
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 +82 -19
- package/assets/me.jpeg +0 -0
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +4 -0
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +11 -1
- package/dist/commands/browse.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +5 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +6 -3
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/remove.d.ts.map +1 -1
- package/dist/commands/remove.js +4 -1
- package/dist/commands/remove.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +4 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/constants/ides.d.ts +16 -0
- package/dist/constants/ides.d.ts.map +1 -0
- package/dist/constants/ides.js +69 -0
- package/dist/constants/ides.js.map +1 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/installers/asset-installer.d.ts +3 -0
- package/dist/installers/asset-installer.d.ts.map +1 -1
- package/dist/installers/asset-installer.js +6 -3
- package/dist/installers/asset-installer.js.map +1 -1
- package/dist/metadata/store.d.ts +12 -9
- package/dist/metadata/store.d.ts.map +1 -1
- package/dist/metadata/store.js +32 -23
- package/dist/metadata/store.js.map +1 -1
- package/dist/services/doctor-service.d.ts +2 -1
- package/dist/services/doctor-service.d.ts.map +1 -1
- package/dist/services/doctor-service.js +14 -13
- package/dist/services/doctor-service.js.map +1 -1
- package/dist/services/install-service.d.ts +4 -0
- package/dist/services/install-service.d.ts.map +1 -1
- package/dist/services/install-service.js +14 -7
- package/dist/services/install-service.js.map +1 -1
- package/dist/types/index.d.ts +6 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/ideMenu.d.ts +7 -0
- package/dist/ui/ideMenu.d.ts.map +1 -0
- package/dist/ui/ideMenu.js +36 -0
- package/dist/ui/ideMenu.js.map +1 -0
- package/dist/ui/summary.d.ts +3 -2
- package/dist/ui/summary.d.ts.map +1 -1
- package/dist/ui/summary.js +9 -4
- package/dist/ui/summary.js.map +1 -1
- package/dist/utils/fs.d.ts +4 -0
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +7 -2
- package/dist/utils/fs.js.map +1 -1
- package/package.json +3 -2
package/dist/types/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { ASSET_TYPES } from "../constants/index.js";
|
|
2
|
+
import { ASSET_TYPES, type IdeId } from "../constants/index.js";
|
|
3
|
+
export type { IdeId };
|
|
3
4
|
export type AssetType = (typeof ASSET_TYPES)[number];
|
|
4
5
|
export declare const AssetEntrySchema: z.ZodObject<{
|
|
5
6
|
id: z.ZodString;
|
|
@@ -318,6 +319,7 @@ export declare const InstalledAssetSchema: z.ZodObject<{
|
|
|
318
319
|
export type InstalledAsset = z.infer<typeof InstalledAssetSchema>;
|
|
319
320
|
export declare const NoahMetadataSchema: z.ZodObject<{
|
|
320
321
|
registry: z.ZodString;
|
|
322
|
+
ide: z.ZodDefault<z.ZodEnum<["cursor" | "windsurf" | "claude-code" | "continue" | "vscode" | "cline", ...("cursor" | "windsurf" | "claude-code" | "continue" | "vscode" | "cline")[]]>>;
|
|
321
323
|
installed: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
322
324
|
type: z.ZodEnum<["skill", "rule", "prompt", "mcp", "preset"]>;
|
|
323
325
|
id: z.ZodString;
|
|
@@ -340,6 +342,7 @@ export declare const NoahMetadataSchema: z.ZodObject<{
|
|
|
340
342
|
updatedAt: z.ZodOptional<z.ZodString>;
|
|
341
343
|
}, "strip", z.ZodTypeAny, {
|
|
342
344
|
registry: string;
|
|
345
|
+
ide: "cursor" | "windsurf" | "claude-code" | "continue" | "vscode" | "cline";
|
|
343
346
|
installed: {
|
|
344
347
|
id: string;
|
|
345
348
|
version: string;
|
|
@@ -350,6 +353,7 @@ export declare const NoahMetadataSchema: z.ZodObject<{
|
|
|
350
353
|
updatedAt?: string | undefined;
|
|
351
354
|
}, {
|
|
352
355
|
registry: string;
|
|
356
|
+
ide?: "cursor" | "windsurf" | "claude-code" | "continue" | "vscode" | "cline" | undefined;
|
|
353
357
|
installed?: {
|
|
354
358
|
id: string;
|
|
355
359
|
version: string;
|
|
@@ -371,6 +375,7 @@ export interface AddOptions {
|
|
|
371
375
|
dryRun?: boolean;
|
|
372
376
|
yes?: boolean;
|
|
373
377
|
verbose?: boolean;
|
|
378
|
+
ide?: IdeId;
|
|
374
379
|
}
|
|
375
380
|
export interface GlobalOptions {
|
|
376
381
|
verbose?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { ASSET_TYPES } from "../constants/index.js";
|
|
2
|
+
import { ASSET_TYPES, IDE_IDS, DEFAULT_IDE } from "../constants/index.js";
|
|
3
3
|
export const AssetEntrySchema = z.object({
|
|
4
4
|
id: z.string().min(1),
|
|
5
5
|
version: z.string().default("1.0.0"),
|
|
@@ -38,6 +38,7 @@ export const InstalledAssetSchema = z.object({
|
|
|
38
38
|
});
|
|
39
39
|
export const NoahMetadataSchema = z.object({
|
|
40
40
|
registry: z.string().min(1),
|
|
41
|
+
ide: z.enum(IDE_IDS).default(DEFAULT_IDE),
|
|
41
42
|
installed: z.array(InstalledAssetSchema).default([]),
|
|
42
43
|
updatedAt: z.string().optional(),
|
|
43
44
|
});
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type IdeId } from "../constants/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Prompt for target IDE. Pass `preselected` (e.g. from `--ide`) to skip the menu.
|
|
4
|
+
* Defaults to Cursor when the user accepts the default selection.
|
|
5
|
+
*/
|
|
6
|
+
export declare function selectIde(preselected?: string): Promise<IdeId | null>;
|
|
7
|
+
//# sourceMappingURL=ideMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ideMenu.d.ts","sourceRoot":"","sources":["../../src/ui/ideMenu.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAI/B;;;GAGG;AACH,wBAAsB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA0B3E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { select } from "@inquirer/prompts";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { DEFAULT_IDE, IDE_DEFINITIONS, parseIdeId, } from "../constants/index.js";
|
|
4
|
+
import { printHint } from "./format.js";
|
|
5
|
+
import { isPromptExit } from "./prompt-errors.js";
|
|
6
|
+
/**
|
|
7
|
+
* Prompt for target IDE. Pass `preselected` (e.g. from `--ide`) to skip the menu.
|
|
8
|
+
* Defaults to Cursor when the user accepts the default selection.
|
|
9
|
+
*/
|
|
10
|
+
export async function selectIde(preselected) {
|
|
11
|
+
if (preselected) {
|
|
12
|
+
return parseIdeId(preselected);
|
|
13
|
+
}
|
|
14
|
+
console.log(chalk.bold("Select target IDE"));
|
|
15
|
+
console.log();
|
|
16
|
+
printHint(["↑ ↓ Navigate", "Enter Confirm · Esc Cancel"]);
|
|
17
|
+
console.log();
|
|
18
|
+
try {
|
|
19
|
+
return await select({
|
|
20
|
+
message: "IDE",
|
|
21
|
+
default: DEFAULT_IDE,
|
|
22
|
+
choices: IDE_DEFINITIONS.map((ide) => ({
|
|
23
|
+
name: `${ide.name}${chalk.dim(` — ${ide.hint}`)}`,
|
|
24
|
+
value: ide.id,
|
|
25
|
+
short: ide.name,
|
|
26
|
+
})),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (isPromptExit(error)) {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ideMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ideMenu.js","sourceRoot":"","sources":["../../src/ui/ideMenu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,eAAe,EACf,UAAU,GAEX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,WAAoB;IAClD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,SAAS,CAAC,CAAC,cAAc,EAAE,4BAA4B,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC;YAClB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACrC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE;gBACjD,KAAK,EAAE,GAAG,CAAC,EAAE;gBACb,KAAK,EAAE,GAAG,CAAC,IAAI;aAChB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/ui/summary.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { type IdeId } from "../constants/index.js";
|
|
1
2
|
import type { AssetRequest } from "../types/index.js";
|
|
2
|
-
export declare function renderSummary(_registryUrl: string, selections: AssetRequest[]): void;
|
|
3
|
-
export declare function confirmInstallation(registryUrl: string, selections: AssetRequest[]): Promise<boolean>;
|
|
3
|
+
export declare function renderSummary(_registryUrl: string, selections: AssetRequest[], ide?: IdeId): void;
|
|
4
|
+
export declare function confirmInstallation(registryUrl: string, selections: AssetRequest[], ide?: IdeId): Promise<boolean>;
|
|
4
5
|
//# sourceMappingURL=summary.d.ts.map
|
package/dist/ui/summary.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/ui/summary.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAuBjE,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/ui/summary.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiC,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,mBAAmB,CAAC;AAuBjE,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,YAAY,EAAE,EAC1B,GAAG,GAAE,KAAmB,GACvB,IAAI,CAmCN;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,YAAY,EAAE,EAC1B,GAAG,GAAE,KAAmB,GACvB,OAAO,CAAC,OAAO,CAAC,CAkBlB"}
|
package/dist/ui/summary.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import boxen from "boxen";
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { confirm } from "@inquirer/prompts";
|
|
4
|
+
import { DEFAULT_IDE, getIdeDefinition } from "../constants/index.js";
|
|
4
5
|
import { humanizeId } from "./format.js";
|
|
5
6
|
import { toPublicRegistryLabel } from "../utils/registry.js";
|
|
6
7
|
import { isPromptExit } from "./prompt-errors.js";
|
|
@@ -20,14 +21,18 @@ function groupSelections(selections) {
|
|
|
20
21
|
}
|
|
21
22
|
return groups;
|
|
22
23
|
}
|
|
23
|
-
export function renderSummary(_registryUrl, selections) {
|
|
24
|
+
export function renderSummary(_registryUrl, selections, ide = DEFAULT_IDE) {
|
|
24
25
|
const groups = groupSelections(selections);
|
|
26
|
+
const ideDef = getIdeDefinition(ide);
|
|
25
27
|
const lines = [];
|
|
26
28
|
lines.push(chalk.bold("Installation Summary"));
|
|
27
29
|
lines.push("");
|
|
28
30
|
lines.push(chalk.dim("Registry"));
|
|
29
31
|
lines.push(` ${toPublicRegistryLabel()}`);
|
|
30
32
|
lines.push("");
|
|
33
|
+
lines.push(chalk.dim("IDE"));
|
|
34
|
+
lines.push(` ${chalk.cyan(ideDef.name)} ${chalk.dim(`(${ideDef.rootDir}/)`)}`);
|
|
35
|
+
lines.push("");
|
|
31
36
|
for (const type of ["skill", "rule", "prompt", "mcp", "preset"]) {
|
|
32
37
|
const ids = groups[type];
|
|
33
38
|
if (!ids || ids.length === 0)
|
|
@@ -39,7 +44,7 @@ export function renderSummary(_registryUrl, selections) {
|
|
|
39
44
|
lines.push("");
|
|
40
45
|
}
|
|
41
46
|
lines.push(chalk.dim("Destination"));
|
|
42
|
-
lines.push(` ${chalk.cyan(
|
|
47
|
+
lines.push(` ${chalk.cyan(`./${ideDef.rootDir}`)}`);
|
|
43
48
|
console.log(boxen(lines.join("\n"), {
|
|
44
49
|
padding: 1,
|
|
45
50
|
margin: { top: 1, bottom: 1, left: 0, right: 0 },
|
|
@@ -47,11 +52,11 @@ export function renderSummary(_registryUrl, selections) {
|
|
|
47
52
|
borderColor: "cyan",
|
|
48
53
|
}));
|
|
49
54
|
}
|
|
50
|
-
export async function confirmInstallation(registryUrl, selections) {
|
|
55
|
+
export async function confirmInstallation(registryUrl, selections, ide = DEFAULT_IDE) {
|
|
51
56
|
if (selections.length === 0) {
|
|
52
57
|
return false;
|
|
53
58
|
}
|
|
54
|
-
renderSummary(registryUrl, selections);
|
|
59
|
+
renderSummary(registryUrl, selections, ide);
|
|
55
60
|
try {
|
|
56
61
|
return await confirm({
|
|
57
62
|
message: "Continue?",
|
package/dist/ui/summary.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/ui/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/ui/summary.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/fs.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
import { type IdeId } from "../constants/index.js";
|
|
1
2
|
export declare function createTempDir(prefix?: string): Promise<string>;
|
|
2
3
|
export declare function cleanupTempDir(dir: string): Promise<void>;
|
|
3
4
|
export declare function resolveProjectRoot(cwd?: string): string;
|
|
5
|
+
/** Resolve the IDE config root (e.g. `.cursor`, `.windsurf`, `.claude`). */
|
|
6
|
+
export declare function resolveIdeDir(ide?: IdeId, cwd?: string): string;
|
|
7
|
+
/** @deprecated Use resolveIdeDir("cursor", cwd) */
|
|
4
8
|
export declare function resolveCursorDir(cwd?: string): string;
|
|
5
9
|
export declare function normalizeGitHubUrl(input: string): string;
|
|
6
10
|
export declare function displayRegistryUrl(url: string): string;
|
package/dist/utils/fs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,uBAAuB,CAAC;AAE/B,wBAAsB,aAAa,CAAC,MAAM,SAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE7E;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAE9D;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,GAAE,KAAmB,EAAE,GAAG,SAAgB,GAAG,MAAM,CAEnF;AAED,mDAAmD;AACnD,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,MAAM,CAE5D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBxD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAElF"}
|
package/dist/utils/fs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import fs from "fs-extra";
|
|
4
|
-
import { TEMP_DIR_PREFIX } from "../constants/index.js";
|
|
4
|
+
import { DEFAULT_IDE, getIdeDefinition, TEMP_DIR_PREFIX, } from "../constants/index.js";
|
|
5
5
|
export async function createTempDir(prefix = TEMP_DIR_PREFIX) {
|
|
6
6
|
return fs.mkdtemp(path.join(os.tmpdir(), prefix));
|
|
7
7
|
}
|
|
@@ -16,8 +16,13 @@ export async function cleanupTempDir(dir) {
|
|
|
16
16
|
export function resolveProjectRoot(cwd = process.cwd()) {
|
|
17
17
|
return path.resolve(cwd);
|
|
18
18
|
}
|
|
19
|
+
/** Resolve the IDE config root (e.g. `.cursor`, `.windsurf`, `.claude`). */
|
|
20
|
+
export function resolveIdeDir(ide = DEFAULT_IDE, cwd = process.cwd()) {
|
|
21
|
+
return path.join(resolveProjectRoot(cwd), getIdeDefinition(ide).rootDir);
|
|
22
|
+
}
|
|
23
|
+
/** @deprecated Use resolveIdeDir("cursor", cwd) */
|
|
19
24
|
export function resolveCursorDir(cwd = process.cwd()) {
|
|
20
|
-
return
|
|
25
|
+
return resolveIdeDir("cursor", cwd);
|
|
21
26
|
}
|
|
22
27
|
export function normalizeGitHubUrl(input) {
|
|
23
28
|
const trimmed = input.trim().replace(/\/$/, "");
|
package/dist/utils/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/utils/fs.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,eAAe,GAEhB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAM,GAAG,eAAe;IAC1D,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACpD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,MAAa,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,gBAAgB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,OAAO,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACpE,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC;IAC/D,CAAC;IAED,uBAAuB;IACvB,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,sBAAsB,OAAO,MAAM,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAe;IACxE,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,QAAQ,GAAG,CAAC,CAAC;AAC7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "noah-cursor",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.8",
|
|
4
4
|
"description": "The CLI for shipping Cursor setups — install battle-tested Skills, Rules, Prompts, MCP configs, and Presets",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
25
25
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
26
26
|
"typecheck": "tsc --noEmit",
|
|
27
|
-
"prepublishOnly": "npm run build && npm test"
|
|
27
|
+
"prepublishOnly": "npm run build && npm test",
|
|
28
|
+
"docs:sync-release": "node scripts/sync-docs-release.mjs"
|
|
28
29
|
},
|
|
29
30
|
"keywords": [
|
|
30
31
|
"cursor",
|