@cxtmanager/core 1.0.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.
- package/README.md +132 -0
- package/dist/context-manager.d.ts +55 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +676 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/file-watcher.d.ts +31 -0
- package/dist/file-watcher.d.ts.map +1 -0
- package/dist/file-watcher.js +121 -0
- package/dist/file-watcher.js.map +1 -0
- package/dist/git-hooks-manager.d.ts +40 -0
- package/dist/git-hooks-manager.d.ts.map +1 -0
- package/dist/git-hooks-manager.js +210 -0
- package/dist/git-hooks-manager.js.map +1 -0
- package/dist/git-repository.d.ts +65 -0
- package/dist/git-repository.d.ts.map +1 -0
- package/dist/git-repository.js +352 -0
- package/dist/git-repository.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/plan-manager.d.ts +55 -0
- package/dist/plan-manager.d.ts.map +1 -0
- package/dist/plan-manager.js +208 -0
- package/dist/plan-manager.js.map +1 -0
- package/dist/plan-templates.d.ts +15 -0
- package/dist/plan-templates.d.ts.map +1 -0
- package/dist/plan-templates.js +127 -0
- package/dist/plan-templates.js.map +1 -0
- package/dist/types/index.d.ts +143 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types.d.ts +176 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/validation-engine.d.ts +26 -0
- package/dist/validation-engine.d.ts.map +1 -0
- package/dist/validation-engine.js +344 -0
- package/dist/validation-engine.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../src/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FileWatcher - Monitors .cxt/ folder for changes
|
|
3
|
+
* Supports the health monitoring and auto-sync features
|
|
4
|
+
*/
|
|
5
|
+
export declare class FileWatcher {
|
|
6
|
+
private cxtPath;
|
|
7
|
+
private watchers;
|
|
8
|
+
private isWatching;
|
|
9
|
+
constructor(cxtPath: string);
|
|
10
|
+
/**
|
|
11
|
+
* Start watching context files for changes
|
|
12
|
+
*/
|
|
13
|
+
startWatching(callback: (filePath: string, event: string) => void): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Stop watching files
|
|
16
|
+
*/
|
|
17
|
+
stopWatching(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Check if currently watching
|
|
20
|
+
*/
|
|
21
|
+
isCurrentlyWatching(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get last modified times for all context files
|
|
24
|
+
*/
|
|
25
|
+
getLastModifiedTimes(): Promise<Map<string, Date>>;
|
|
26
|
+
/**
|
|
27
|
+
* Check if files have been modified since given timestamp
|
|
28
|
+
*/
|
|
29
|
+
hasChangedSince(timestamp: Date): Promise<string[]>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=file-watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvF;;OAEG;IACH,YAAY,IAAI,IAAI;IAWpB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAgBxD;;OAEG;IACG,eAAe,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAY1D"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.FileWatcher = void 0;
|
|
37
|
+
const fs = __importStar(require("fs-extra"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
/**
|
|
40
|
+
* FileWatcher - Monitors .cxt/ folder for changes
|
|
41
|
+
* Supports the health monitoring and auto-sync features
|
|
42
|
+
*/
|
|
43
|
+
class FileWatcher {
|
|
44
|
+
constructor(cxtPath) {
|
|
45
|
+
this.watchers = [];
|
|
46
|
+
this.isWatching = false;
|
|
47
|
+
this.cxtPath = cxtPath;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Start watching context files for changes
|
|
51
|
+
*/
|
|
52
|
+
async startWatching(callback) {
|
|
53
|
+
if (this.isWatching) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (!await fs.pathExists(this.cxtPath)) {
|
|
57
|
+
throw new Error('Context folder not found. Run "cit init" first.');
|
|
58
|
+
}
|
|
59
|
+
console.log(`👁️ Starting file watcher for ${this.cxtPath}`);
|
|
60
|
+
const contextFiles = ['context.md', 'plan.md', 'guardrail.md', '.cxtconfig.json'];
|
|
61
|
+
for (const fileName of contextFiles) {
|
|
62
|
+
const filePath = path.join(this.cxtPath, fileName);
|
|
63
|
+
if (await fs.pathExists(filePath)) {
|
|
64
|
+
const watcher = fs.watch(filePath, (eventType, filename) => {
|
|
65
|
+
if (filename) {
|
|
66
|
+
callback(filePath, eventType);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
this.watchers.push(watcher);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
this.isWatching = true;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Stop watching files
|
|
76
|
+
*/
|
|
77
|
+
stopWatching() {
|
|
78
|
+
console.log('👁️ Stopping file watcher');
|
|
79
|
+
this.watchers.forEach(watcher => {
|
|
80
|
+
watcher.close();
|
|
81
|
+
});
|
|
82
|
+
this.watchers = [];
|
|
83
|
+
this.isWatching = false;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if currently watching
|
|
87
|
+
*/
|
|
88
|
+
isCurrentlyWatching() {
|
|
89
|
+
return this.isWatching;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get last modified times for all context files
|
|
93
|
+
*/
|
|
94
|
+
async getLastModifiedTimes() {
|
|
95
|
+
const times = new Map();
|
|
96
|
+
const contextFiles = ['context.md', 'plan.md', 'guardrail.md'];
|
|
97
|
+
for (const fileName of contextFiles) {
|
|
98
|
+
const filePath = path.join(this.cxtPath, fileName);
|
|
99
|
+
if (await fs.pathExists(filePath)) {
|
|
100
|
+
const stats = await fs.stat(filePath);
|
|
101
|
+
times.set(fileName, stats.mtime);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return times;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Check if files have been modified since given timestamp
|
|
108
|
+
*/
|
|
109
|
+
async hasChangedSince(timestamp) {
|
|
110
|
+
const changedFiles = [];
|
|
111
|
+
const times = await this.getLastModifiedTimes();
|
|
112
|
+
for (const [fileName, modTime] of times) {
|
|
113
|
+
if (modTime > timestamp) {
|
|
114
|
+
changedFiles.push(fileName);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return changedFiles;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.FileWatcher = FileWatcher;
|
|
121
|
+
//# sourceMappingURL=file-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../src/file-watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CxtConfig } from './types';
|
|
2
|
+
export declare class GitHooksManager {
|
|
3
|
+
private projectRoot;
|
|
4
|
+
private hooksPath;
|
|
5
|
+
private config;
|
|
6
|
+
constructor(projectRoot: string, config: CxtConfig);
|
|
7
|
+
/**
|
|
8
|
+
* Install all configured hooks
|
|
9
|
+
*/
|
|
10
|
+
installHooks(): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Install specific hook
|
|
13
|
+
*/
|
|
14
|
+
installHook(hookName: 'post-checkout' | 'pre-commit' | 'post-merge', command: string): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Get hook script (unified method)
|
|
17
|
+
*/
|
|
18
|
+
private getHookScript;
|
|
19
|
+
/**
|
|
20
|
+
* Remove all CxtManager hooks
|
|
21
|
+
*/
|
|
22
|
+
removeHooks(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Check if hooks are installed
|
|
25
|
+
*/
|
|
26
|
+
areHooksInstalled(): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Get list of installed hooks
|
|
29
|
+
*/
|
|
30
|
+
getInstalledHooks(): Promise<string[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Get bash hook script content (macOS/Linux)
|
|
33
|
+
*/
|
|
34
|
+
private getBashHookScript;
|
|
35
|
+
/**
|
|
36
|
+
* Get PowerShell hook script content (Windows)
|
|
37
|
+
*/
|
|
38
|
+
private getPowerShellHookScript;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=git-hooks-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-hooks-manager.d.ts","sourceRoot":"","sources":["../src/git-hooks-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAY;gBAEd,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS;IAMlD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BnC;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,GAAG,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B1G;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBlC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA6B3C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAkB5C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAkBhC"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.GitHooksManager = void 0;
|
|
37
|
+
const fs = __importStar(require("fs-extra"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const os = __importStar(require("os"));
|
|
40
|
+
class GitHooksManager {
|
|
41
|
+
constructor(projectRoot, config) {
|
|
42
|
+
this.projectRoot = projectRoot;
|
|
43
|
+
this.hooksPath = path.join(projectRoot, '.git', 'hooks');
|
|
44
|
+
this.config = config;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Install all configured hooks
|
|
48
|
+
*/
|
|
49
|
+
async installHooks() {
|
|
50
|
+
const gitIntegration = this.config.git_integration;
|
|
51
|
+
if (!gitIntegration || !gitIntegration.enabled) {
|
|
52
|
+
return; // Hooks not enabled
|
|
53
|
+
}
|
|
54
|
+
// Ensure .git/hooks directory exists
|
|
55
|
+
await fs.ensureDir(this.hooksPath);
|
|
56
|
+
const hooks = gitIntegration.hooks;
|
|
57
|
+
// Install post-checkout hook
|
|
58
|
+
if (hooks.post_checkout) {
|
|
59
|
+
await this.installHook('post-checkout', hooks.post_checkout);
|
|
60
|
+
}
|
|
61
|
+
// Install pre-commit hook
|
|
62
|
+
if (hooks.pre_commit) {
|
|
63
|
+
await this.installHook('pre-commit', hooks.pre_commit);
|
|
64
|
+
}
|
|
65
|
+
// Install post-merge hook
|
|
66
|
+
if (hooks.post_merge) {
|
|
67
|
+
await this.installHook('post-merge', hooks.post_merge);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Install specific hook
|
|
72
|
+
*/
|
|
73
|
+
async installHook(hookName, command) {
|
|
74
|
+
const hookPath = path.join(this.hooksPath, hookName);
|
|
75
|
+
const isWindows = os.platform() === 'win32';
|
|
76
|
+
// Check if hook already exists
|
|
77
|
+
if (await fs.pathExists(hookPath)) {
|
|
78
|
+
const existingContent = await fs.readFile(hookPath, 'utf-8');
|
|
79
|
+
// If it's already a CxtManager hook, replace it
|
|
80
|
+
if (existingContent.includes('CxtManager')) {
|
|
81
|
+
// Replace existing CxtManager hook
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
// Existing hook from another tool - append CxtManager hook
|
|
85
|
+
// This allows multiple tools to coexist
|
|
86
|
+
const newScript = this.getHookScript(hookName, command, isWindows);
|
|
87
|
+
const combinedScript = `${existingContent}\n\n${newScript}`;
|
|
88
|
+
await fs.writeFile(hookPath, combinedScript, { mode: 0o755 });
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
// Write new hook script
|
|
93
|
+
const script = this.getHookScript(hookName, command, isWindows);
|
|
94
|
+
await fs.writeFile(hookPath, script, { mode: 0o755 });
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get hook script (unified method)
|
|
98
|
+
*/
|
|
99
|
+
getHookScript(hookName, command, isWindows) {
|
|
100
|
+
if (isWindows) {
|
|
101
|
+
return this.getPowerShellHookScript(hookName, command);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
return this.getBashHookScript(hookName, command);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Remove all CxtManager hooks
|
|
109
|
+
*/
|
|
110
|
+
async removeHooks() {
|
|
111
|
+
const hooks = ['post-checkout', 'pre-commit', 'post-merge'];
|
|
112
|
+
for (const hookName of hooks) {
|
|
113
|
+
const hookPath = path.join(this.hooksPath, hookName);
|
|
114
|
+
if (await fs.pathExists(hookPath)) {
|
|
115
|
+
const content = await fs.readFile(hookPath, 'utf-8');
|
|
116
|
+
// Only remove if it's a CxtManager hook
|
|
117
|
+
if (content.includes('CxtManager')) {
|
|
118
|
+
await fs.remove(hookPath);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if hooks are installed
|
|
125
|
+
*/
|
|
126
|
+
async areHooksInstalled() {
|
|
127
|
+
const gitIntegration = this.config.git_integration;
|
|
128
|
+
if (!gitIntegration || !gitIntegration.enabled) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
const hooks = gitIntegration.hooks;
|
|
132
|
+
const requiredHooks = [];
|
|
133
|
+
if (hooks.post_checkout)
|
|
134
|
+
requiredHooks.push('post-checkout');
|
|
135
|
+
if (hooks.pre_commit)
|
|
136
|
+
requiredHooks.push('pre-commit');
|
|
137
|
+
if (hooks.post_merge)
|
|
138
|
+
requiredHooks.push('post-merge');
|
|
139
|
+
for (const hookName of requiredHooks) {
|
|
140
|
+
const hookPath = path.join(this.hooksPath, hookName);
|
|
141
|
+
if (!await fs.pathExists(hookPath)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
const content = await fs.readFile(hookPath, 'utf-8');
|
|
145
|
+
if (!content.includes('CxtManager')) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return true;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get list of installed hooks
|
|
153
|
+
*/
|
|
154
|
+
async getInstalledHooks() {
|
|
155
|
+
const installed = [];
|
|
156
|
+
const hooks = ['post-checkout', 'pre-commit', 'post-merge'];
|
|
157
|
+
for (const hookName of hooks) {
|
|
158
|
+
const hookPath = path.join(this.hooksPath, hookName);
|
|
159
|
+
if (await fs.pathExists(hookPath)) {
|
|
160
|
+
const content = await fs.readFile(hookPath, 'utf-8');
|
|
161
|
+
if (content.includes('CxtManager')) {
|
|
162
|
+
installed.push(hookName);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return installed;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Get bash hook script content (macOS/Linux)
|
|
170
|
+
*/
|
|
171
|
+
getBashHookScript(hookName, command) {
|
|
172
|
+
const silentFlag = this.config.git_integration?.silent_mode ? '--silent' : '';
|
|
173
|
+
const commandWithFlags = command.includes('validate') ? `${command} --quick ${silentFlag}` :
|
|
174
|
+
command.includes('auto-heal') ? `${command} --if-needed ${silentFlag}` :
|
|
175
|
+
`${command} ${silentFlag}`;
|
|
176
|
+
return `#!/bin/sh
|
|
177
|
+
# CxtManager: ${hookName} hook
|
|
178
|
+
# This hook was installed by CxtManager (cit init)
|
|
179
|
+
# To remove: cit hooks remove
|
|
180
|
+
|
|
181
|
+
# Check if cit is available (don't fail if not in PATH)
|
|
182
|
+
if command -v cit >/dev/null 2>&1; then
|
|
183
|
+
cit ${commandWithFlags} || true
|
|
184
|
+
fi
|
|
185
|
+
exit 0
|
|
186
|
+
`;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get PowerShell hook script content (Windows)
|
|
190
|
+
*/
|
|
191
|
+
getPowerShellHookScript(hookName, command) {
|
|
192
|
+
const silentFlag = this.config.git_integration?.silent_mode ? '--silent' : '';
|
|
193
|
+
const commandWithFlags = command.includes('validate') ? `${command} --quick ${silentFlag}` :
|
|
194
|
+
command.includes('auto-heal') ? `${command} --if-needed ${silentFlag}` :
|
|
195
|
+
`${command} ${silentFlag}`;
|
|
196
|
+
return `#!/usr/bin/env pwsh
|
|
197
|
+
# CxtManager: ${hookName} hook
|
|
198
|
+
# This hook was installed by CxtManager (cit init)
|
|
199
|
+
# To remove: cit hooks remove
|
|
200
|
+
|
|
201
|
+
# Check if cit is available (don't fail if not in PATH)
|
|
202
|
+
if (Get-Command cit -ErrorAction SilentlyContinue) {
|
|
203
|
+
cit ${commandWithFlags}
|
|
204
|
+
}
|
|
205
|
+
exit 0 # Don't block git operations on errors
|
|
206
|
+
`;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
exports.GitHooksManager = GitHooksManager;
|
|
210
|
+
//# sourceMappingURL=git-hooks-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-hooks-manager.js","sourceRoot":"","sources":["../src/git-hooks-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAa,eAAe;IAK1B,YAAY,WAAmB,EAAE,MAAiB;QAChD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAEnD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,CAAC,oBAAoB;QAC9B,CAAC;QAED,qCAAqC;QACrC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QAEnC,6BAA6B;QAC7B,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAED,0BAA0B;QAC1B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;QAED,0BAA0B;QAC1B,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAuD,EAAE,OAAe;QACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;QAE5C,+BAA+B;QAC/B,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE7D,gDAAgD;YAChD,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC3C,mCAAmC;YACrC,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,wCAAwC;gBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;gBACnE,MAAM,cAAc,GAAG,GAAG,eAAe,OAAO,SAAS,EAAE,CAAC;gBAC5D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAkB;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAErD,wCAAwC;gBACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAEnD,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QACnC,MAAM,aAAa,GAAyD,EAAE,CAAC;QAE/E,IAAI,KAAK,CAAC,aAAa;YAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,KAAK,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,UAAU;YAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAE5D,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAErD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACnC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAgB,EAAE,OAAe;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,YAAY,UAAU,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,gBAAgB,UAAU,EAAE,CAAC,CAAC;gBACxE,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;QAEnD,OAAO;gBACK,QAAQ;;;;;;QAMhB,gBAAgB;;;CAGvB,CAAC;IACA,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAgB,EAAE,OAAe;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,YAAY,UAAU,EAAE,CAAC,CAAC;YACpE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,gBAAgB,UAAU,EAAE,CAAC,CAAC;gBACxE,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;QAEnD,OAAO;gBACK,QAAQ;;;;;;UAMd,gBAAgB;;;CAGzB,CAAC;IACA,CAAC;CACF;AAtMD,0CAsMC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { GitInfo } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* GitRepository - Handles all Git operations for CxtManager
|
|
4
|
+
* Implements Git-like commands and ensures .cxt/ folder is tracked
|
|
5
|
+
*/
|
|
6
|
+
export declare class GitRepository {
|
|
7
|
+
private git;
|
|
8
|
+
private projectRoot;
|
|
9
|
+
constructor(projectRoot: string);
|
|
10
|
+
/**
|
|
11
|
+
* Ensure Git repository exists, initialize if needed
|
|
12
|
+
*/
|
|
13
|
+
ensureGitRepo(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Check if current directory is a Git repository
|
|
16
|
+
*/
|
|
17
|
+
isGitRepo(): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Add files and create a commit
|
|
20
|
+
*/
|
|
21
|
+
addAndCommit(files: string | string[], message: string, author?: string): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Get current Git status
|
|
24
|
+
*/
|
|
25
|
+
getStatus(): Promise<{
|
|
26
|
+
staged: string[];
|
|
27
|
+
modified: string[];
|
|
28
|
+
untracked: string[];
|
|
29
|
+
}>;
|
|
30
|
+
/**
|
|
31
|
+
* Get Git repository information
|
|
32
|
+
*/
|
|
33
|
+
getInfo(): Promise<GitInfo>;
|
|
34
|
+
/**
|
|
35
|
+
* Get file blame information
|
|
36
|
+
*/
|
|
37
|
+
blame(filePath: string): Promise<any[]>;
|
|
38
|
+
/**
|
|
39
|
+
* Get commit log for a file
|
|
40
|
+
*/
|
|
41
|
+
getFileHistory(filePath: string): Promise<any[]>;
|
|
42
|
+
/**
|
|
43
|
+
* Get diff for a file or between commits
|
|
44
|
+
*/
|
|
45
|
+
getDiff(filePath?: string, fromCommit?: string, toCommit?: string): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Checkout a specific commit or branch
|
|
48
|
+
*/
|
|
49
|
+
checkout(target: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Get list of branches
|
|
52
|
+
*/
|
|
53
|
+
getBranches(): Promise<{
|
|
54
|
+
current: string;
|
|
55
|
+
all: string[];
|
|
56
|
+
}>;
|
|
57
|
+
private getCommitCount;
|
|
58
|
+
private parseBlameOutput;
|
|
59
|
+
/**
|
|
60
|
+
* Ensure .gitignore exists and configure .cxt/ tracking
|
|
61
|
+
* @param trackInGit - If false, adds .cxt/ to .gitignore for privacy (default: true)
|
|
62
|
+
*/
|
|
63
|
+
ensureGitignore(trackInGit?: boolean): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=git-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-repository.d.ts","sourceRoot":"","sources":["../src/git-repository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAY;IACvB,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,EAAE,MAAM;IAK/B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAYpC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IASnC;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C7F;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IA6BF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAuDjC;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAU7C;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiBtD;;OAEG;IACG,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBzF;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;YAUlD,cAAc;IAS5B,OAAO,CAAC,gBAAgB;IAaxB;;;OAGG;IACG,eAAe,CAAC,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAgEjE"}
|