@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/types.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export interface PlanManagementConfig {
|
|
2
2
|
backup_on_switch: boolean;
|
|
3
|
-
|
|
4
|
-
auto_commit_ai_changes: boolean;
|
|
5
|
-
archive_completed: boolean;
|
|
3
|
+
plan_template_style?: PlanTemplateStyle;
|
|
6
4
|
}
|
|
7
5
|
export interface GitIntegrationConfig {
|
|
8
6
|
enabled: boolean;
|
|
@@ -15,23 +13,24 @@ export interface GitIntegrationConfig {
|
|
|
15
13
|
auto_install_hooks: boolean;
|
|
16
14
|
track_in_git?: boolean;
|
|
17
15
|
}
|
|
18
|
-
export interface
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
export interface ContentQualityThresholds {
|
|
17
|
+
min_content_length: number;
|
|
18
|
+
min_content_lines: number;
|
|
19
|
+
empty_section_warning: boolean;
|
|
20
|
+
short_content_warning: number;
|
|
22
21
|
}
|
|
22
|
+
export type InitMode = 'blank' | 'template';
|
|
23
|
+
export type PlanTemplateStyle = 'blank' | 'template';
|
|
24
|
+
export type ContentStatus = 'empty' | 'short' | 'populated';
|
|
23
25
|
export interface ContextUpdateConfig {
|
|
24
|
-
update_mode?: 'auto' | 'manual';
|
|
25
26
|
drift_detection?: boolean;
|
|
26
27
|
warn_threshold?: number;
|
|
27
|
-
|
|
28
|
-
show_in_changed_files?: boolean;
|
|
29
|
-
auto_commit_context_updates?: boolean;
|
|
28
|
+
content_quality?: ContentQualityThresholds;
|
|
30
29
|
}
|
|
31
30
|
export interface SyncPlanOptions {
|
|
32
31
|
silent?: boolean;
|
|
33
32
|
createIfMissing?: boolean;
|
|
34
|
-
template?:
|
|
33
|
+
template?: PlanTemplateStyle;
|
|
35
34
|
}
|
|
36
35
|
export interface SyncPlanResult {
|
|
37
36
|
previousBranch: string;
|
|
@@ -41,51 +40,14 @@ export interface SyncPlanResult {
|
|
|
41
40
|
}
|
|
42
41
|
export interface CxtConfig {
|
|
43
42
|
version: string;
|
|
44
|
-
mode:
|
|
45
|
-
mcp: {
|
|
46
|
-
enabled: boolean;
|
|
47
|
-
sources: {
|
|
48
|
-
local_files: {
|
|
49
|
-
enabled: boolean;
|
|
50
|
-
readme: boolean;
|
|
51
|
-
package_json: boolean;
|
|
52
|
-
git_history: boolean;
|
|
53
|
-
};
|
|
54
|
-
claude_desktop?: {
|
|
55
|
-
enabled: boolean;
|
|
56
|
-
auto_discovered: boolean;
|
|
57
|
-
};
|
|
58
|
-
github?: {
|
|
59
|
-
enabled: boolean;
|
|
60
|
-
repo: string | null;
|
|
61
|
-
include_issues: boolean;
|
|
62
|
-
include_prs: boolean;
|
|
63
|
-
};
|
|
64
|
-
external_apis?: {
|
|
65
|
-
notion: {
|
|
66
|
-
enabled: boolean;
|
|
67
|
-
api_key: string | null;
|
|
68
|
-
};
|
|
69
|
-
linear: {
|
|
70
|
-
enabled: boolean;
|
|
71
|
-
api_key: string | null;
|
|
72
|
-
};
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
};
|
|
43
|
+
mode: InitMode;
|
|
76
44
|
context: {
|
|
77
|
-
auto_sync: boolean;
|
|
78
45
|
health_checks: boolean;
|
|
79
46
|
ai_attribution: boolean;
|
|
80
|
-
update_mode?: 'auto' | 'manual';
|
|
81
47
|
drift_detection?: boolean;
|
|
82
48
|
warn_threshold?: number;
|
|
83
|
-
|
|
84
|
-
show_in_changed_files?: boolean;
|
|
85
|
-
auto_commit_context_updates?: boolean;
|
|
49
|
+
content_quality?: ContentQualityThresholds;
|
|
86
50
|
};
|
|
87
|
-
template?: string;
|
|
88
|
-
ai_model?: string;
|
|
89
51
|
created: string;
|
|
90
52
|
git_integration?: GitIntegrationConfig;
|
|
91
53
|
plan_management?: PlanManagementConfig;
|
|
@@ -98,7 +60,7 @@ export interface ContextFile {
|
|
|
98
60
|
size: number;
|
|
99
61
|
}
|
|
100
62
|
export interface InitOptions {
|
|
101
|
-
mode: '
|
|
63
|
+
mode: 'blank' | 'template';
|
|
102
64
|
trackInGit?: boolean;
|
|
103
65
|
}
|
|
104
66
|
export interface GitInfo {
|
|
@@ -139,7 +101,7 @@ export interface HealthStatus {
|
|
|
139
101
|
lastChecked: Date;
|
|
140
102
|
issues: HealthIssue[];
|
|
141
103
|
suggestions: string[];
|
|
142
|
-
alignments
|
|
104
|
+
alignments?: {
|
|
143
105
|
contextToPlan: string;
|
|
144
106
|
allToGuardrails: string;
|
|
145
107
|
};
|
|
@@ -167,8 +129,13 @@ export interface StatusInfo {
|
|
|
167
129
|
file: string;
|
|
168
130
|
status: string;
|
|
169
131
|
staged: boolean;
|
|
170
|
-
contentStatus?:
|
|
171
|
-
|
|
132
|
+
contentStatus?: ContentStatus;
|
|
133
|
+
contentQuality?: {
|
|
134
|
+
status: ContentStatus;
|
|
135
|
+
contentLength: number;
|
|
136
|
+
contentLines: number;
|
|
137
|
+
emptySections?: number;
|
|
138
|
+
};
|
|
172
139
|
size?: number;
|
|
173
140
|
}>;
|
|
174
141
|
lastUpdated: Date;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import { HealthStatus,
|
|
1
|
+
import { HealthStatus, ContentQualityThresholds } from './types';
|
|
2
2
|
export declare class ValidationEngine {
|
|
3
3
|
private cxtPath;
|
|
4
|
-
private
|
|
5
|
-
constructor(cxtPath: string,
|
|
4
|
+
private contentThresholds;
|
|
5
|
+
constructor(cxtPath: string, contentThresholds?: ContentQualityThresholds);
|
|
6
6
|
checkHealth(quick?: boolean): Promise<HealthStatus>;
|
|
7
|
-
autoHeal(issues: HealthIssue[], dryRun?: boolean): Promise<string[]>;
|
|
8
7
|
private loadContextFiles;
|
|
9
|
-
private checkAlignments;
|
|
10
8
|
private checkCommonIssues;
|
|
11
9
|
/**
|
|
12
|
-
*
|
|
10
|
+
* Analyze content quality - detect empty, short, or populated content
|
|
13
11
|
*/
|
|
14
|
-
private
|
|
12
|
+
private analyzeContentQuality;
|
|
15
13
|
/**
|
|
16
14
|
* Get human-readable purpose of each file
|
|
17
15
|
*/
|
|
18
16
|
private getFilePurpose;
|
|
19
17
|
private checkOutdatedInfo;
|
|
20
|
-
private isMissingRequiredSections;
|
|
21
18
|
private generateSuggestions;
|
|
22
|
-
private applyFix;
|
|
23
|
-
private fixMissingSections;
|
|
24
|
-
private updateLastModifiedDate;
|
|
25
19
|
}
|
|
26
20
|
//# sourceMappingURL=validation-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-engine.d.ts","sourceRoot":"","sources":["../src/validation-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"validation-engine.d.ts","sourceRoot":"","sources":["../src/validation-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAe,wBAAwB,EAAiB,MAAM,SAAS,CAAC;AAE7F,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAA2B;gBAExC,OAAO,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,wBAAwB;IAWnE,WAAW,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,CAAC;YAsClD,gBAAgB;YAehB,iBAAiB;IA2D/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwF7B;;OAEG;IACH,OAAO,CAAC,cAAc;YASR,iBAAiB;IAyB/B,OAAO,CAAC,mBAAmB;CAiD5B"}
|
|
@@ -37,13 +37,14 @@ exports.ValidationEngine = void 0;
|
|
|
37
37
|
const fs = __importStar(require("fs-extra"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
class ValidationEngine {
|
|
40
|
-
constructor(cxtPath,
|
|
40
|
+
constructor(cxtPath, contentThresholds) {
|
|
41
41
|
this.cxtPath = cxtPath;
|
|
42
42
|
// Default thresholds if not provided
|
|
43
|
-
this.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
this.contentThresholds = contentThresholds || {
|
|
44
|
+
min_content_length: 100,
|
|
45
|
+
min_content_lines: 3,
|
|
46
|
+
empty_section_warning: true,
|
|
47
|
+
short_content_warning: 200
|
|
47
48
|
};
|
|
48
49
|
}
|
|
49
50
|
async checkHealth(quick = false) {
|
|
@@ -54,8 +55,6 @@ class ValidationEngine {
|
|
|
54
55
|
// Check for basic issues
|
|
55
56
|
const basicIssues = await this.checkCommonIssues(contextFiles);
|
|
56
57
|
issues.push(...basicIssues);
|
|
57
|
-
// Check alignments between files
|
|
58
|
-
const alignments = await this.checkAlignments(contextFiles);
|
|
59
58
|
// In quick mode, skip outdated info check (faster)
|
|
60
59
|
if (!quick) {
|
|
61
60
|
// Check for outdated information
|
|
@@ -77,22 +76,9 @@ class ValidationEngine {
|
|
|
77
76
|
overall,
|
|
78
77
|
lastChecked: new Date(),
|
|
79
78
|
issues,
|
|
80
|
-
suggestions
|
|
81
|
-
alignments
|
|
79
|
+
suggestions
|
|
82
80
|
};
|
|
83
81
|
}
|
|
84
|
-
async autoHeal(issues, dryRun = false) {
|
|
85
|
-
const fixes = [];
|
|
86
|
-
for (const issue of issues) {
|
|
87
|
-
if (issue.autoFixable) {
|
|
88
|
-
const fix = await this.applyFix(issue, dryRun);
|
|
89
|
-
if (fix) {
|
|
90
|
-
fixes.push(fix);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return fixes;
|
|
95
|
-
}
|
|
96
82
|
async loadContextFiles() {
|
|
97
83
|
const files = new Map();
|
|
98
84
|
const fileNames = ['context.md', 'plan.md', 'guardrail.md'];
|
|
@@ -105,76 +91,54 @@ class ValidationEngine {
|
|
|
105
91
|
}
|
|
106
92
|
return files;
|
|
107
93
|
}
|
|
108
|
-
async checkAlignments(contextFiles) {
|
|
109
|
-
// Simple alignment checking - in real implementation, this would be more sophisticated
|
|
110
|
-
return {
|
|
111
|
-
contextToPlan: 'aligned',
|
|
112
|
-
allToGuardrails: 'aligned'
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
94
|
async checkCommonIssues(contextFiles) {
|
|
116
95
|
const issues = [];
|
|
117
|
-
// Check
|
|
96
|
+
// Check content quality with configurable thresholds
|
|
97
|
+
const MIN_LENGTH = this.contentThresholds.min_content_length;
|
|
98
|
+
const MIN_LINES = this.contentThresholds.min_content_lines;
|
|
99
|
+
const SHORT_WARNING = this.contentThresholds.short_content_warning;
|
|
100
|
+
const WARN_EMPTY_SECTIONS = this.contentThresholds.empty_section_warning;
|
|
118
101
|
for (const [fileName, content] of contextFiles) {
|
|
119
|
-
|
|
102
|
+
const quality = this.analyzeContentQuality(content, fileName);
|
|
103
|
+
const filePurpose = this.getFilePurpose(fileName);
|
|
104
|
+
// Check if file is empty
|
|
105
|
+
if (quality.status === 'empty') {
|
|
120
106
|
issues.push({
|
|
121
|
-
type: '
|
|
107
|
+
type: 'error',
|
|
122
108
|
file: fileName,
|
|
123
|
-
message: '
|
|
124
|
-
suggestion:
|
|
125
|
-
autoFixable:
|
|
109
|
+
message: 'File is empty or contains only structure',
|
|
110
|
+
suggestion: `Add content to ${fileName} to document ${filePurpose}.`,
|
|
111
|
+
autoFixable: false
|
|
126
112
|
});
|
|
127
113
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
else if (percentage >= MILD_WARNING_THRESHOLD) {
|
|
151
|
-
// Warning: 50-70% template
|
|
152
|
-
issues.push({
|
|
153
|
-
type: 'warning',
|
|
154
|
-
file: fileName,
|
|
155
|
-
message: `File contains ${percentage}% template content`,
|
|
156
|
-
suggestion: `Consider adding more project-specific content to ${fileName}. Currently ${percentage}% is template/guidance.`,
|
|
157
|
-
autoFixable: false
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
// Mild suggestion: 30-50% template
|
|
162
|
-
issues.push({
|
|
163
|
-
type: 'warning',
|
|
164
|
-
file: fileName,
|
|
165
|
-
message: `File contains ${percentage}% template content`,
|
|
166
|
-
suggestion: `Consider adding more content to ${fileName} to make it more useful. Currently ${percentage}% is template/guidance.`,
|
|
167
|
-
autoFixable: false
|
|
168
|
-
});
|
|
169
|
-
}
|
|
114
|
+
// Check if content is too short
|
|
115
|
+
else if (quality.status === 'short' || quality.contentLength < MIN_LENGTH) {
|
|
116
|
+
const severity = quality.contentLength < MIN_LENGTH ? 'error' : 'warning';
|
|
117
|
+
issues.push({
|
|
118
|
+
type: severity,
|
|
119
|
+
file: fileName,
|
|
120
|
+
message: `File has very little content (${quality.contentLength} characters, ${quality.contentLines} lines)`,
|
|
121
|
+
suggestion: `Consider adding more content to ${fileName}. Minimum recommended: ${MIN_LENGTH} characters, ${MIN_LINES} lines.`,
|
|
122
|
+
autoFixable: false
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
// Check for empty sections in template mode
|
|
126
|
+
else if (WARN_EMPTY_SECTIONS && quality.emptySections && quality.emptySections > 0) {
|
|
127
|
+
issues.push({
|
|
128
|
+
type: 'warning',
|
|
129
|
+
file: fileName,
|
|
130
|
+
message: `File has ${quality.emptySections} empty section(s)`,
|
|
131
|
+
suggestion: `Consider filling in the empty sections in ${fileName} to make it more complete.`,
|
|
132
|
+
autoFixable: false
|
|
133
|
+
});
|
|
170
134
|
}
|
|
171
|
-
|
|
172
|
-
|
|
135
|
+
// Warn if content is below short_content_warning threshold
|
|
136
|
+
else if (quality.contentLength < SHORT_WARNING && quality.status === 'populated') {
|
|
173
137
|
issues.push({
|
|
174
138
|
type: 'warning',
|
|
175
139
|
file: fileName,
|
|
176
|
-
message:
|
|
177
|
-
suggestion:
|
|
140
|
+
message: `File content is relatively short (${quality.contentLength} characters)`,
|
|
141
|
+
suggestion: `Consider expanding ${fileName} with more details about ${filePurpose}.`,
|
|
178
142
|
autoFixable: false
|
|
179
143
|
});
|
|
180
144
|
}
|
|
@@ -182,53 +146,78 @@ class ValidationEngine {
|
|
|
182
146
|
return issues;
|
|
183
147
|
}
|
|
184
148
|
/**
|
|
185
|
-
*
|
|
149
|
+
* Analyze content quality - detect empty, short, or populated content
|
|
186
150
|
*/
|
|
187
|
-
|
|
151
|
+
analyzeContentQuality(content, fileName) {
|
|
188
152
|
if (!content || content.trim().length === 0) {
|
|
189
|
-
return {
|
|
153
|
+
return { status: 'empty', contentLength: 0, contentLines: 0 };
|
|
190
154
|
}
|
|
191
155
|
const lines = content.split('\n');
|
|
192
|
-
let
|
|
193
|
-
let
|
|
156
|
+
let contentLength = 0;
|
|
157
|
+
let contentLines = [];
|
|
158
|
+
let emptySections = 0;
|
|
159
|
+
let inSection = false;
|
|
160
|
+
let sectionHasContent = false;
|
|
194
161
|
// Analyze each line
|
|
195
162
|
for (const line of lines) {
|
|
196
163
|
const trimmed = line.trim();
|
|
164
|
+
// Check if this is a section header
|
|
165
|
+
if (trimmed.startsWith('##')) {
|
|
166
|
+
// If we were in a section and it had no content, count it as empty
|
|
167
|
+
if (inSection && !sectionHasContent) {
|
|
168
|
+
emptySections++;
|
|
169
|
+
}
|
|
170
|
+
inSection = true;
|
|
171
|
+
sectionHasContent = false;
|
|
172
|
+
continue; // Don't count headers as content
|
|
173
|
+
}
|
|
174
|
+
// Skip empty lines
|
|
197
175
|
if (trimmed.length === 0) {
|
|
198
|
-
continue;
|
|
176
|
+
continue;
|
|
199
177
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
178
|
+
// Skip structural elements (metadata, horizontal rules, etc.)
|
|
179
|
+
const isStructural = trimmed.startsWith('#') || // Other headers
|
|
180
|
+
(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:'))) ||
|
|
181
|
+
trimmed.startsWith('---') ||
|
|
182
|
+
trimmed.match(/^[-*+]\s*$/) !== null;
|
|
183
|
+
// Skip guidance comments (they're intentional in template mode)
|
|
184
|
+
const isGuidance = trimmed.startsWith('<!--') ||
|
|
203
185
|
trimmed.includes('GUIDANCE:') ||
|
|
204
186
|
trimmed.includes('TIP:') ||
|
|
205
187
|
trimmed.includes('Example:') ||
|
|
206
|
-
(trimmed.startsWith('*') && (trimmed.includes('Last Updated') || trimmed.includes('References') || trimmed.includes('This file'))) ||
|
|
207
188
|
trimmed === '-->';
|
|
208
|
-
|
|
209
|
-
|
|
189
|
+
// Count actual user content
|
|
190
|
+
if (!isStructural && !isGuidance) {
|
|
191
|
+
contentLength += trimmed.length;
|
|
192
|
+
contentLines.push(trimmed);
|
|
193
|
+
if (inSection) {
|
|
194
|
+
sectionHasContent = true;
|
|
195
|
+
}
|
|
210
196
|
}
|
|
211
197
|
}
|
|
212
|
-
//
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
//
|
|
217
|
-
const
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
198
|
+
// Check final section
|
|
199
|
+
if (inSection && !sectionHasContent) {
|
|
200
|
+
emptySections++;
|
|
201
|
+
}
|
|
202
|
+
// Determine status
|
|
203
|
+
const MIN_LENGTH = this.contentThresholds.min_content_length;
|
|
204
|
+
const MIN_LINES = this.contentThresholds.min_content_lines;
|
|
205
|
+
let status;
|
|
206
|
+
if (contentLength === 0 || contentLines.length === 0) {
|
|
207
|
+
status = 'empty';
|
|
208
|
+
}
|
|
209
|
+
else if (contentLength < MIN_LENGTH || contentLines.length < MIN_LINES) {
|
|
210
|
+
status = 'short';
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
status = 'populated';
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
status,
|
|
217
|
+
contentLength,
|
|
218
|
+
contentLines: contentLines.length,
|
|
219
|
+
emptySections: emptySections > 0 ? emptySections : undefined
|
|
220
|
+
};
|
|
232
221
|
}
|
|
233
222
|
/**
|
|
234
223
|
* Get human-readable purpose of each file
|
|
@@ -262,15 +251,6 @@ class ValidationEngine {
|
|
|
262
251
|
}
|
|
263
252
|
return issues;
|
|
264
253
|
}
|
|
265
|
-
isMissingRequiredSections(fileName, content) {
|
|
266
|
-
const requiredSections = {
|
|
267
|
-
'context.md': ['Project Purpose', 'Core Problem', 'Solution', 'Target Users'],
|
|
268
|
-
'plan.md': ['Architecture Overview', 'Development Phases', 'Technology Stack'],
|
|
269
|
-
'guardrail.md': ['Code Standards', 'Architecture Rules']
|
|
270
|
-
};
|
|
271
|
-
const required = requiredSections[fileName] || [];
|
|
272
|
-
return required.some((section) => !content.includes(`## ${section}`));
|
|
273
|
-
}
|
|
274
254
|
generateSuggestions(issues) {
|
|
275
255
|
const suggestions = [];
|
|
276
256
|
// Only show template suggestions for files above well-populated threshold
|
|
@@ -278,7 +258,8 @@ class ValidationEngine {
|
|
|
278
258
|
if (i.message.includes('% template')) {
|
|
279
259
|
const match = i.message.match(/(\d+)%/);
|
|
280
260
|
const percentage = match ? parseInt(match[1]) : 0;
|
|
281
|
-
|
|
261
|
+
// Legacy template percentage check - no longer used with content quality detection
|
|
262
|
+
return false;
|
|
282
263
|
}
|
|
283
264
|
return false;
|
|
284
265
|
});
|
|
@@ -305,40 +286,12 @@ class ValidationEngine {
|
|
|
305
286
|
suggestions.push('💡 TIP: The files contain helpful guidance comments (<!-- GUIDANCE: ... -->) explaining what to fill in.');
|
|
306
287
|
suggestions.push('💡 TIP: AI tools can read these files to better understand your project when providing assistance.');
|
|
307
288
|
}
|
|
308
|
-
const autoFixableCount = issues.filter(i => i.autoFixable).length;
|
|
309
|
-
if (autoFixableCount > 0) {
|
|
310
|
-
suggestions.push(`Run "cit auto-heal" to fix ${autoFixableCount} issue(s) automatically`);
|
|
311
|
-
}
|
|
312
289
|
const warningCount = issues.filter(i => i.type === 'warning').length;
|
|
313
290
|
if (warningCount > 3) {
|
|
314
291
|
suggestions.push('Consider reviewing and updating context files regularly');
|
|
315
292
|
}
|
|
316
293
|
return suggestions;
|
|
317
294
|
}
|
|
318
|
-
async applyFix(issue, dryRun) {
|
|
319
|
-
const filePath = path.join(this.cxtPath, issue.file);
|
|
320
|
-
if (issue.message.includes('Missing required sections')) {
|
|
321
|
-
return await this.fixMissingSections(filePath, issue.file, dryRun);
|
|
322
|
-
}
|
|
323
|
-
if (issue.message.includes('Last updated')) {
|
|
324
|
-
return await this.updateLastModifiedDate(filePath, dryRun);
|
|
325
|
-
}
|
|
326
|
-
return null;
|
|
327
|
-
}
|
|
328
|
-
async fixMissingSections(filePath, fileName, dryRun) {
|
|
329
|
-
if (dryRun) {
|
|
330
|
-
return `Would add missing sections to ${fileName}`;
|
|
331
|
-
}
|
|
332
|
-
// In a real implementation, we'd add the missing sections
|
|
333
|
-
return `Added missing sections to ${fileName}`;
|
|
334
|
-
}
|
|
335
|
-
async updateLastModifiedDate(filePath, dryRun) {
|
|
336
|
-
if (dryRun) {
|
|
337
|
-
return `Would update last modified date in ${path.basename(filePath)}`;
|
|
338
|
-
}
|
|
339
|
-
// In a real implementation, we'd update the date
|
|
340
|
-
return `Updated last modified date in ${path.basename(filePath)}`;
|
|
341
|
-
}
|
|
342
295
|
}
|
|
343
296
|
exports.ValidationEngine = ValidationEngine;
|
|
344
297
|
//# sourceMappingURL=validation-engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-engine.js","sourceRoot":"","sources":["../src/validation-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validation-engine.js","sourceRoot":"","sources":["../src/validation-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cxtmanager/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"description": "Core functionality for CxtManager - context file management and Git integration",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"documentation"
|
|
51
51
|
],
|
|
52
52
|
"author": "Digital Brew LLC <hello@digitalbrew.tech>",
|
|
53
|
-
"license": "
|
|
53
|
+
"license": "MIT",
|
|
54
54
|
"engines": {
|
|
55
55
|
"node": ">=18.0.0"
|
|
56
56
|
},
|