@cxtmanager/core 1.0.10 → 1.0.12
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/LICENSE +21 -0
- package/README.md +81 -28
- package/dist/__tests__/context-manager.test.d.ts +2 -0
- package/dist/__tests__/context-manager.test.d.ts.map +1 -0
- package/dist/__tests__/context-manager.test.js +239 -0
- package/dist/__tests__/context-manager.test.js.map +1 -0
- package/dist/__tests__/file-watcher.test.d.ts +2 -0
- package/dist/__tests__/file-watcher.test.d.ts.map +1 -0
- package/dist/__tests__/file-watcher.test.js +84 -0
- package/dist/__tests__/file-watcher.test.js.map +1 -0
- package/dist/__tests__/git-repository.test.d.ts +2 -0
- package/dist/__tests__/git-repository.test.d.ts.map +1 -0
- package/dist/__tests__/git-repository.test.js +256 -0
- package/dist/__tests__/git-repository.test.js.map +1 -0
- package/dist/__tests__/plan-manager.test.d.ts +2 -0
- package/dist/__tests__/plan-manager.test.d.ts.map +1 -0
- package/dist/__tests__/plan-manager.test.js +212 -0
- package/dist/__tests__/plan-manager.test.js.map +1 -0
- package/dist/__tests__/plan-templates.test.d.ts +2 -0
- package/dist/__tests__/plan-templates.test.d.ts.map +1 -0
- package/dist/__tests__/plan-templates.test.js +93 -0
- package/dist/__tests__/plan-templates.test.js.map +1 -0
- package/dist/__tests__/validation-engine.test.d.ts +2 -0
- package/dist/__tests__/validation-engine.test.d.ts.map +1 -0
- package/dist/__tests__/validation-engine.test.js +152 -0
- package/dist/__tests__/validation-engine.test.js.map +1 -0
- package/dist/context-manager.d.ts +6 -7
- package/dist/context-manager.d.ts.map +1 -1
- package/dist/context-manager.js +166 -169
- package/dist/context-manager.js.map +1 -1
- package/dist/git-hooks-manager.d.ts +1 -1
- package/dist/git-hooks-manager.d.ts.map +1 -1
- package/dist/git-hooks-manager.js +15 -17
- package/dist/git-hooks-manager.js.map +1 -1
- package/dist/git-repository.d.ts +6 -1
- package/dist/git-repository.d.ts.map +1 -1
- package/dist/git-repository.js +141 -21
- package/dist/git-repository.js.map +1 -1
- package/dist/plan-manager.d.ts +3 -3
- package/dist/plan-manager.d.ts.map +1 -1
- package/dist/plan-manager.js +19 -9
- package/dist/plan-manager.js.map +1 -1
- package/dist/plan-templates.d.ts +4 -4
- package/dist/plan-templates.d.ts.map +1 -1
- package/dist/plan-templates.js +9 -40
- package/dist/plan-templates.js.map +1 -1
- package/dist/types/index.d.ts +1 -33
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types.d.ts +22 -55
- package/dist/types.d.ts.map +1 -1
- package/dist/validation-engine.d.ts +5 -11
- package/dist/validation-engine.d.ts.map +1 -1
- package/dist/validation-engine.js +103 -150
- package/dist/validation-engine.js.map +1 -1
- package/package.json +2 -2
package/dist/context-manager.js
CHANGED
|
@@ -52,6 +52,7 @@ class ContextManager {
|
|
|
52
52
|
this.validationEngine = new validation_engine_1.ValidationEngine(this.cxtPath);
|
|
53
53
|
}
|
|
54
54
|
async init(options) {
|
|
55
|
+
let cxtFolderCreated = false;
|
|
55
56
|
try {
|
|
56
57
|
// Ensure we're in a Git repository
|
|
57
58
|
await this.gitRepo.ensureGitRepo();
|
|
@@ -68,6 +69,7 @@ class ContextManager {
|
|
|
68
69
|
try {
|
|
69
70
|
// Create .cxt structure
|
|
70
71
|
await this.createCxtStructure();
|
|
72
|
+
cxtFolderCreated = true;
|
|
71
73
|
}
|
|
72
74
|
catch (error) {
|
|
73
75
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -78,27 +80,44 @@ class ContextManager {
|
|
|
78
80
|
}
|
|
79
81
|
throw error;
|
|
80
82
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
83
|
+
try {
|
|
84
|
+
// Analyze the project
|
|
85
|
+
const analysis = await this.analyzeProject();
|
|
86
|
+
// Create configuration
|
|
87
|
+
await this.createConfig(options);
|
|
88
|
+
// Configure .gitignore based on trackInGit setting
|
|
89
|
+
const trackInGit = options.trackInGit !== false; // Default to true
|
|
90
|
+
await this.gitRepo.ensureGitignore(trackInGit);
|
|
91
|
+
// Generate content based on mode
|
|
92
|
+
switch (options.mode) {
|
|
93
|
+
case 'template':
|
|
94
|
+
await this.createTemplateFiles();
|
|
95
|
+
break;
|
|
96
|
+
case 'blank':
|
|
97
|
+
await this.createBlankFiles();
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
await this.createBlankFiles();
|
|
101
|
+
}
|
|
102
|
+
// Initial Git commit (only if tracking in Git)
|
|
103
|
+
if (trackInGit) {
|
|
104
|
+
// Check Git user config before attempting commit
|
|
105
|
+
await this.gitRepo.ensureGitUserConfigured();
|
|
106
|
+
await this.gitRepo.addAndCommit(['.cxt/'], `feat: initialize cxt-manager with ${options.mode} mode\n\nCreated context files: context.md, plan.md, guardrail.md`);
|
|
107
|
+
}
|
|
98
108
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
catch (error) {
|
|
110
|
+
// Clean up .cxt folder if it was created but initialization failed
|
|
111
|
+
if (cxtFolderCreated && await fs.pathExists(this.cxtPath)) {
|
|
112
|
+
try {
|
|
113
|
+
await fs.remove(this.cxtPath);
|
|
114
|
+
}
|
|
115
|
+
catch (cleanupError) {
|
|
116
|
+
// Log but don't throw - the original error is more important
|
|
117
|
+
console.warn('Warning: Failed to clean up .cxt folder after initialization failure');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
throw error;
|
|
102
121
|
}
|
|
103
122
|
}
|
|
104
123
|
async isInitialized() {
|
|
@@ -126,10 +145,11 @@ class ContextManager {
|
|
|
126
145
|
}
|
|
127
146
|
// Update validation engine with current config thresholds
|
|
128
147
|
const config = await this.loadConfig();
|
|
129
|
-
const thresholds = config.context?.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
148
|
+
const thresholds = config.context?.content_quality || {
|
|
149
|
+
min_content_length: 100,
|
|
150
|
+
min_content_lines: 3,
|
|
151
|
+
empty_section_warning: true,
|
|
152
|
+
short_content_warning: 200
|
|
133
153
|
};
|
|
134
154
|
this.validationEngine = new validation_engine_1.ValidationEngine(this.cxtPath, thresholds);
|
|
135
155
|
return await this.validationEngine.checkHealth(quick);
|
|
@@ -146,20 +166,27 @@ class ContextManager {
|
|
|
146
166
|
const trackInGit = config.git_integration?.track_in_git !== false; // Default to true
|
|
147
167
|
await this.gitRepo.ensureGitignore(trackInGit);
|
|
148
168
|
}
|
|
149
|
-
async autoHeal(dryRun = false) {
|
|
150
|
-
if (!await this.isInitialized()) {
|
|
151
|
-
throw new Error('CxtManager not initialized');
|
|
152
|
-
}
|
|
153
|
-
const health = await this.validate();
|
|
154
|
-
return await this.validationEngine.autoHeal(health.issues, dryRun);
|
|
155
|
-
}
|
|
156
169
|
async loadConfig() {
|
|
157
170
|
if (!this.config) {
|
|
158
171
|
if (!await fs.pathExists(this.configPath)) {
|
|
159
|
-
throw new Error('Configuration file not found'
|
|
172
|
+
throw new Error('Configuration file not found.\n' +
|
|
173
|
+
' 💡 Run "cit init" to initialize cxt-manager');
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const configData = await fs.readJson(this.configPath);
|
|
177
|
+
this.config = configData;
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
181
|
+
if (errorMessage.includes('Unexpected token') || errorMessage.includes('JSON')) {
|
|
182
|
+
throw new Error('Configuration file is corrupted or invalid JSON.\n' +
|
|
183
|
+
' 💡 Check .cxt/.cxtconfig.json for syntax errors\n' +
|
|
184
|
+
' 💡 Or run "cit init" to reinitialize (this will overwrite existing config)');
|
|
185
|
+
}
|
|
186
|
+
throw new Error(`Failed to load configuration: ${errorMessage}\n` +
|
|
187
|
+
' 💡 Check .cxt/.cxtconfig.json for issues\n' +
|
|
188
|
+
' 💡 Or run "cit init" to reinitialize');
|
|
160
189
|
}
|
|
161
|
-
const configData = await fs.readJson(this.configPath);
|
|
162
|
-
this.config = configData;
|
|
163
190
|
}
|
|
164
191
|
if (!this.config) {
|
|
165
192
|
throw new Error('Failed to load configuration');
|
|
@@ -286,85 +313,53 @@ class ContextManager {
|
|
|
286
313
|
technologies.push('Testing');
|
|
287
314
|
return technologies;
|
|
288
315
|
}
|
|
289
|
-
async
|
|
316
|
+
async createTemplateFiles() {
|
|
317
|
+
const templates = {
|
|
318
|
+
'context.md': this.getTemplateContent('context'),
|
|
319
|
+
'plan.md': this.getTemplateContent('plan'),
|
|
320
|
+
'guardrail.md': this.getTemplateContent('guardrail')
|
|
321
|
+
};
|
|
322
|
+
for (const [fileName, content] of Object.entries(templates)) {
|
|
323
|
+
const filePath = path.join(this.cxtPath, fileName);
|
|
324
|
+
await fs.writeFile(filePath, content);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
async createBlankFiles() {
|
|
328
|
+
// Create blank files with just title and metadata, no structure
|
|
290
329
|
const templates = {
|
|
291
|
-
'context.md': this.
|
|
292
|
-
'plan.md': this.
|
|
293
|
-
'guardrail.md': this.
|
|
330
|
+
'context.md': this.getBlankTemplate('context'),
|
|
331
|
+
'plan.md': this.getBlankTemplate('plan'),
|
|
332
|
+
'guardrail.md': this.getBlankTemplate('guardrail')
|
|
294
333
|
};
|
|
295
334
|
for (const [fileName, content] of Object.entries(templates)) {
|
|
296
335
|
const filePath = path.join(this.cxtPath, fileName);
|
|
297
336
|
await fs.writeFile(filePath, content);
|
|
298
337
|
}
|
|
299
338
|
}
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
const readmeFirstLine = analysis.readme.split('\n')[0] || '';
|
|
304
|
-
const projectDescription = readmeFirstLine || 'Add your project description here';
|
|
305
|
-
const contextContent = `# ${projectName} Context
|
|
339
|
+
getBlankTemplate(type) {
|
|
340
|
+
const templates = {
|
|
341
|
+
context: `# Project Context
|
|
306
342
|
|
|
307
343
|
*This file contains stable project information that doesn't change per branch.*
|
|
308
344
|
*See plan.md for branch-specific implementation details.*
|
|
309
345
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
## Project Purpose
|
|
313
|
-
|
|
314
|
-
${projectDescription}
|
|
315
|
-
|
|
316
|
-
<!--
|
|
317
|
-
GUIDANCE: Describe what this project does and why it exists.
|
|
318
|
-
This helps AI understand the project's goals when providing assistance.
|
|
319
|
-
|
|
320
|
-
TIP: Be specific about the problem you're solving and who benefits from it.
|
|
321
|
-
-->
|
|
322
|
-
|
|
323
|
-
## Core Problem
|
|
324
|
-
|
|
325
|
-
<!--
|
|
326
|
-
GUIDANCE: What problem does this project solve?
|
|
327
|
-
This helps AI understand the motivation behind the project.
|
|
328
|
-
Example: "Remote teams struggle to track tasks across multiple tools"
|
|
329
|
-
|
|
330
|
-
TIP: Focus on the user's pain point, not the technical solution.
|
|
331
|
-
-->
|
|
332
|
-
|
|
333
|
-
## Solution
|
|
334
|
-
|
|
335
|
-
<!--
|
|
336
|
-
GUIDANCE: How does this project address the problem?
|
|
337
|
-
This helps AI understand your approach to solving the problem.
|
|
338
|
-
Example: "Unified task management with Slack integration for seamless workflow"
|
|
339
|
-
|
|
340
|
-
TIP: Explain the high-level approach, not implementation details (those go in plan.md).
|
|
341
|
-
-->
|
|
346
|
+
`,
|
|
347
|
+
plan: `# Development Plan
|
|
342
348
|
|
|
343
|
-
|
|
349
|
+
*This file contains branch-specific implementation details.*
|
|
350
|
+
*When you switch branches, this file automatically switches to that branch's plan.*
|
|
351
|
+
*See context.md for stable project background.*
|
|
344
352
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
This helps AI tailor suggestions to your audience.
|
|
348
|
-
Example: "Remote teams of 5-50 people using Slack for communication"
|
|
349
|
-
|
|
350
|
-
TIP: Be specific about user characteristics, needs, and constraints.
|
|
351
|
-
-->
|
|
353
|
+
`,
|
|
354
|
+
guardrail: `# Guardrails
|
|
352
355
|
|
|
353
|
-
|
|
356
|
+
*This file contains universal rules and constraints that should rarely change.*
|
|
354
357
|
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
Example: "Task creation, team collaboration, Slack notifications, deadline tracking"
|
|
359
|
-
|
|
360
|
-
TIP: List the core features that define your project's value proposition.
|
|
361
|
-
-->
|
|
362
|
-
`;
|
|
363
|
-
await fs.writeFile(path.join(this.cxtPath, 'context.md'), contextContent);
|
|
364
|
-
await fs.writeFile(path.join(this.cxtPath, 'plan.md'), this.getManualTemplate('plan'));
|
|
365
|
-
await fs.writeFile(path.join(this.cxtPath, 'guardrail.md'), this.getManualTemplate('guardrail'));
|
|
358
|
+
`
|
|
359
|
+
};
|
|
360
|
+
return templates[type] || '';
|
|
366
361
|
}
|
|
367
|
-
|
|
362
|
+
getTemplateContent(type) {
|
|
368
363
|
const templates = {
|
|
369
364
|
context: `# Project Context
|
|
370
365
|
|
|
@@ -519,8 +514,7 @@ ${projectDescription}
|
|
|
519
514
|
enabled: true,
|
|
520
515
|
hooks: {
|
|
521
516
|
post_checkout: 'sync-plan',
|
|
522
|
-
pre_commit: 'validate'
|
|
523
|
-
post_merge: 'auto-heal'
|
|
517
|
+
pre_commit: 'validate'
|
|
524
518
|
},
|
|
525
519
|
silent_mode: true,
|
|
526
520
|
auto_install_hooks: true, // MVP: Auto-install hooks on init
|
|
@@ -528,35 +522,24 @@ ${projectDescription}
|
|
|
528
522
|
},
|
|
529
523
|
plan_management: {
|
|
530
524
|
backup_on_switch: true,
|
|
531
|
-
|
|
532
|
-
auto_commit_ai_changes:
|
|
533
|
-
archive_completed:
|
|
534
|
-
},
|
|
535
|
-
mcp: {
|
|
536
|
-
enabled: false,
|
|
537
|
-
sources: {
|
|
538
|
-
local_files: {
|
|
539
|
-
enabled: true,
|
|
540
|
-
readme: true,
|
|
541
|
-
package_json: true,
|
|
542
|
-
git_history: true
|
|
543
|
-
}
|
|
544
|
-
}
|
|
525
|
+
plan_template_style: options.mode // Defaults to init mode (blank or template)
|
|
526
|
+
// auto_commit_ai_changes: Removed - conflicts with "Manager, not Enforcer" philosophy
|
|
527
|
+
// archive_completed: Removed - not implemented
|
|
545
528
|
},
|
|
546
529
|
context: {
|
|
547
|
-
auto_sync: false,
|
|
548
530
|
health_checks: true,
|
|
549
531
|
ai_attribution: true,
|
|
550
|
-
update_mode: 'manual',
|
|
551
532
|
drift_detection: true,
|
|
552
533
|
warn_threshold: 3,
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
534
|
+
content_quality: {
|
|
535
|
+
min_content_length: 100,
|
|
536
|
+
min_content_lines: 3,
|
|
537
|
+
empty_section_warning: true,
|
|
538
|
+
short_content_warning: 200
|
|
539
|
+
}
|
|
540
|
+
// auto_sync: Removed - not implemented
|
|
541
|
+
// show_in_changed_files: Removed - not implemented
|
|
542
|
+
// auto_commit_context_updates: Removed - conflicts with "Manager, not Enforcer" philosophy
|
|
560
543
|
},
|
|
561
544
|
created: new Date().toISOString()
|
|
562
545
|
};
|
|
@@ -571,7 +554,6 @@ ${projectDescription}
|
|
|
571
554
|
const fullPath = path.join(this.cxtPath, file);
|
|
572
555
|
let status = 'clean';
|
|
573
556
|
let staged = false;
|
|
574
|
-
let contentStatus = 'populated';
|
|
575
557
|
let fileSize = 0;
|
|
576
558
|
if (gitStatus.untracked.includes(filePath)) {
|
|
577
559
|
status = 'new';
|
|
@@ -582,96 +564,111 @@ ${projectDescription}
|
|
|
582
564
|
if (gitStatus.staged.includes(filePath)) {
|
|
583
565
|
staged = true;
|
|
584
566
|
}
|
|
585
|
-
//
|
|
586
|
-
let
|
|
567
|
+
// Get content quality info
|
|
568
|
+
let contentQuality;
|
|
569
|
+
let contentStatus = 'populated';
|
|
587
570
|
if (await fs.pathExists(fullPath)) {
|
|
588
571
|
const stats = await fs.stat(fullPath);
|
|
589
572
|
fileSize = stats.size;
|
|
590
573
|
if (fileSize === 0) {
|
|
591
574
|
contentStatus = 'empty';
|
|
592
|
-
|
|
575
|
+
contentQuality = { status: 'empty', contentLength: 0, contentLines: 0 };
|
|
593
576
|
}
|
|
594
577
|
else {
|
|
595
578
|
const content = await fs.readFile(fullPath, 'utf-8');
|
|
596
|
-
|
|
597
|
-
contentStatus =
|
|
598
|
-
templatePercentage = detectionResult.templatePercentage;
|
|
579
|
+
contentQuality = this.analyzeContentQuality(content, file);
|
|
580
|
+
contentStatus = contentQuality.status;
|
|
599
581
|
}
|
|
600
582
|
}
|
|
601
583
|
else {
|
|
602
584
|
contentStatus = 'empty';
|
|
603
|
-
|
|
585
|
+
contentQuality = { status: 'empty', contentLength: 0, contentLines: 0 };
|
|
604
586
|
}
|
|
605
587
|
return {
|
|
606
588
|
file,
|
|
607
589
|
status,
|
|
608
590
|
staged,
|
|
609
591
|
contentStatus,
|
|
610
|
-
|
|
592
|
+
contentQuality,
|
|
611
593
|
size: fileSize
|
|
612
594
|
};
|
|
613
595
|
}));
|
|
614
596
|
return results;
|
|
615
597
|
}
|
|
616
598
|
/**
|
|
617
|
-
*
|
|
618
|
-
* Returns status and percentage of template content (0-100)
|
|
599
|
+
* Analyze content quality - detect empty, short, or populated content
|
|
619
600
|
*/
|
|
620
|
-
|
|
601
|
+
analyzeContentQuality(content, fileName) {
|
|
621
602
|
if (!content || content.trim().length === 0) {
|
|
622
|
-
return { status: 'empty',
|
|
603
|
+
return { status: 'empty', contentLength: 0, contentLines: 0 };
|
|
623
604
|
}
|
|
624
605
|
const lines = content.split('\n');
|
|
625
|
-
let
|
|
626
|
-
let
|
|
606
|
+
let contentLength = 0;
|
|
607
|
+
let contentLines = [];
|
|
608
|
+
let emptySections = 0;
|
|
609
|
+
let inSection = false;
|
|
610
|
+
let sectionHasContent = false;
|
|
611
|
+
// Default thresholds (should match ValidationEngine defaults)
|
|
612
|
+
const MIN_LENGTH = 100;
|
|
613
|
+
const MIN_LINES = 3;
|
|
627
614
|
// Analyze each line
|
|
628
615
|
for (const line of lines) {
|
|
629
616
|
const trimmed = line.trim();
|
|
617
|
+
// Check if this is a section header
|
|
618
|
+
if (trimmed.startsWith('##')) {
|
|
619
|
+
// If we were in a section and it had no content, count it as empty
|
|
620
|
+
if (inSection && !sectionHasContent) {
|
|
621
|
+
emptySections++;
|
|
622
|
+
}
|
|
623
|
+
inSection = true;
|
|
624
|
+
sectionHasContent = false;
|
|
625
|
+
continue; // Don't count headers as content
|
|
626
|
+
}
|
|
627
|
+
// Skip empty lines
|
|
630
628
|
if (trimmed.length === 0) {
|
|
631
|
-
continue;
|
|
629
|
+
continue;
|
|
632
630
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
631
|
+
// Skip structural elements (metadata, horizontal rules, etc.)
|
|
632
|
+
const isStructural = trimmed.startsWith('#') || // Other headers
|
|
633
|
+
(trimmed.startsWith('*') && (trimmed.includes('Last Updated') || trimmed.includes('References') || trimmed.includes('This file') || trimmed.includes('contains stable') || trimmed.includes('branch-specific') || trimmed.includes('Branch:') || trimmed.includes('Created:'))) ||
|
|
634
|
+
trimmed.startsWith('---') ||
|
|
635
|
+
trimmed.match(/^[-*+]\s*$/) !== null;
|
|
636
|
+
// Skip guidance comments (they're intentional in template mode)
|
|
637
|
+
const isGuidance = trimmed.startsWith('<!--') ||
|
|
636
638
|
trimmed.includes('GUIDANCE:') ||
|
|
637
639
|
trimmed.includes('TIP:') ||
|
|
638
640
|
trimmed.includes('Example:') ||
|
|
639
|
-
trimmed.startsWith('*') && (trimmed.includes('Last Updated') || trimmed.includes('References') || trimmed.includes('This file')) ||
|
|
640
641
|
trimmed === '-->';
|
|
641
|
-
|
|
642
|
-
|
|
642
|
+
// Count actual user content
|
|
643
|
+
if (!isStructural && !isGuidance) {
|
|
644
|
+
contentLength += trimmed.length;
|
|
645
|
+
contentLines.push(trimmed);
|
|
646
|
+
if (inSection) {
|
|
647
|
+
sectionHasContent = true;
|
|
648
|
+
}
|
|
643
649
|
}
|
|
644
650
|
}
|
|
645
|
-
//
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
//
|
|
650
|
-
const contentLines = lines.filter(line => {
|
|
651
|
-
const trimmed = line.trim();
|
|
652
|
-
return trimmed.length > 0 &&
|
|
653
|
-
!trimmed.startsWith('<!--') &&
|
|
654
|
-
!trimmed.startsWith('*') &&
|
|
655
|
-
!trimmed.startsWith('#') &&
|
|
656
|
-
trimmed !== '-->' &&
|
|
657
|
-
!trimmed.includes('GUIDANCE:') &&
|
|
658
|
-
!trimmed.includes('TIP:') &&
|
|
659
|
-
!trimmed.includes('Example:');
|
|
660
|
-
});
|
|
661
|
-
// Determine status based on percentage (unified threshold: 70%)
|
|
662
|
-
// If very few content lines, consider it template-only even if percentage is lower
|
|
651
|
+
// Check final section
|
|
652
|
+
if (inSection && !sectionHasContent) {
|
|
653
|
+
emptySections++;
|
|
654
|
+
}
|
|
655
|
+
// Determine status
|
|
663
656
|
let status;
|
|
664
|
-
if (
|
|
665
|
-
status = '
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
}
|
|
657
|
+
if (contentLength === 0 || contentLines.length === 0) {
|
|
658
|
+
status = 'empty';
|
|
659
|
+
}
|
|
660
|
+
else if (contentLength < MIN_LENGTH || contentLines.length < MIN_LINES) {
|
|
661
|
+
status = 'short';
|
|
670
662
|
}
|
|
671
663
|
else {
|
|
672
664
|
status = 'populated';
|
|
673
665
|
}
|
|
674
|
-
return {
|
|
666
|
+
return {
|
|
667
|
+
status,
|
|
668
|
+
contentLength,
|
|
669
|
+
contentLines: contentLines.length,
|
|
670
|
+
emptySections: emptySections > 0 ? emptySections : undefined
|
|
671
|
+
};
|
|
675
672
|
}
|
|
676
673
|
}
|
|
677
674
|
exports.ContextManager = ContextManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../src/context-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../src/context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;IAkBzB;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAiBhC"}
|
|
@@ -76,12 +76,12 @@ class GitHooksManager {
|
|
|
76
76
|
// Check if hook already exists
|
|
77
77
|
if (await fs.pathExists(hookPath)) {
|
|
78
78
|
const existingContent = await fs.readFile(hookPath, 'utf-8');
|
|
79
|
-
// If it's already a
|
|
80
|
-
if (existingContent.includes('
|
|
81
|
-
// Replace existing
|
|
79
|
+
// If it's already a cxt-manager hook, replace it
|
|
80
|
+
if (existingContent.includes('cxt-manager')) {
|
|
81
|
+
// Replace existing cxt-manager hook
|
|
82
82
|
}
|
|
83
83
|
else {
|
|
84
|
-
// Existing hook from another tool - append
|
|
84
|
+
// Existing hook from another tool - append cxt-manager hook
|
|
85
85
|
// This allows multiple tools to coexist
|
|
86
86
|
const newScript = this.getHookScript(hookName, command, isWindows);
|
|
87
87
|
const combinedScript = `${existingContent}\n\n${newScript}`;
|
|
@@ -105,7 +105,7 @@ class GitHooksManager {
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Remove all
|
|
108
|
+
* Remove all cxt-manager hooks
|
|
109
109
|
*/
|
|
110
110
|
async removeHooks() {
|
|
111
111
|
const hooks = ['post-checkout', 'pre-commit', 'post-merge'];
|
|
@@ -113,8 +113,8 @@ class GitHooksManager {
|
|
|
113
113
|
const hookPath = path.join(this.hooksPath, hookName);
|
|
114
114
|
if (await fs.pathExists(hookPath)) {
|
|
115
115
|
const content = await fs.readFile(hookPath, 'utf-8');
|
|
116
|
-
// Only remove if it's a
|
|
117
|
-
if (content.includes('
|
|
116
|
+
// Only remove if it's a cxt-manager hook
|
|
117
|
+
if (content.includes('cxt-manager')) {
|
|
118
118
|
await fs.remove(hookPath);
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -142,7 +142,7 @@ class GitHooksManager {
|
|
|
142
142
|
return false;
|
|
143
143
|
}
|
|
144
144
|
const content = await fs.readFile(hookPath, 'utf-8');
|
|
145
|
-
if (!content.includes('
|
|
145
|
+
if (!content.includes('cxt-manager')) {
|
|
146
146
|
return false;
|
|
147
147
|
}
|
|
148
148
|
}
|
|
@@ -158,7 +158,7 @@ class GitHooksManager {
|
|
|
158
158
|
const hookPath = path.join(this.hooksPath, hookName);
|
|
159
159
|
if (await fs.pathExists(hookPath)) {
|
|
160
160
|
const content = await fs.readFile(hookPath, 'utf-8');
|
|
161
|
-
if (content.includes('
|
|
161
|
+
if (content.includes('cxt-manager')) {
|
|
162
162
|
installed.push(hookName);
|
|
163
163
|
}
|
|
164
164
|
}
|
|
@@ -171,11 +171,10 @@ class GitHooksManager {
|
|
|
171
171
|
getBashHookScript(hookName, command) {
|
|
172
172
|
const silentFlag = this.config.git_integration?.silent_mode ? '--silent' : '';
|
|
173
173
|
const commandWithFlags = command.includes('validate') ? `${command} --quick ${silentFlag}` :
|
|
174
|
-
|
|
175
|
-
`${command} ${silentFlag}`;
|
|
174
|
+
`${command} ${silentFlag}`;
|
|
176
175
|
return `#!/bin/sh
|
|
177
|
-
#
|
|
178
|
-
# This hook was installed by
|
|
176
|
+
# cxt-manager: ${hookName} hook
|
|
177
|
+
# This hook was installed by cxt-manager (cit init)
|
|
179
178
|
# To remove: cit hooks remove
|
|
180
179
|
|
|
181
180
|
# Check if cit is available (don't fail if not in PATH)
|
|
@@ -191,11 +190,10 @@ exit 0
|
|
|
191
190
|
getPowerShellHookScript(hookName, command) {
|
|
192
191
|
const silentFlag = this.config.git_integration?.silent_mode ? '--silent' : '';
|
|
193
192
|
const commandWithFlags = command.includes('validate') ? `${command} --quick ${silentFlag}` :
|
|
194
|
-
|
|
195
|
-
`${command} ${silentFlag}`;
|
|
193
|
+
`${command} ${silentFlag}`;
|
|
196
194
|
return `#!/usr/bin/env pwsh
|
|
197
|
-
#
|
|
198
|
-
# This hook was installed by
|
|
195
|
+
# cxt-manager: ${hookName} hook
|
|
196
|
+
# This hook was installed by cxt-manager (cit init)
|
|
199
197
|
# To remove: cit hooks remove
|
|
200
198
|
|
|
201
199
|
# Check if cit is available (don't fail if not in PATH)
|