@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.
Files changed (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +81 -28
  3. package/dist/__tests__/context-manager.test.d.ts +2 -0
  4. package/dist/__tests__/context-manager.test.d.ts.map +1 -0
  5. package/dist/__tests__/context-manager.test.js +239 -0
  6. package/dist/__tests__/context-manager.test.js.map +1 -0
  7. package/dist/__tests__/file-watcher.test.d.ts +2 -0
  8. package/dist/__tests__/file-watcher.test.d.ts.map +1 -0
  9. package/dist/__tests__/file-watcher.test.js +84 -0
  10. package/dist/__tests__/file-watcher.test.js.map +1 -0
  11. package/dist/__tests__/git-repository.test.d.ts +2 -0
  12. package/dist/__tests__/git-repository.test.d.ts.map +1 -0
  13. package/dist/__tests__/git-repository.test.js +256 -0
  14. package/dist/__tests__/git-repository.test.js.map +1 -0
  15. package/dist/__tests__/plan-manager.test.d.ts +2 -0
  16. package/dist/__tests__/plan-manager.test.d.ts.map +1 -0
  17. package/dist/__tests__/plan-manager.test.js +212 -0
  18. package/dist/__tests__/plan-manager.test.js.map +1 -0
  19. package/dist/__tests__/plan-templates.test.d.ts +2 -0
  20. package/dist/__tests__/plan-templates.test.d.ts.map +1 -0
  21. package/dist/__tests__/plan-templates.test.js +93 -0
  22. package/dist/__tests__/plan-templates.test.js.map +1 -0
  23. package/dist/__tests__/validation-engine.test.d.ts +2 -0
  24. package/dist/__tests__/validation-engine.test.d.ts.map +1 -0
  25. package/dist/__tests__/validation-engine.test.js +152 -0
  26. package/dist/__tests__/validation-engine.test.js.map +1 -0
  27. package/dist/context-manager.d.ts +6 -7
  28. package/dist/context-manager.d.ts.map +1 -1
  29. package/dist/context-manager.js +166 -169
  30. package/dist/context-manager.js.map +1 -1
  31. package/dist/git-hooks-manager.d.ts +1 -1
  32. package/dist/git-hooks-manager.d.ts.map +1 -1
  33. package/dist/git-hooks-manager.js +15 -17
  34. package/dist/git-hooks-manager.js.map +1 -1
  35. package/dist/git-repository.d.ts +6 -1
  36. package/dist/git-repository.d.ts.map +1 -1
  37. package/dist/git-repository.js +141 -21
  38. package/dist/git-repository.js.map +1 -1
  39. package/dist/plan-manager.d.ts +3 -3
  40. package/dist/plan-manager.d.ts.map +1 -1
  41. package/dist/plan-manager.js +19 -9
  42. package/dist/plan-manager.js.map +1 -1
  43. package/dist/plan-templates.d.ts +4 -4
  44. package/dist/plan-templates.d.ts.map +1 -1
  45. package/dist/plan-templates.js +9 -40
  46. package/dist/plan-templates.js.map +1 -1
  47. package/dist/types/index.d.ts +1 -33
  48. package/dist/types/index.d.ts.map +1 -1
  49. package/dist/types/index.js.map +1 -1
  50. package/dist/types.d.ts +22 -55
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/validation-engine.d.ts +5 -11
  53. package/dist/validation-engine.d.ts.map +1 -1
  54. package/dist/validation-engine.js +103 -150
  55. package/dist/validation-engine.js.map +1 -1
  56. 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
- template: 'minimal' | 'detailed' | 'custom';
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 TemplateThresholds {
19
- well_populated: number;
20
- mild_warning: number;
21
- critical: number;
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
- template_thresholds?: TemplateThresholds;
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?: 'minimal' | 'detailed';
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: 'auto' | 'manual';
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
- template_thresholds?: TemplateThresholds;
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: 'auto' | 'manual';
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?: 'populated' | 'template-only' | 'empty';
171
- templatePercentage?: number;
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;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;CAIzC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QACL,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC5C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,OAAO,GAAG,WAAW,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,wBAAwB,CAAC;CAI5C;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE;QACP,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,eAAe,CAAC,EAAE,wBAAwB,CAAC;KAK5C,CAAC;IAIF,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,eAAe,CAAC,EAAE,oBAAoB,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,IAAI,CAAC;KACZ,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,GAAG,OAAO,GAAG,gBAAgB,GAAG,UAAU,CAAC;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,SAAS,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE;YACf,MAAM,EAAE,aAAa,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;YACrB,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -1,26 +1,20 @@
1
- import { HealthStatus, HealthIssue, TemplateThresholds } from './types';
1
+ import { HealthStatus, ContentQualityThresholds } from './types';
2
2
  export declare class ValidationEngine {
3
3
  private cxtPath;
4
- private templateThresholds;
5
- constructor(cxtPath: string, templateThresholds?: TemplateThresholds);
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
- * Calculate template percentage and determine if content is template-only
10
+ * Analyze content quality - detect empty, short, or populated content
13
11
  */
14
- private getTemplatePercentage;
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,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAExE,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,kBAAkB;IAU9D,WAAW,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA0C1D,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAenE,gBAAgB;YAehB,eAAe;YAQf,iBAAiB;IAyE/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4D7B;;OAEG;IACH,OAAO,CAAC,cAAc;YASR,iBAAiB;IAyB/B,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,mBAAmB;YAqDb,QAAQ;YAcR,kBAAkB;YASlB,sBAAsB;CAQrC"}
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, templateThresholds) {
40
+ constructor(cxtPath, contentThresholds) {
41
41
  this.cxtPath = cxtPath;
42
42
  // Default thresholds if not provided
43
- this.templateThresholds = templateThresholds || {
44
- well_populated: 30,
45
- mild_warning: 50,
46
- critical: 70
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 for missing required sections
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
- if (this.isMissingRequiredSections(fileName, content)) {
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: 'warning',
107
+ type: 'error',
122
108
  file: fileName,
123
- message: 'Missing required sections',
124
- suggestion: 'Add standard sections for this file type',
125
- autoFixable: true
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
- // Check for template-only content with graduated warnings
130
- // Use configurable thresholds (defaults: 30%, 50%, 70%)
131
- const WELL_POPULATED_THRESHOLD = this.templateThresholds.well_populated;
132
- const MILD_WARNING_THRESHOLD = this.templateThresholds.mild_warning;
133
- const CRITICAL_THRESHOLD = this.templateThresholds.critical;
134
- for (const [fileName, content] of contextFiles) {
135
- const templateInfo = this.getTemplatePercentage(content);
136
- const percentage = templateInfo.percentage;
137
- // Only create issues if template percentage is above well-populated threshold
138
- if (percentage > WELL_POPULATED_THRESHOLD) {
139
- const filePurpose = this.getFilePurpose(fileName);
140
- if (percentage >= CRITICAL_THRESHOLD || templateInfo.isTemplateOnly) {
141
- // Critical: 70%+ template or marked as template-only
142
- issues.push({
143
- type: 'error',
144
- file: fileName,
145
- message: `File contains ${percentage}% template/placeholder content`,
146
- suggestion: `This file needs significant content. Consider populating ${fileName} with ${filePurpose}. The file contains helpful guidance comments explaining what to fill in.`,
147
- autoFixable: false
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
- else if (content.trim().length < 100 && percentage <= WELL_POPULATED_THRESHOLD) {
172
- // Only warn about empty files if they're not already flagged for template content
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: 'File appears to be mostly empty',
177
- suggestion: 'Add content to properly document this aspect. See the guidance comments in the file for what to include.',
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
- * Calculate template percentage and determine if content is template-only
149
+ * Analyze content quality - detect empty, short, or populated content
186
150
  */
187
- getTemplatePercentage(content) {
151
+ analyzeContentQuality(content, fileName) {
188
152
  if (!content || content.trim().length === 0) {
189
- return { percentage: 100, isTemplateOnly: true };
153
+ return { status: 'empty', contentLength: 0, contentLines: 0 };
190
154
  }
191
155
  const lines = content.split('\n');
192
- let templateChars = 0;
193
- let totalChars = 0;
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; // Skip empty lines
176
+ continue;
199
177
  }
200
- totalChars += line.length;
201
- // Check if line is template/guidance content
202
- const isTemplateLine = trimmed.startsWith('<!--') ||
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
- if (isTemplateLine) {
209
- templateChars += line.length;
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
- // Calculate percentage
213
- const percentage = totalChars > 0
214
- ? Math.round((templateChars / totalChars) * 100)
215
- : 100;
216
- // Check for very little actual content
217
- const contentLines = lines.filter(line => {
218
- const trimmed = line.trim();
219
- return trimmed.length > 0 &&
220
- !trimmed.startsWith('<!--') &&
221
- !trimmed.startsWith('*') &&
222
- !trimmed.startsWith('#') &&
223
- trimmed !== '-->' &&
224
- !trimmed.includes('GUIDANCE:') &&
225
- !trimmed.includes('TIP:') &&
226
- !trimmed.includes('Example:');
227
- });
228
- // Determine if template-only using configurable critical threshold
229
- // Also consider template-only if very few content lines
230
- const isTemplateOnly = percentage >= this.templateThresholds.critical || (contentLines.length <= 3 && percentage > this.templateThresholds.well_populated);
231
- return { percentage, isTemplateOnly };
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
- return percentage > this.templateThresholds.well_populated;
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.10",
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": "AGPL-3.0",
53
+ "license": "MIT",
54
54
  "engines": {
55
55
  "node": ">=18.0.0"
56
56
  },