@mnemonik/cursor-hooks 0.5.4 → 0.5.5
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/dist/install.d.ts +4 -2
- package/dist/install.js +14 -14
- package/dist/install.js.map +1 -1
- package/package.json +1 -1
package/dist/install.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
type InstallTarget = 'host' | 'project';
|
|
2
3
|
/**
|
|
3
4
|
* Cursor hook entry shape (cursor.com/docs/hooks, plan §3.3).
|
|
4
5
|
*
|
|
@@ -21,7 +22,8 @@ interface BuildEntryOptions {
|
|
|
21
22
|
declare function buildHookEntry(dispatcher: string, opts?: BuildEntryOptions): CursorHookEntry;
|
|
22
23
|
declare function isMnemonikEntry(entry: CursorHookEntry): boolean;
|
|
23
24
|
declare function patchEventEntries(existing: CursorHookEntry[] | undefined, entry: CursorHookEntry): CursorHookEntry[];
|
|
25
|
+
declare function resolveTargetPath(target: InstallTarget, cwd: string, env?: Partial<Record<'HOME' | 'USERPROFILE', string | undefined>>): string;
|
|
24
26
|
declare function parseArgs(argv: string[]): {
|
|
25
|
-
|
|
27
|
+
target: InstallTarget;
|
|
26
28
|
};
|
|
27
|
-
export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs };
|
|
29
|
+
export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs, resolveTargetPath };
|
package/dist/install.js
CHANGED
|
@@ -49,30 +49,30 @@ async function writeJson(path, value) {
|
|
|
49
49
|
await mkdir(dirname(path), { recursive: true });
|
|
50
50
|
await writeFile(path, JSON.stringify(value, null, 2) + '\n', 'utf8');
|
|
51
51
|
}
|
|
52
|
-
function resolveTargetPath(
|
|
53
|
-
if (
|
|
54
|
-
const home =
|
|
52
|
+
function resolveTargetPath(target, cwd, env = process.env) {
|
|
53
|
+
if (target === 'host') {
|
|
54
|
+
const home = env.HOME ?? env.USERPROFILE;
|
|
55
55
|
if (!home) {
|
|
56
|
-
throw new Error('Could not determine home directory for
|
|
56
|
+
throw new Error('Could not determine home directory for Cursor host install');
|
|
57
57
|
}
|
|
58
58
|
return join(home, '.cursor', 'hooks.json');
|
|
59
59
|
}
|
|
60
60
|
return join(cwd, '.cursor', 'hooks.json');
|
|
61
61
|
}
|
|
62
62
|
function parseArgs(argv) {
|
|
63
|
-
let
|
|
63
|
+
let target = 'host';
|
|
64
64
|
for (const arg of argv) {
|
|
65
|
-
if (arg === '--scope=
|
|
66
|
-
|
|
67
|
-
else if (arg === '--scope=
|
|
68
|
-
|
|
65
|
+
if (arg === '--scope=project')
|
|
66
|
+
target = 'project';
|
|
67
|
+
else if (arg === '--scope=user' || arg === '--scope=host')
|
|
68
|
+
target = 'host';
|
|
69
69
|
}
|
|
70
|
-
return {
|
|
70
|
+
return { target };
|
|
71
71
|
}
|
|
72
72
|
async function main(argv) {
|
|
73
|
-
const {
|
|
73
|
+
const { target } = parseArgs(argv);
|
|
74
74
|
const cwd = process.cwd();
|
|
75
|
-
const hooksPath = resolveTargetPath(
|
|
75
|
+
const hooksPath = resolveTargetPath(target, cwd);
|
|
76
76
|
const dispatcher = resolveDispatcherPath();
|
|
77
77
|
if (!existsSync(dispatcher)) {
|
|
78
78
|
console.error(`mnemonik-cursor-hooks: dispatcher not found at ${dispatcher}. Did the package install correctly?`);
|
|
@@ -117,7 +117,7 @@ async function main(argv) {
|
|
|
117
117
|
await writeJson(hooksPath, hooksJson);
|
|
118
118
|
console.log([
|
|
119
119
|
`mnemonik-cursor-hooks: wired into ${hooksPath}`,
|
|
120
|
-
`
|
|
120
|
+
` target -> ${target}`,
|
|
121
121
|
` dispatcher -> ${dispatcher}`,
|
|
122
122
|
'',
|
|
123
123
|
'Installed Cursor hooks only. This does not install or modify skills, rules, AGENTS.md, .mnemonik.json, or MCP config.',
|
|
@@ -146,5 +146,5 @@ if (isDirectExecution()) {
|
|
|
146
146
|
process.exit(1);
|
|
147
147
|
});
|
|
148
148
|
}
|
|
149
|
-
export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs };
|
|
149
|
+
export { buildHookEntry, isMnemonikEntry, patchEventEntries, parseArgs, resolveTargetPath };
|
|
150
150
|
//# sourceMappingURL=install.js.map
|
package/dist/install.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,QAAQ,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mnemonik/cursor-hooks",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.5",
|
|
4
4
|
"description": "Cursor IDE hooks for Mnemonik memory awareness and host-side grounding gates. Hooks only: does not install skills, rules, AGENTS.md, .mnemonik.json, or MCP config.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|