@getvibeguard/cli 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 +166 -0
- package/dashboard/dist/assets/Tableau10-B-NsZVaP.js +1 -0
- package/dashboard/dist/assets/arc-CZ1oDkm-.js +1 -0
- package/dashboard/dist/assets/array-BKyUJesY.js +1 -0
- package/dashboard/dist/assets/blockDiagram-c4efeb88-BLITAZDl.js +118 -0
- package/dashboard/dist/assets/c4Diagram-c83219d4-DErNj891.js +10 -0
- package/dashboard/dist/assets/channel-sWBGOq9p.js +1 -0
- package/dashboard/dist/assets/classDiagram-beda092f-Bj8IB6RW.js +2 -0
- package/dashboard/dist/assets/classDiagram-v2-2358418a-BZtd2g5W.js +2 -0
- package/dashboard/dist/assets/clone-DtEyH3ya.js +1 -0
- package/dashboard/dist/assets/createText-1719965b-DkNrTk-5.js +7 -0
- package/dashboard/dist/assets/edges-96097737-CYxl0j3g.js +4 -0
- package/dashboard/dist/assets/erDiagram-0228fc6a-ClEp9Atg.js +51 -0
- package/dashboard/dist/assets/flowDb-c6c81e3f-ClDJCJwu.js +10 -0
- package/dashboard/dist/assets/flowDiagram-50d868cf-DYxwClWS.js +4 -0
- package/dashboard/dist/assets/flowDiagram-v2-4f6560a1-D7vEnO1T.js +1 -0
- package/dashboard/dist/assets/flowchart-elk-definition-6af322e1-C-wX1mNx.js +139 -0
- package/dashboard/dist/assets/ganttDiagram-a2739b55-DTeLavAj.js +257 -0
- package/dashboard/dist/assets/gitGraphDiagram-82fe8481-ClxNoYya.js +70 -0
- package/dashboard/dist/assets/graph-CT-F3Got.js +1 -0
- package/dashboard/dist/assets/index-5325376f-C-jTCYZA.js +1 -0
- package/dashboard/dist/assets/index-CvYvquQR.js +283 -0
- package/dashboard/dist/assets/index-n43poL1x.css +1 -0
- package/dashboard/dist/assets/infoDiagram-8eee0895-Zljudo5L.js +7 -0
- package/dashboard/dist/assets/init-Gi6I4Gst.js +1 -0
- package/dashboard/dist/assets/journeyDiagram-c64418c1-DXzTbuum.js +139 -0
- package/dashboard/dist/assets/katex-Cu_Erd72.js +261 -0
- package/dashboard/dist/assets/layout-CVO3EizT.js +1 -0
- package/dashboard/dist/assets/line-CIgln-0z.js +1 -0
- package/dashboard/dist/assets/linear-bmIUMQqg.js +1 -0
- package/dashboard/dist/assets/mindmap-definition-8da855dc-BDLTNZYk.js +425 -0
- package/dashboard/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dashboard/dist/assets/path-CbwjOpE9.js +1 -0
- package/dashboard/dist/assets/pieDiagram-a8764435-DtcOKNPc.js +35 -0
- package/dashboard/dist/assets/quadrantDiagram-1e28029f-zoSI_Ltf.js +7 -0
- package/dashboard/dist/assets/requirementDiagram-08caed73-TsQZ9lTB.js +52 -0
- package/dashboard/dist/assets/sankeyDiagram-a04cb91d-DE5ciDwD.js +8 -0
- package/dashboard/dist/assets/sequenceDiagram-c5b8d532-DhabPb2n.js +122 -0
- package/dashboard/dist/assets/stateDiagram-1ecb1508-Bg2q_YNx.js +1 -0
- package/dashboard/dist/assets/stateDiagram-v2-c2b004d7-Bs5iRjYB.js +1 -0
- package/dashboard/dist/assets/styles-b4e223ce-DchmAmav.js +160 -0
- package/dashboard/dist/assets/styles-ca3715f6-Bu5zjaDx.js +207 -0
- package/dashboard/dist/assets/styles-d45a18b0-jCaD8baR.js +116 -0
- package/dashboard/dist/assets/svgDrawCommon-b86b1483-BrYVGY4c.js +1 -0
- package/dashboard/dist/assets/timeline-definition-faaaa080--sq0bTHe.js +61 -0
- package/dashboard/dist/assets/xychartDiagram-f5964ef8-ByvzN0uj.js +7 -0
- package/dashboard/dist/index.html +22 -0
- package/dist/cli.d.ts +4 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +641 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/dashboard.d.ts +2 -0
- package/dist/commands/dashboard.d.ts.map +1 -0
- package/dist/commands/dashboard.js +184 -0
- package/dist/commands/dashboard.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +501 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +602 -0
- package/dist/index.js.map +1 -0
- package/dist/librarian/autofix.d.ts +34 -0
- package/dist/librarian/autofix.d.ts.map +1 -0
- package/dist/librarian/autofix.js +369 -0
- package/dist/librarian/autofix.js.map +1 -0
- package/dist/librarian/heartbeat.d.ts +38 -0
- package/dist/librarian/heartbeat.d.ts.map +1 -0
- package/dist/librarian/heartbeat.js +98 -0
- package/dist/librarian/heartbeat.js.map +1 -0
- package/dist/librarian/initializer.d.ts +41 -0
- package/dist/librarian/initializer.d.ts.map +1 -0
- package/dist/librarian/initializer.js +202 -0
- package/dist/librarian/initializer.js.map +1 -0
- package/dist/librarian/memory-manager.d.ts +37 -0
- package/dist/librarian/memory-manager.d.ts.map +1 -0
- package/dist/librarian/memory-manager.js +205 -0
- package/dist/librarian/memory-manager.js.map +1 -0
- package/dist/librarian/oracle.d.ts +51 -0
- package/dist/librarian/oracle.d.ts.map +1 -0
- package/dist/librarian/oracle.js +235 -0
- package/dist/librarian/oracle.js.map +1 -0
- package/dist/librarian/summarizer.d.ts +19 -0
- package/dist/librarian/summarizer.d.ts.map +1 -0
- package/dist/librarian/summarizer.js +175 -0
- package/dist/librarian/summarizer.js.map +1 -0
- package/dist/librarian/watcher.d.ts +51 -0
- package/dist/librarian/watcher.d.ts.map +1 -0
- package/dist/librarian/watcher.js +189 -0
- package/dist/librarian/watcher.js.map +1 -0
- package/dist/mcp-server.d.ts +10 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +879 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/services/token-tracker.d.ts +58 -0
- package/dist/services/token-tracker.d.ts.map +1 -0
- package/dist/services/token-tracker.js +178 -0
- package/dist/services/token-tracker.js.map +1 -0
- package/dist/utils/chunker.d.ts +5 -0
- package/dist/utils/chunker.d.ts.map +1 -0
- package/dist/utils/chunker.js +121 -0
- package/dist/utils/chunker.js.map +1 -0
- package/dist/utils/config-manager.d.ts +65 -0
- package/dist/utils/config-manager.d.ts.map +1 -0
- package/dist/utils/config-manager.js +243 -0
- package/dist/utils/config-manager.js.map +1 -0
- package/dist/utils/config.d.ts +46 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +171 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/diff-cleaner.d.ts +13 -0
- package/dist/utils/diff-cleaner.d.ts.map +1 -0
- package/dist/utils/diff-cleaner.js +80 -0
- package/dist/utils/diff-cleaner.js.map +1 -0
- package/dist/utils/git.d.ts +71 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +285 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/llm.d.ts +30 -0
- package/dist/utils/llm.d.ts.map +1 -0
- package/dist/utils/llm.js +308 -0
- package/dist/utils/llm.js.map +1 -0
- package/dist/utils/pricing.d.ts +47 -0
- package/dist/utils/pricing.d.ts.map +1 -0
- package/dist/utils/pricing.js +171 -0
- package/dist/utils/pricing.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import * as chokidar from 'chokidar';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as fs from 'fs/promises';
|
|
4
|
+
import { GitUtils } from '../utils/git.js';
|
|
5
|
+
export class Watcher {
|
|
6
|
+
repoPath;
|
|
7
|
+
gitUtils;
|
|
8
|
+
statePath;
|
|
9
|
+
watcher = null;
|
|
10
|
+
onCommitCallback = null;
|
|
11
|
+
debounceTimer = null;
|
|
12
|
+
debounceDelay = 500; // 500ms debounce
|
|
13
|
+
constructor(repoPath = process.cwd()) {
|
|
14
|
+
this.repoPath = repoPath;
|
|
15
|
+
this.gitUtils = new GitUtils(repoPath);
|
|
16
|
+
this.statePath = path.join(repoPath, '.vibeguard', 'state.json');
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Load state from file
|
|
20
|
+
*/
|
|
21
|
+
async loadState() {
|
|
22
|
+
try {
|
|
23
|
+
const content = await fs.readFile(this.statePath, 'utf-8');
|
|
24
|
+
return JSON.parse(content);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
// State file doesn't exist - return default
|
|
28
|
+
return {
|
|
29
|
+
lastProcessedCommit: null,
|
|
30
|
+
isProcessing: false,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Save state to file
|
|
36
|
+
*/
|
|
37
|
+
async saveState(state) {
|
|
38
|
+
// Ensure .vibeguard directory exists
|
|
39
|
+
const stateDir = path.dirname(this.statePath);
|
|
40
|
+
await fs.mkdir(stateDir, { recursive: true });
|
|
41
|
+
await fs.writeFile(this.statePath, JSON.stringify(state, null, 2), 'utf-8');
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Detect if there's a new commit
|
|
45
|
+
*/
|
|
46
|
+
async detectNewCommit() {
|
|
47
|
+
try {
|
|
48
|
+
const currentHead = await this.gitUtils.getHeadCommit();
|
|
49
|
+
const state = await this.loadState();
|
|
50
|
+
if (state.lastProcessedCommit === currentHead) {
|
|
51
|
+
return null; // No new commit
|
|
52
|
+
}
|
|
53
|
+
return currentHead;
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
console.error('Error detecting new commit:', error);
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Process a new commit (called by debounced handler)
|
|
62
|
+
*/
|
|
63
|
+
async processNewCommit() {
|
|
64
|
+
const state = await this.loadState();
|
|
65
|
+
// Prevent concurrent processing
|
|
66
|
+
if (state.isProcessing) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const newCommit = await this.detectNewCommit();
|
|
70
|
+
if (!newCommit) {
|
|
71
|
+
return; // No new commit
|
|
72
|
+
}
|
|
73
|
+
// Mark as processing
|
|
74
|
+
await this.saveState({ ...state, isProcessing: true });
|
|
75
|
+
try {
|
|
76
|
+
// Call the callback if registered
|
|
77
|
+
if (this.onCommitCallback) {
|
|
78
|
+
await this.onCommitCallback();
|
|
79
|
+
}
|
|
80
|
+
// Update last processed commit
|
|
81
|
+
await this.saveState({
|
|
82
|
+
lastProcessedCommit: newCommit,
|
|
83
|
+
isProcessing: false,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.error('Error processing commit:', error);
|
|
88
|
+
// Reset processing flag on error
|
|
89
|
+
await this.saveState({
|
|
90
|
+
...state,
|
|
91
|
+
isProcessing: false,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Debounced commit handler
|
|
97
|
+
*/
|
|
98
|
+
handleChange() {
|
|
99
|
+
// Clear existing timer
|
|
100
|
+
if (this.debounceTimer) {
|
|
101
|
+
clearTimeout(this.debounceTimer);
|
|
102
|
+
}
|
|
103
|
+
// Set new timer
|
|
104
|
+
this.debounceTimer = setTimeout(() => {
|
|
105
|
+
this.processNewCommit().catch(error => {
|
|
106
|
+
console.error('Error in debounced commit handler:', error);
|
|
107
|
+
});
|
|
108
|
+
}, this.debounceDelay);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Start watching for Git changes
|
|
112
|
+
*/
|
|
113
|
+
async startWatching() {
|
|
114
|
+
// Reset any stale processing flag on startup (in case watcher was interrupted)
|
|
115
|
+
const state = await this.loadState();
|
|
116
|
+
if (state.isProcessing) {
|
|
117
|
+
await this.saveState({
|
|
118
|
+
...state,
|
|
119
|
+
isProcessing: false,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const gitPath = path.join(this.repoPath, '.git');
|
|
123
|
+
const headPath = path.join(gitPath, 'HEAD');
|
|
124
|
+
const indexPath = path.join(gitPath, 'index');
|
|
125
|
+
// Get current branch and watch the branch ref file (which actually changes on commits)
|
|
126
|
+
const currentBranch = await this.gitUtils.getCurrentBranch();
|
|
127
|
+
const branchRefPath = path.join(gitPath, 'refs', 'heads', currentBranch);
|
|
128
|
+
// Watch HEAD, index, and the branch ref file (branch ref file changes on commits)
|
|
129
|
+
const pathsToWatch = [headPath, indexPath, branchRefPath];
|
|
130
|
+
this.watcher = chokidar.watch(pathsToWatch, {
|
|
131
|
+
persistent: true,
|
|
132
|
+
ignoreInitial: true,
|
|
133
|
+
ignored: [
|
|
134
|
+
/\.vibeguard/,
|
|
135
|
+
/PROJECT_MEMORY\.md/,
|
|
136
|
+
/\.git\/.*\.lock$/, // OPTIMIZATION: Ignore Git lock files explicitly
|
|
137
|
+
/\.git\/COMMIT_EDITMSG$/ // OPTIMIZATION: Often noisy, focus on HEAD/refs
|
|
138
|
+
],
|
|
139
|
+
awaitWriteFinish: {
|
|
140
|
+
stabilityThreshold: 1000, // Increased to 1 second for slower file systems
|
|
141
|
+
pollInterval: 500, // Increased to 500ms to give Git operations time to finalize
|
|
142
|
+
},
|
|
143
|
+
});
|
|
144
|
+
this.watcher.on('change', () => {
|
|
145
|
+
this.handleChange();
|
|
146
|
+
});
|
|
147
|
+
this.watcher.on('error', (error) => {
|
|
148
|
+
console.error('Watcher error:', error);
|
|
149
|
+
});
|
|
150
|
+
console.log('Watching for Git changes...');
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Register callback for when a commit is detected
|
|
154
|
+
*/
|
|
155
|
+
onCommitDetected(callback) {
|
|
156
|
+
this.onCommitCallback = callback;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Stop watching
|
|
160
|
+
*/
|
|
161
|
+
async stopWatching() {
|
|
162
|
+
if (this.debounceTimer) {
|
|
163
|
+
clearTimeout(this.debounceTimer);
|
|
164
|
+
this.debounceTimer = null;
|
|
165
|
+
}
|
|
166
|
+
if (this.watcher) {
|
|
167
|
+
await this.watcher.close();
|
|
168
|
+
this.watcher = null;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get last processed commit hash
|
|
173
|
+
*/
|
|
174
|
+
async getLastProcessedCommit() {
|
|
175
|
+
const state = await this.loadState();
|
|
176
|
+
return state.lastProcessedCommit;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Set last processed commit (useful for initialization)
|
|
180
|
+
*/
|
|
181
|
+
async setLastProcessedCommit(commitHash) {
|
|
182
|
+
const state = await this.loadState();
|
|
183
|
+
await this.saveState({
|
|
184
|
+
...state,
|
|
185
|
+
lastProcessedCommit: commitHash,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watcher.js","sourceRoot":"","sources":["../../src/librarian/watcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* VibeGuard MCP Server
|
|
4
|
+
*
|
|
5
|
+
* Exposes PROJECT_MEMORY.md as an MCP tool for Cursor to access project context.
|
|
6
|
+
* This allows Cursor to refresh its knowledge of the project's architecture,
|
|
7
|
+
* tech stack, and recent decisions.
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=mcp-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":";AAEA;;;;;;GAMG"}
|