noah-cursor 1.5.7 → 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 +79 -16
- 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.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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAc,MAAM,uBAAuB,CAAC;AAKtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACrC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAChD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IACzB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAyC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC3E,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
|
|
@@ -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",
|