k0ntext 3.3.0 → 3.5.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.
Files changed (200) hide show
  1. package/README.md +240 -26
  2. package/dist/agents/cleanup-agent.d.ts.map +1 -1
  3. package/dist/agents/cleanup-agent.js +18 -6
  4. package/dist/agents/cleanup-agent.js.map +1 -1
  5. package/dist/agents/drift-agent.d.ts +7 -0
  6. package/dist/agents/drift-agent.d.ts.map +1 -1
  7. package/dist/agents/drift-agent.js +29 -8
  8. package/dist/agents/drift-agent.js.map +1 -1
  9. package/dist/cli/commands/cleanup.d.ts.map +1 -1
  10. package/dist/cli/commands/cleanup.js +8 -1
  11. package/dist/cli/commands/cleanup.js.map +1 -1
  12. package/dist/cli/commands/drift-detect.d.ts.map +1 -1
  13. package/dist/cli/commands/drift-detect.js +21 -1
  14. package/dist/cli/commands/drift-detect.js.map +1 -1
  15. package/dist/cli/commands/restore.d.ts +12 -0
  16. package/dist/cli/commands/restore.d.ts.map +1 -0
  17. package/dist/cli/commands/restore.js +261 -0
  18. package/dist/cli/commands/restore.js.map +1 -0
  19. package/dist/cli/commands/sync-templates.d.ts +15 -0
  20. package/dist/cli/commands/sync-templates.d.ts.map +1 -0
  21. package/dist/cli/commands/sync-templates.js +181 -0
  22. package/dist/cli/commands/sync-templates.js.map +1 -0
  23. package/dist/cli/commands/version-check.d.ts +12 -0
  24. package/dist/cli/commands/version-check.d.ts.map +1 -0
  25. package/dist/cli/commands/version-check.js +133 -0
  26. package/dist/cli/commands/version-check.js.map +1 -0
  27. package/dist/cli/generate.d.ts +5 -0
  28. package/dist/cli/generate.d.ts.map +1 -1
  29. package/dist/cli/generate.js +80 -16
  30. package/dist/cli/generate.js.map +1 -1
  31. package/dist/cli/index.js +145 -1
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/repl/index.d.ts +4 -0
  34. package/dist/cli/repl/index.d.ts.map +1 -1
  35. package/dist/cli/repl/index.js +113 -95
  36. package/dist/cli/repl/index.js.map +1 -1
  37. package/dist/cli/repl/tui/panels/config.d.ts +71 -0
  38. package/dist/cli/repl/tui/panels/config.d.ts.map +1 -0
  39. package/dist/cli/repl/tui/panels/config.js +392 -0
  40. package/dist/cli/repl/tui/panels/config.js.map +1 -0
  41. package/dist/cli/repl/tui/panels/drift.d.ts +95 -0
  42. package/dist/cli/repl/tui/panels/drift.d.ts.map +1 -0
  43. package/dist/cli/repl/tui/panels/drift.js +353 -0
  44. package/dist/cli/repl/tui/panels/drift.js.map +1 -0
  45. package/dist/cli/repl/tui/panels/indexing.d.ts +86 -0
  46. package/dist/cli/repl/tui/panels/indexing.d.ts.map +1 -0
  47. package/dist/cli/repl/tui/panels/indexing.js +254 -0
  48. package/dist/cli/repl/tui/panels/indexing.js.map +1 -0
  49. package/dist/cli/repl/tui/panels/search.d.ts +66 -0
  50. package/dist/cli/repl/tui/panels/search.d.ts.map +1 -0
  51. package/dist/cli/repl/tui/panels/search.js +215 -0
  52. package/dist/cli/repl/tui/panels/search.js.map +1 -0
  53. package/dist/cli/utils/backup-manager.d.ts +94 -0
  54. package/dist/cli/utils/backup-manager.d.ts.map +1 -0
  55. package/dist/cli/utils/backup-manager.js +230 -0
  56. package/dist/cli/utils/backup-manager.js.map +1 -0
  57. package/dist/cli/utils/file-detector.d.ts +87 -0
  58. package/dist/cli/utils/file-detector.d.ts.map +1 -0
  59. package/dist/cli/utils/file-detector.js +131 -0
  60. package/dist/cli/utils/file-detector.js.map +1 -0
  61. package/dist/cli/utils/index.d.ts +9 -0
  62. package/dist/cli/utils/index.d.ts.map +1 -0
  63. package/dist/cli/utils/index.js +9 -0
  64. package/dist/cli/utils/index.js.map +1 -0
  65. package/dist/cli/utils/modification-prompt.d.ts +41 -0
  66. package/dist/cli/utils/modification-prompt.d.ts.map +1 -0
  67. package/dist/cli/utils/modification-prompt.js +84 -0
  68. package/dist/cli/utils/modification-prompt.js.map +1 -0
  69. package/dist/cli/version/checker.d.ts +47 -0
  70. package/dist/cli/version/checker.d.ts.map +1 -0
  71. package/dist/cli/version/checker.js +143 -0
  72. package/dist/cli/version/checker.js.map +1 -0
  73. package/dist/cli/version/comparator.d.ts +46 -0
  74. package/dist/cli/version/comparator.d.ts.map +1 -0
  75. package/dist/cli/version/comparator.js +99 -0
  76. package/dist/cli/version/comparator.js.map +1 -0
  77. package/dist/cli/version/index.d.ts +11 -0
  78. package/dist/cli/version/index.d.ts.map +1 -0
  79. package/dist/cli/version/index.js +11 -0
  80. package/dist/cli/version/index.js.map +1 -0
  81. package/dist/cli/version/parser.d.ts +38 -0
  82. package/dist/cli/version/parser.d.ts.map +1 -0
  83. package/dist/cli/version/parser.js +90 -0
  84. package/dist/cli/version/parser.js.map +1 -0
  85. package/dist/cli/version/prompt.d.ts +40 -0
  86. package/dist/cli/version/prompt.d.ts.map +1 -0
  87. package/dist/cli/version/prompt.js +162 -0
  88. package/dist/cli/version/prompt.js.map +1 -0
  89. package/dist/cli/version/types.d.ts +89 -0
  90. package/dist/cli/version/types.d.ts.map +1 -0
  91. package/dist/cli/version/types.js +7 -0
  92. package/dist/cli/version/types.js.map +1 -0
  93. package/dist/db/client.d.ts +64 -2
  94. package/dist/db/client.d.ts.map +1 -1
  95. package/dist/db/client.js +148 -2
  96. package/dist/db/client.js.map +1 -1
  97. package/dist/db/schema.d.ts +41 -2
  98. package/dist/db/schema.d.ts.map +1 -1
  99. package/dist/db/schema.js +77 -2
  100. package/dist/db/schema.js.map +1 -1
  101. package/dist/mcp.js +2 -2
  102. package/dist/mcp.js.map +1 -1
  103. package/dist/template-engine/data-transformer.d.ts +17 -0
  104. package/dist/template-engine/data-transformer.d.ts.map +1 -0
  105. package/dist/template-engine/data-transformer.js +343 -0
  106. package/dist/template-engine/data-transformer.js.map +1 -0
  107. package/dist/template-engine/engine.d.ts +74 -0
  108. package/dist/template-engine/engine.d.ts.map +1 -0
  109. package/dist/template-engine/engine.js +183 -0
  110. package/dist/template-engine/engine.js.map +1 -0
  111. package/dist/template-engine/helpers.d.ts +81 -0
  112. package/dist/template-engine/helpers.d.ts.map +1 -0
  113. package/dist/template-engine/helpers.js +153 -0
  114. package/dist/template-engine/helpers.js.map +1 -0
  115. package/dist/template-engine/index.d.ts +10 -0
  116. package/dist/template-engine/index.d.ts.map +1 -0
  117. package/dist/template-engine/index.js +10 -0
  118. package/dist/template-engine/index.js.map +1 -0
  119. package/dist/template-engine/types.d.ts +147 -0
  120. package/dist/template-engine/types.d.ts.map +1 -0
  121. package/dist/template-engine/types.js +7 -0
  122. package/dist/template-engine/types.js.map +1 -0
  123. package/dist/template-sync/comparator.d.ts +138 -0
  124. package/dist/template-sync/comparator.d.ts.map +1 -0
  125. package/dist/template-sync/comparator.js +353 -0
  126. package/dist/template-sync/comparator.js.map +1 -0
  127. package/dist/template-sync/conflict-resolver.d.ts +112 -0
  128. package/dist/template-sync/conflict-resolver.d.ts.map +1 -0
  129. package/dist/template-sync/conflict-resolver.js +328 -0
  130. package/dist/template-sync/conflict-resolver.js.map +1 -0
  131. package/dist/template-sync/engine.d.ts +93 -0
  132. package/dist/template-sync/engine.d.ts.map +1 -0
  133. package/dist/template-sync/engine.js +350 -0
  134. package/dist/template-sync/engine.js.map +1 -0
  135. package/dist/template-sync/hasher.d.ts +67 -0
  136. package/dist/template-sync/hasher.d.ts.map +1 -0
  137. package/dist/template-sync/hasher.js +94 -0
  138. package/dist/template-sync/hasher.js.map +1 -0
  139. package/dist/template-sync/index.d.ts +20 -0
  140. package/dist/template-sync/index.d.ts.map +1 -0
  141. package/dist/template-sync/index.js +14 -0
  142. package/dist/template-sync/index.js.map +1 -0
  143. package/dist/template-sync/manifest.d.ts +131 -0
  144. package/dist/template-sync/manifest.d.ts.map +1 -0
  145. package/dist/template-sync/manifest.js +309 -0
  146. package/dist/template-sync/manifest.js.map +1 -0
  147. package/dist/template-sync/merger.d.ts +125 -0
  148. package/dist/template-sync/merger.d.ts.map +1 -0
  149. package/dist/template-sync/merger.js +371 -0
  150. package/dist/template-sync/merger.js.map +1 -0
  151. package/dist/template-sync/scanner.d.ts +106 -0
  152. package/dist/template-sync/scanner.d.ts.map +1 -0
  153. package/dist/template-sync/scanner.js +196 -0
  154. package/dist/template-sync/scanner.js.map +1 -0
  155. package/dist/template-sync/types.d.ts +199 -0
  156. package/dist/template-sync/types.d.ts.map +1 -0
  157. package/dist/template-sync/types.js +30 -0
  158. package/dist/template-sync/types.js.map +1 -0
  159. package/package.json +2 -1
  160. package/src/agents/cleanup-agent.ts +21 -6
  161. package/src/agents/drift-agent.ts +31 -8
  162. package/src/cli/commands/cleanup.ts +9 -1
  163. package/src/cli/commands/drift-detect.ts +24 -1
  164. package/src/cli/commands/restore.ts +318 -0
  165. package/src/cli/commands/sync-templates.ts +210 -0
  166. package/src/cli/commands/version-check.ts +158 -0
  167. package/src/cli/generate.ts +99 -17
  168. package/src/cli/index.ts +167 -1
  169. package/src/cli/repl/index.ts +118 -105
  170. package/src/cli/repl/tui/panels/config.ts +457 -0
  171. package/src/cli/repl/tui/panels/drift.ts +458 -0
  172. package/src/cli/repl/tui/panels/indexing.ts +324 -0
  173. package/src/cli/repl/tui/panels/search.ts +272 -0
  174. package/src/cli/utils/backup-manager.ts +275 -0
  175. package/src/cli/utils/file-detector.ts +181 -0
  176. package/src/cli/utils/index.ts +9 -0
  177. package/src/cli/utils/modification-prompt.ts +112 -0
  178. package/src/cli/version/checker.ts +172 -0
  179. package/src/cli/version/comparator.ts +106 -0
  180. package/src/cli/version/index.ts +11 -0
  181. package/src/cli/version/parser.ts +101 -0
  182. package/src/cli/version/prompt.ts +208 -0
  183. package/src/cli/version/types.ts +95 -0
  184. package/src/db/client.ts +220 -3
  185. package/src/db/schema.ts +109 -2
  186. package/src/mcp.ts +2 -2
  187. package/src/template-engine/data-transformer.ts +367 -0
  188. package/src/template-engine/engine.ts +213 -0
  189. package/src/template-engine/helpers.ts +163 -0
  190. package/src/template-engine/index.ts +10 -0
  191. package/src/template-engine/types.ts +158 -0
  192. package/src/template-sync/comparator.ts +452 -0
  193. package/src/template-sync/conflict-resolver.ts +401 -0
  194. package/src/template-sync/engine.ts +417 -0
  195. package/src/template-sync/hasher.ts +104 -0
  196. package/src/template-sync/index.ts +60 -0
  197. package/src/template-sync/manifest.ts +358 -0
  198. package/src/template-sync/merger.ts +454 -0
  199. package/src/template-sync/scanner.ts +254 -0
  200. package/src/template-sync/types.ts +247 -0
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Template Helpers
3
+ *
4
+ * Custom Handlebars helpers for template rendering.
5
+ */
6
+ import type { HelperDelegate } from 'handlebars';
7
+ /**
8
+ * Join array elements with a separator
9
+ */
10
+ export declare const join: HelperDelegate;
11
+ /**
12
+ * Get first N elements of an array
13
+ */
14
+ export declare const first: HelperDelegate;
15
+ /**
16
+ * Truncate a string to a maximum length
17
+ */
18
+ export declare const truncate: HelperDelegate;
19
+ /**
20
+ * Slugify a string (convert to URL-friendly format)
21
+ */
22
+ export declare const slugify: HelperDelegate;
23
+ /**
24
+ * Format a date
25
+ */
26
+ export declare const formatDate: HelperDelegate;
27
+ /**
28
+ * Conditional equality check
29
+ */
30
+ export declare const eq: HelperDelegate;
31
+ /**
32
+ * Conditional inequality check
33
+ */
34
+ export declare const ne: HelperDelegate;
35
+ /**
36
+ * Logical AND
37
+ */
38
+ export declare const and: HelperDelegate;
39
+ /**
40
+ * Logical OR
41
+ */
42
+ export declare const or: HelperDelegate;
43
+ /**
44
+ * Default value if undefined/null
45
+ */
46
+ export declare const defaults: HelperDelegate;
47
+ /**
48
+ * JSON stringify
49
+ */
50
+ export declare const json: HelperDelegate;
51
+ /**
52
+ * Get object keys
53
+ */
54
+ export declare const keys: HelperDelegate;
55
+ /**
56
+ * Get object values
57
+ */
58
+ export declare const values: HelperDelegate;
59
+ /**
60
+ * Register all helpers with a Handlebars instance
61
+ */
62
+ export declare function registerHelpers(Handlebars: any): void;
63
+ /**
64
+ * Export helpers as an object for external use
65
+ */
66
+ export declare const helpers: {
67
+ join: HelperDelegate;
68
+ first: HelperDelegate;
69
+ truncate: HelperDelegate;
70
+ slugify: HelperDelegate;
71
+ formatDate: HelperDelegate;
72
+ eq: HelperDelegate;
73
+ ne: HelperDelegate;
74
+ and: HelperDelegate;
75
+ or: HelperDelegate;
76
+ defaults: HelperDelegate;
77
+ json: HelperDelegate;
78
+ keys: HelperDelegate;
79
+ values: HelperDelegate;
80
+ };
81
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/template-engine/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,cAGlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,cAGnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,cAItB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,cAMrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,cAiBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,cAEhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,cAEhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,cAIjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,EAAE,EAAE,cAIhB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,cAEtB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,cAElB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,cAElB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,cAEpB,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAcrD;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;CAcnB,CAAC"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Template Helpers
3
+ *
4
+ * Custom Handlebars helpers for template rendering.
5
+ */
6
+ /**
7
+ * Join array elements with a separator
8
+ */
9
+ export const join = function (array, separator = ', ') {
10
+ if (!Array.isArray(array))
11
+ return '';
12
+ return array.filter(Boolean).join(separator);
13
+ };
14
+ /**
15
+ * Get first N elements of an array
16
+ */
17
+ export const first = function (array, n = 1) {
18
+ if (!Array.isArray(array))
19
+ return [];
20
+ return array.slice(0, n);
21
+ };
22
+ /**
23
+ * Truncate a string to a maximum length
24
+ */
25
+ export const truncate = function (str, len = 50, suffix = '...') {
26
+ if (typeof str !== 'string')
27
+ return '';
28
+ if (str.length <= len)
29
+ return str;
30
+ return str.slice(0, len) + suffix;
31
+ };
32
+ /**
33
+ * Slugify a string (convert to URL-friendly format)
34
+ */
35
+ export const slugify = function (str) {
36
+ if (typeof str !== 'string')
37
+ return '';
38
+ return str
39
+ .toLowerCase()
40
+ .replace(/[^a-z0-9]+/g, '-')
41
+ .replace(/^-+|-+$/g, '');
42
+ };
43
+ /**
44
+ * Format a date
45
+ */
46
+ export const formatDate = function (date, format = 'ISO') {
47
+ if (!date)
48
+ return '';
49
+ const d = typeof date === 'string' ? new Date(date) : date;
50
+ if (isNaN(d.getTime()))
51
+ return '';
52
+ switch (format) {
53
+ case 'ISO':
54
+ return d.toISOString();
55
+ case 'locale':
56
+ return d.toLocaleDateString();
57
+ case 'time':
58
+ return d.toLocaleTimeString();
59
+ case 'short':
60
+ return d.toLocaleDateString(undefined, { year: 'numeric', month: 'short', day: 'numeric' });
61
+ default:
62
+ return d.toISOString();
63
+ }
64
+ };
65
+ /**
66
+ * Conditional equality check
67
+ */
68
+ export const eq = function (a, b, options) {
69
+ return a === b ? options.fn(this) : options.inverse(this);
70
+ };
71
+ /**
72
+ * Conditional inequality check
73
+ */
74
+ export const ne = function (a, b, options) {
75
+ return a !== b ? options.fn(this) : options.inverse(this);
76
+ };
77
+ /**
78
+ * Logical AND
79
+ */
80
+ export const and = function (...args) {
81
+ const options = args[args.length - 1];
82
+ const values = args.slice(0, -1);
83
+ return values.every(v => Boolean(v)) ? options.fn(this) : options.inverse(this);
84
+ };
85
+ /**
86
+ * Logical OR
87
+ */
88
+ export const or = function (...args) {
89
+ const options = args[args.length - 1];
90
+ const values = args.slice(0, -1);
91
+ return values.some(v => Boolean(v)) ? options.fn(this) : options.inverse(this);
92
+ };
93
+ /**
94
+ * Default value if undefined/null
95
+ */
96
+ export const defaults = function (value, defaultValue) {
97
+ return value !== null && value !== undefined ? value : defaultValue;
98
+ };
99
+ /**
100
+ * JSON stringify
101
+ */
102
+ export const json = function (obj, spaces = 2) {
103
+ return JSON.stringify(obj, null, spaces);
104
+ };
105
+ /**
106
+ * Get object keys
107
+ */
108
+ export const keys = function (obj) {
109
+ return Object.keys(obj || {});
110
+ };
111
+ /**
112
+ * Get object values
113
+ */
114
+ export const values = function (obj) {
115
+ return Object.values(obj || {});
116
+ };
117
+ /**
118
+ * Register all helpers with a Handlebars instance
119
+ */
120
+ export function registerHelpers(Handlebars) {
121
+ Handlebars.registerHelper('join', join);
122
+ Handlebars.registerHelper('first', first);
123
+ Handlebars.registerHelper('truncate', truncate);
124
+ Handlebars.registerHelper('slugify', slugify);
125
+ Handlebars.registerHelper('formatDate', formatDate);
126
+ Handlebars.registerHelper('eq', eq);
127
+ Handlebars.registerHelper('ne', ne);
128
+ Handlebars.registerHelper('and', and);
129
+ Handlebars.registerHelper('or', or);
130
+ Handlebars.registerHelper('defaults', defaults);
131
+ Handlebars.registerHelper('json', json);
132
+ Handlebars.registerHelper('keys', keys);
133
+ Handlebars.registerHelper('values', values);
134
+ }
135
+ /**
136
+ * Export helpers as an object for external use
137
+ */
138
+ export const helpers = {
139
+ join,
140
+ first,
141
+ truncate,
142
+ slugify,
143
+ formatDate,
144
+ eq,
145
+ ne,
146
+ and,
147
+ or,
148
+ defaults,
149
+ json,
150
+ keys,
151
+ values
152
+ };
153
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/template-engine/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Template Engine Module
3
+ *
4
+ * Exports all template engine functionality.
5
+ */
6
+ export * from './types.js';
7
+ export * from './helpers.js';
8
+ export * from './data-transformer.js';
9
+ export * from './engine.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/template-engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Template Engine Module
3
+ *
4
+ * Exports all template engine functionality.
5
+ */
6
+ export * from './types.js';
7
+ export * from './helpers.js';
8
+ export * from './data-transformer.js';
9
+ export * from './engine.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/template-engine/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Template Engine Types
3
+ *
4
+ * Type definitions for template data and rendering.
5
+ */
6
+ /**
7
+ * Project metadata for templates
8
+ */
9
+ export interface ProjectTemplateData {
10
+ name: string;
11
+ description?: string;
12
+ type?: string;
13
+ tech_stack: string[];
14
+ primary_language?: string;
15
+ version?: string;
16
+ }
17
+ /**
18
+ * Architecture information
19
+ */
20
+ export interface ArchitectureTemplateData {
21
+ pattern?: string;
22
+ layers?: LayerInfo[];
23
+ key_modules?: string[];
24
+ integrations?: string[];
25
+ }
26
+ /**
27
+ * Layer information
28
+ */
29
+ export interface LayerInfo {
30
+ name: string;
31
+ path: string;
32
+ purpose?: string;
33
+ }
34
+ /**
35
+ * Key files information
36
+ */
37
+ export interface KeyFilesTemplateData {
38
+ entry_points?: string[];
39
+ api_routes?: string[];
40
+ config?: string[];
41
+ tests?: string[];
42
+ }
43
+ /**
44
+ * Commands information
45
+ */
46
+ export interface CommandsTemplateData {
47
+ install?: string;
48
+ dev?: string;
49
+ test?: string;
50
+ build?: string;
51
+ lint?: string;
52
+ clean?: string;
53
+ [key: string]: string | undefined;
54
+ }
55
+ /**
56
+ * Workflow information for templates
57
+ */
58
+ export interface WorkflowTemplateData {
59
+ name: string;
60
+ category?: string;
61
+ complexity?: string;
62
+ description?: string;
63
+ entry_points?: Array<{
64
+ endpoint: string;
65
+ file: string;
66
+ line?: number;
67
+ method?: string;
68
+ }>;
69
+ files?: string[];
70
+ steps?: string[];
71
+ }
72
+ /**
73
+ * Gotcha information
74
+ */
75
+ export interface GotchaTemplateData {
76
+ title?: string;
77
+ description: string;
78
+ severity?: 'low' | 'medium' | 'high' | 'critical';
79
+ location?: string;
80
+ }
81
+ /**
82
+ * Environment variables information
83
+ */
84
+ export interface EnvironmentTemplateData {
85
+ required?: string[];
86
+ optional?: string[];
87
+ }
88
+ /**
89
+ * Coordination/footer information
90
+ */
91
+ export interface CoordinationTemplateData {
92
+ footer?: string;
93
+ version?: string;
94
+ timestamp?: string;
95
+ }
96
+ /**
97
+ * Complete template data model
98
+ */
99
+ export interface TemplateData {
100
+ /** Project metadata */
101
+ project: ProjectTemplateData;
102
+ /** Architecture information */
103
+ architecture: ArchitectureTemplateData;
104
+ /** Key files */
105
+ key_files: KeyFilesTemplateData;
106
+ /** Development commands */
107
+ commands: CommandsTemplateData;
108
+ /** Workflows */
109
+ workflows: WorkflowTemplateData[];
110
+ /** Gotchas / critical gotchas */
111
+ gotchas?: GotchaTemplateData[];
112
+ /** Critical constraints */
113
+ critical_constraints?: string[];
114
+ /** Environment variables */
115
+ environment?: EnvironmentTemplateData;
116
+ /** Metadata */
117
+ metadata: {
118
+ generator_version: string;
119
+ timestamp: string;
120
+ header?: string;
121
+ };
122
+ /** Coordination/footer */
123
+ coordination?: CoordinationTemplateData;
124
+ }
125
+ /**
126
+ * Template rendering options
127
+ */
128
+ export interface TemplateRenderOptions {
129
+ /** Template name (e.g., 'claude', 'copilot') */
130
+ template: string;
131
+ /** Whether to use partials */
132
+ usePartials?: boolean;
133
+ /** Custom data to merge */
134
+ customData?: Partial<TemplateData>;
135
+ }
136
+ /**
137
+ * Template render result
138
+ */
139
+ export interface TemplateRenderResult {
140
+ /** Rendered content */
141
+ content: string;
142
+ /** Template used */
143
+ template: string;
144
+ /** Bytes written */
145
+ bytes: number;
146
+ }
147
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/template-engine/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Template Engine Types
3
+ *
4
+ * Type definitions for template data and rendering.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/template-engine/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,138 @@
1
+ /**
2
+ * Template Comparator
3
+ *
4
+ * Compares template files with local files to detect changes.
5
+ * Determines file state: identical, safe-update, conflict, new, deleted, user-only.
6
+ */
7
+ import type { DatabaseClient } from '../db/client.js';
8
+ import type { FileComparison, FileState, TemplateSubdir } from './types.js';
9
+ /**
10
+ * Comparison options
11
+ */
12
+ export interface ComparisonOptions {
13
+ /** Subdirectories to compare (default: all) */
14
+ subdirectories?: TemplateSubdir[];
15
+ /** Whether to check user modifications from manifest */
16
+ checkUserModifications?: boolean;
17
+ /** Verbose output */
18
+ verbose?: boolean;
19
+ }
20
+ /**
21
+ * Comparison result with metadata
22
+ */
23
+ export interface ComparisonResult {
24
+ /** File comparisons */
25
+ comparisons: FileComparison[];
26
+ /** Count by state */
27
+ counts: Record<FileState, number>;
28
+ /** Total files compared */
29
+ total: number;
30
+ /** Duration in milliseconds */
31
+ durationMs: number;
32
+ }
33
+ /**
34
+ * Compares template versions to detect changes
35
+ */
36
+ export declare class TemplateComparator {
37
+ private db;
38
+ private projectRoot;
39
+ private templateRoot;
40
+ private manifestManager;
41
+ private verbose;
42
+ constructor(db: DatabaseClient, projectRoot: string | undefined, templateRoot: string, verbose?: boolean);
43
+ /**
44
+ * Compare template files with local files
45
+ *
46
+ * @param options - Comparison options
47
+ * @returns Array of file comparisons
48
+ */
49
+ compare(options?: ComparisonOptions): Promise<ComparisonResult>;
50
+ /**
51
+ * Scan local files in .claude/
52
+ *
53
+ * @param localBasePath - Base path to .claude/
54
+ * @param subdirectories - Subdirectories to scan
55
+ * @returns Map of relative path to hash
56
+ */
57
+ private scanLocalFiles;
58
+ /**
59
+ * Recursively scan local files within a subdirectory
60
+ */
61
+ private scanLocalFilesRecursive;
62
+ /**
63
+ * Check if a file should be excluded from scanning
64
+ */
65
+ private shouldExcludeFile;
66
+ /**
67
+ * Build comparison results
68
+ *
69
+ * @param templateFiles - Files from templates/base/.claude/
70
+ * @param localFiles - Files from local .claude/
71
+ * @param manifest - Template manifest
72
+ * @param templateBasePath - Template base path
73
+ * @param localBasePath - Local base path
74
+ * @returns Array of file comparisons
75
+ */
76
+ private buildComparisons;
77
+ /**
78
+ * Compare a single file
79
+ *
80
+ * @param templateFile - Template file metadata
81
+ * @param localHash - Local file hash (if exists)
82
+ * @param localExists - Whether local file exists
83
+ * @param manifestEntry - Manifest entry (if any)
84
+ * @returns File comparison
85
+ */
86
+ private compareFile;
87
+ /**
88
+ * Count comparisons by state
89
+ *
90
+ * @param comparisons - Array of comparisons
91
+ * @returns Record of state to count
92
+ */
93
+ private countByState;
94
+ /**
95
+ * Filter comparisons by state
96
+ *
97
+ * @param comparisons - Array of comparisons
98
+ * @param states - States to include
99
+ * @returns Filtered comparisons
100
+ */
101
+ static filterByState(comparisons: FileComparison[], states: FileState[]): FileComparison[];
102
+ /**
103
+ * Get comparisons needing action
104
+ *
105
+ * @param comparisons - Array of comparisons
106
+ * @returns Comparisons that need user action or update
107
+ */
108
+ static getActionableComparisons(comparisons: FileComparison[]): FileComparison[];
109
+ /**
110
+ * Get comparisons with conflicts
111
+ *
112
+ * @param comparisons - Array of comparisons
113
+ * @returns Comparisons with conflicts
114
+ */
115
+ static getConflicts(comparisons: FileComparison[]): FileComparison[];
116
+ /**
117
+ * Get safe updates
118
+ *
119
+ * @param comparisons - Array of comparisons
120
+ * @returns Comparisons that can be safely updated
121
+ */
122
+ static getSafeUpdates(comparisons: FileComparison[]): FileComparison[];
123
+ /**
124
+ * Format comparison for display
125
+ *
126
+ * @param comparison - File comparison
127
+ * @returns Formatted string
128
+ */
129
+ static formatComparison(comparison: FileComparison): string;
130
+ /**
131
+ * Generate summary text for comparison results
132
+ *
133
+ * @param result - Comparison result
134
+ * @returns Formatted summary
135
+ */
136
+ static generateSummary(result: ComparisonResult): string;
137
+ }
138
+ //# sourceMappingURL=comparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../src/template-sync/comparator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAgB,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE7G;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+CAA+C;IAC/C,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClC,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAK3B,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IANtB,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,OAAO,CAAkB;gBAGvB,EAAE,EAAE,cAAc,EAClB,WAAW,EAAE,MAAM,YAAgB,EACnC,YAAY,EAAE,MAAM,EAC5B,OAAO,GAAE,OAAe;IAM1B;;;;;OAKG;IACG,OAAO,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuCzE;;;;;;OAMG;YACW,cAAc;IAmE5B;;OAEG;YACW,uBAAuB;IA+BrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;;;;;;OASG;YACW,gBAAgB;IA0C9B;;;;;;;;OAQG;YACW,WAAW;IAuDzB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE;IAI1F;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAQhF;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAIpE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAItE;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,MAAM;IAgB3D;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM;CAczD"}