codehere 0.1.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 (159) hide show
  1. package/ARCHITECTURE.md +240 -0
  2. package/CHANGELOG.md +44 -0
  3. package/CONTRIBUTING.md +171 -0
  4. package/LICENSE +22 -0
  5. package/README.md +203 -0
  6. package/dist/ast-parser.d.ts +55 -0
  7. package/dist/ast-parser.d.ts.map +1 -0
  8. package/dist/ast-parser.js +331 -0
  9. package/dist/ast-parser.js.map +1 -0
  10. package/dist/benchmark.d.ts +39 -0
  11. package/dist/benchmark.d.ts.map +1 -0
  12. package/dist/benchmark.js +195 -0
  13. package/dist/benchmark.js.map +1 -0
  14. package/dist/cache.d.ts +45 -0
  15. package/dist/cache.d.ts.map +1 -0
  16. package/dist/cache.js +182 -0
  17. package/dist/cache.js.map +1 -0
  18. package/dist/chat.d.ts +4 -0
  19. package/dist/chat.d.ts.map +1 -0
  20. package/dist/chat.js +132 -0
  21. package/dist/chat.js.map +1 -0
  22. package/dist/code-analysis.d.ts +50 -0
  23. package/dist/code-analysis.d.ts.map +1 -0
  24. package/dist/code-analysis.js +327 -0
  25. package/dist/code-analysis.js.map +1 -0
  26. package/dist/context.d.ts +44 -0
  27. package/dist/context.d.ts.map +1 -0
  28. package/dist/context.js +187 -0
  29. package/dist/context.js.map +1 -0
  30. package/dist/docs.d.ts +21 -0
  31. package/dist/docs.d.ts.map +1 -0
  32. package/dist/docs.js +147 -0
  33. package/dist/docs.js.map +1 -0
  34. package/dist/edit.d.ts +38 -0
  35. package/dist/edit.d.ts.map +1 -0
  36. package/dist/edit.js +594 -0
  37. package/dist/edit.js.map +1 -0
  38. package/dist/embed.d.ts +18 -0
  39. package/dist/embed.d.ts.map +1 -0
  40. package/dist/embed.js +479 -0
  41. package/dist/embed.js.map +1 -0
  42. package/dist/error-handler.d.ts +76 -0
  43. package/dist/error-handler.d.ts.map +1 -0
  44. package/dist/error-handler.js +213 -0
  45. package/dist/error-handler.js.map +1 -0
  46. package/dist/formatter.d.ts +25 -0
  47. package/dist/formatter.d.ts.map +1 -0
  48. package/dist/formatter.js +148 -0
  49. package/dist/formatter.js.map +1 -0
  50. package/dist/git.d.ts +55 -0
  51. package/dist/git.d.ts.map +1 -0
  52. package/dist/git.js +198 -0
  53. package/dist/git.js.map +1 -0
  54. package/dist/index.d.ts +3 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +964 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/intelligent-retrieval.d.ts +41 -0
  59. package/dist/intelligent-retrieval.d.ts.map +1 -0
  60. package/dist/intelligent-retrieval.js +265 -0
  61. package/dist/intelligent-retrieval.js.map +1 -0
  62. package/dist/iterative-refinement.d.ts +31 -0
  63. package/dist/iterative-refinement.d.ts.map +1 -0
  64. package/dist/iterative-refinement.js +172 -0
  65. package/dist/iterative-refinement.js.map +1 -0
  66. package/dist/learning.d.ts +69 -0
  67. package/dist/learning.d.ts.map +1 -0
  68. package/dist/learning.js +233 -0
  69. package/dist/learning.js.map +1 -0
  70. package/dist/log.d.ts +4 -0
  71. package/dist/log.d.ts.map +1 -0
  72. package/dist/log.js +31 -0
  73. package/dist/log.js.map +1 -0
  74. package/dist/migrate.d.ts +33 -0
  75. package/dist/migrate.d.ts.map +1 -0
  76. package/dist/migrate.js +133 -0
  77. package/dist/migrate.js.map +1 -0
  78. package/dist/monitoring.d.ts +75 -0
  79. package/dist/monitoring.d.ts.map +1 -0
  80. package/dist/monitoring.js +248 -0
  81. package/dist/monitoring.js.map +1 -0
  82. package/dist/parallel-processor.d.ts +43 -0
  83. package/dist/parallel-processor.d.ts.map +1 -0
  84. package/dist/parallel-processor.js +308 -0
  85. package/dist/parallel-processor.js.map +1 -0
  86. package/dist/planner.d.ts +47 -0
  87. package/dist/planner.d.ts.map +1 -0
  88. package/dist/planner.js +198 -0
  89. package/dist/planner.js.map +1 -0
  90. package/dist/policy.d.ts +3 -0
  91. package/dist/policy.d.ts.map +1 -0
  92. package/dist/policy.js +26 -0
  93. package/dist/policy.js.map +1 -0
  94. package/dist/query-optimizer.d.ts +32 -0
  95. package/dist/query-optimizer.d.ts.map +1 -0
  96. package/dist/query-optimizer.js +205 -0
  97. package/dist/query-optimizer.js.map +1 -0
  98. package/dist/refactor.d.ts +27 -0
  99. package/dist/refactor.d.ts.map +1 -0
  100. package/dist/refactor.js +118 -0
  101. package/dist/refactor.js.map +1 -0
  102. package/dist/review.d.ts +31 -0
  103. package/dist/review.d.ts.map +1 -0
  104. package/dist/review.js +206 -0
  105. package/dist/review.js.map +1 -0
  106. package/dist/scaffold.d.ts +14 -0
  107. package/dist/scaffold.d.ts.map +1 -0
  108. package/dist/scaffold.js +85 -0
  109. package/dist/scaffold.js.map +1 -0
  110. package/dist/search.d.ts +19 -0
  111. package/dist/search.d.ts.map +1 -0
  112. package/dist/search.js +198 -0
  113. package/dist/search.js.map +1 -0
  114. package/dist/session.d.ts +17 -0
  115. package/dist/session.d.ts.map +1 -0
  116. package/dist/session.js +301 -0
  117. package/dist/session.js.map +1 -0
  118. package/dist/task-verification.d.ts +39 -0
  119. package/dist/task-verification.d.ts.map +1 -0
  120. package/dist/task-verification.js +336 -0
  121. package/dist/task-verification.js.map +1 -0
  122. package/dist/test_cohere.d.ts +2 -0
  123. package/dist/test_cohere.d.ts.map +1 -0
  124. package/dist/test_cohere.js +68 -0
  125. package/dist/test_cohere.js.map +1 -0
  126. package/dist/test_env.d.ts +2 -0
  127. package/dist/test_env.d.ts.map +1 -0
  128. package/dist/test_env.js +24 -0
  129. package/dist/test_env.js.map +1 -0
  130. package/dist/test_retrieval.d.ts +2 -0
  131. package/dist/test_retrieval.d.ts.map +1 -0
  132. package/dist/test_retrieval.js +84 -0
  133. package/dist/test_retrieval.js.map +1 -0
  134. package/dist/testgen.d.ts +24 -0
  135. package/dist/testgen.d.ts.map +1 -0
  136. package/dist/testgen.js +167 -0
  137. package/dist/testgen.js.map +1 -0
  138. package/dist/token-optimizer.d.ts +20 -0
  139. package/dist/token-optimizer.d.ts.map +1 -0
  140. package/dist/token-optimizer.js +277 -0
  141. package/dist/token-optimizer.js.map +1 -0
  142. package/dist/types.d.ts +36 -0
  143. package/dist/types.d.ts.map +1 -0
  144. package/dist/types.js +2 -0
  145. package/dist/types.js.map +1 -0
  146. package/dist/ui.d.ts +54 -0
  147. package/dist/ui.d.ts.map +1 -0
  148. package/dist/ui.js +295 -0
  149. package/dist/ui.js.map +1 -0
  150. package/dist/verify_db.d.ts +2 -0
  151. package/dist/verify_db.d.ts.map +1 -0
  152. package/dist/verify_db.js +52 -0
  153. package/dist/verify_db.js.map +1 -0
  154. package/package.json +71 -0
  155. package/templates/next-page/app/layout.tsx +19 -0
  156. package/templates/next-page/app/page.tsx +10 -0
  157. package/templates/next-page/package.json +22 -0
  158. package/templates/node-api/index.js +57 -0
  159. package/templates/node-api/package.json +13 -0
package/dist/ui.js ADDED
@@ -0,0 +1,295 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import cliProgress from 'cli-progress';
4
+ import boxen from 'boxen';
5
+ import Table from 'cli-table3';
6
+ import { existsSync } from 'fs';
7
+ import { join, dirname } from 'path';
8
+ import { fileURLToPath } from 'url';
9
+ // Professional color scheme - subtle and enterprise-ready
10
+ export const colors = {
11
+ success: chalk.green,
12
+ error: chalk.red,
13
+ warning: chalk.yellow,
14
+ info: chalk.blue,
15
+ dim: chalk.dim,
16
+ bold: chalk.bold,
17
+ cyan: chalk.cyan,
18
+ magenta: chalk.magenta,
19
+ yellow: chalk.yellow,
20
+ red: chalk.red,
21
+ green: chalk.green,
22
+ gray: chalk.gray,
23
+ blue: chalk.blue,
24
+ };
25
+ // Professional status symbols (ASCII only - enterprise-ready)
26
+ export const symbols = {
27
+ success: '✓',
28
+ error: '✗',
29
+ warning: '⚠',
30
+ info: '→',
31
+ processing: '⟳',
32
+ arrow: '→',
33
+ dot: '•',
34
+ check: '✓',
35
+ cross: '✗',
36
+ pipe: '│',
37
+ dash: '─',
38
+ plus: '+',
39
+ minus: '-',
40
+ bullet: '•',
41
+ };
42
+ // Spinner helper - minimal text only
43
+ export function createSpinner(text) {
44
+ return ora({
45
+ text: colors.dim(text),
46
+ spinner: 'dots',
47
+ color: 'cyan',
48
+ });
49
+ }
50
+ // Progress bar helper - clean and minimal
51
+ export function createProgressBar(total, format) {
52
+ const bar = new cliProgress.SingleBar({
53
+ format: format || colors.dim('Progress') + ' |{bar}| ' + colors.cyan('{percentage}%') + ' | {value}/{total}',
54
+ barCompleteChar: '\u2588',
55
+ barIncompleteChar: '\u2591',
56
+ hideCursor: true,
57
+ clearOnComplete: true,
58
+ }, cliProgress.Presets.shades_classic);
59
+ bar.start(total, 0);
60
+ return bar;
61
+ }
62
+ // Professional box helper - minimal borders
63
+ export function createBox(content, options) {
64
+ return boxen(content, {
65
+ padding: { top: 0, bottom: 0, left: 1, right: 1 },
66
+ margin: { top: 0, bottom: 1, left: 0, right: 0 },
67
+ borderStyle: 'single',
68
+ borderColor: 'gray',
69
+ ...options,
70
+ });
71
+ }
72
+ // Professional banner - clean and minimal
73
+ export function createBanner(title, subtitle) {
74
+ const width = Math.max(title.length, subtitle?.length || 0) + 4;
75
+ const top = '┌' + '─'.repeat(width - 2) + '┐';
76
+ const bottom = '└' + '─'.repeat(width - 2) + '┘';
77
+ const titleLine = '│ ' + colors.bold(title) + ' '.repeat(width - title.length - 3) + '│';
78
+ let banner = `\n${colors.gray(top)}\n${colors.gray(titleLine)}\n`;
79
+ if (subtitle) {
80
+ const subtitleLine = '│ ' + colors.dim(subtitle) + ' '.repeat(width - subtitle.length - 3) + '│';
81
+ banner += `${colors.gray(subtitleLine)}\n`;
82
+ }
83
+ banner += `${colors.gray(bottom)}\n`;
84
+ return banner;
85
+ }
86
+ // Separator - clean line
87
+ export function separator(char = '─', length = 60) {
88
+ return colors.dim(char.repeat(length));
89
+ }
90
+ // Success message - professional
91
+ export function success(message) {
92
+ return colors.green(symbols.success + ' ' + message);
93
+ }
94
+ // Error message - professional
95
+ export function error(message) {
96
+ return colors.red(symbols.error + ' ' + message);
97
+ }
98
+ // Warning message - professional
99
+ export function warning(message) {
100
+ return colors.yellow(symbols.warning + ' ' + message);
101
+ }
102
+ // Info message - professional
103
+ export function info(message) {
104
+ return colors.blue(symbols.info + ' ' + message);
105
+ }
106
+ // Create professional table - minimal styling
107
+ export function createTable(headers, rows) {
108
+ const table = new Table({
109
+ head: headers.map(h => colors.bold(h)),
110
+ style: {
111
+ head: [],
112
+ border: ['gray'],
113
+ compact: false,
114
+ },
115
+ chars: {
116
+ 'top': '─',
117
+ 'top-mid': '┬',
118
+ 'top-left': '┌',
119
+ 'top-right': '┐',
120
+ 'bottom': '─',
121
+ 'bottom-mid': '┴',
122
+ 'bottom-left': '└',
123
+ 'bottom-right': '┘',
124
+ 'left': '│',
125
+ 'left-mid': '├',
126
+ 'mid': '─',
127
+ 'mid-mid': '┼',
128
+ 'right': '│',
129
+ 'right-mid': '┤',
130
+ 'middle': '│',
131
+ },
132
+ colWidths: headers.map((_, i) => {
133
+ const maxWidth = Math.max(headers[i].length, ...rows.map(row => (row[i] || '').length));
134
+ return Math.min(maxWidth + 2, 50);
135
+ }),
136
+ });
137
+ rows.forEach(row => table.push(row));
138
+ return table;
139
+ }
140
+ // Format file path - subtle
141
+ export function formatPath(path) {
142
+ return colors.cyan(path);
143
+ }
144
+ // Format number - bold
145
+ export function formatNumber(num) {
146
+ return colors.bold(num.toString());
147
+ }
148
+ // Format percentage - subtle
149
+ export function formatPercent(value, total) {
150
+ if (total !== undefined) {
151
+ const percent = Math.round((value / total) * 100);
152
+ return colors.dim(`${percent}%`);
153
+ }
154
+ // If just a percentage value (0-100)
155
+ return colors.dim(`${value.toFixed(1)}%`);
156
+ }
157
+ // Format score (for search results) - color by relevance
158
+ export function formatScore(score) {
159
+ const percent = Math.round(score * 100);
160
+ if (percent >= 50)
161
+ return colors.green(`${percent}%`);
162
+ if (percent >= 30)
163
+ return colors.yellow(`${percent}%`);
164
+ return colors.dim(`${percent}%`);
165
+ }
166
+ // Professional section header
167
+ export function sectionHeader(title) {
168
+ console.log(colors.bold(title));
169
+ console.log(separator());
170
+ }
171
+ // Print empty line
172
+ export function newline(count = 1) {
173
+ for (let i = 0; i < count; i++) {
174
+ console.log();
175
+ }
176
+ }
177
+ // Status indicator
178
+ export function statusIndicator(status) {
179
+ const map = {
180
+ success: colors.green(symbols.success),
181
+ error: colors.red(symbols.error),
182
+ warning: colors.yellow(symbols.warning),
183
+ info: colors.blue(symbols.info),
184
+ processing: colors.cyan(symbols.processing),
185
+ };
186
+ return map[status];
187
+ }
188
+ // Gradient logo for "codehere" - coral → purple → blue
189
+ export function createCodehereLogo() {
190
+ const text = 'codehere';
191
+ const letters = text.split('');
192
+ // Color stops: coral → purple → blue
193
+ // RGB values for smooth gradient
194
+ const colorStops = [
195
+ { r: 255, g: 127, b: 102 }, // coral
196
+ { r: 255, g: 140, b: 120 }, // light coral
197
+ { r: 230, g: 150, b: 180 }, // coral-purple
198
+ { r: 200, g: 160, b: 200 }, // purple
199
+ { r: 180, g: 170, b: 220 }, // light purple
200
+ { r: 150, g: 180, b: 240 }, // purple-blue
201
+ { r: 120, g: 190, b: 255 }, // light blue
202
+ { r: 100, g: 180, b: 255 }, // blue
203
+ ];
204
+ // Map each letter to a color
205
+ const coloredLetters = letters.map((letter, index) => {
206
+ const colorIndex = Math.floor((index / (letters.length - 1)) * (colorStops.length - 1));
207
+ const color = colorStops[colorIndex];
208
+ // Use chalk's rgb for gradient effect
209
+ return chalk.rgb(color.r, color.g, color.b)(letter);
210
+ });
211
+ return coloredLetters.join('');
212
+ }
213
+ // Welcome message with logo
214
+ export function createWelcomeMessage() {
215
+ const logo = createCodehereLogo();
216
+ const version = 'v0.1.0';
217
+ const tagline = 'AI-powered coding assistant';
218
+ return `
219
+ ${colors.bold(logo)} ${colors.dim(version)}
220
+ ${colors.dim(tagline)}
221
+ `;
222
+ }
223
+ // Helper to get visual length (strip ANSI codes)
224
+ function visualLength(str) {
225
+ // Remove ANSI escape codes
226
+ return str.replace(/\u001b\[[0-9;]*m/g, '').length;
227
+ }
228
+ // Enhanced welcome message for interactive session
229
+ export function createSessionWelcome() {
230
+ const logo = createCodehereLogo();
231
+ const version = 'v0.1.0';
232
+ // Check if indexed
233
+ let isIndexed = false;
234
+ try {
235
+ const __filename = fileURLToPath(import.meta.url);
236
+ const __dirname = dirname(__filename);
237
+ const agentDir = join(__dirname, '..');
238
+ const dbPath = join(agentDir, 'data', 'embeddings.sqlite');
239
+ isIndexed = existsSync(dbPath);
240
+ }
241
+ catch {
242
+ // Ignore errors - will default to not indexed
243
+ }
244
+ const width = 54;
245
+ const greeting = 'Hello there, code here!';
246
+ // Use subtle blue-gray for borders (like Claude Code)
247
+ const borderColor = chalk.hex('#6B7280'); // Subtle gray-blue
248
+ // Helper to create a line with proper padding
249
+ const createLine = (content) => {
250
+ const contentVisual = visualLength(content);
251
+ // Total width = left border (2) + content + padding + right border (2)
252
+ // So: width = 2 + contentVisual + padding + 2
253
+ // padding = width - contentVisual - 4
254
+ const padding = Math.max(0, width - contentVisual - 4);
255
+ return borderColor('│ ') + content + ' '.repeat(padding) + borderColor(' │\n');
256
+ };
257
+ // Calculate visual lengths (without ANSI codes)
258
+ const logoVisual = visualLength(logo);
259
+ const versionVisual = visualLength(version);
260
+ let welcomeBox = '';
261
+ welcomeBox += borderColor('┌' + '─'.repeat(width - 2) + '┐\n');
262
+ // Header line with logo and version
263
+ const headerContent = colors.bold(logo) + ' ' + colors.dim(version);
264
+ welcomeBox += createLine(headerContent);
265
+ welcomeBox += borderColor('│') + ' '.repeat(width - 2) + borderColor('│\n');
266
+ // Greeting line
267
+ welcomeBox += createLine(greeting);
268
+ welcomeBox += borderColor('│') + ' '.repeat(width - 2) + borderColor('│\n');
269
+ // Tips section
270
+ const tipsHeader = 'Tips for getting started:';
271
+ welcomeBox += createLine(colors.yellow(tipsHeader));
272
+ if (!isIndexed) {
273
+ const tip1 = ' Run "index" to build your codebase search index';
274
+ welcomeBox += createLine(colors.dim(tip1));
275
+ }
276
+ else {
277
+ const tip1 = ' Try asking: "How does authentication work?"';
278
+ welcomeBox += createLine(colors.dim(tip1));
279
+ }
280
+ const tip2 = ' Type "help" to see all available commands';
281
+ welcomeBox += createLine(colors.dim(tip2));
282
+ welcomeBox += borderColor('│') + ' '.repeat(width - 2) + borderColor('│\n');
283
+ // Quick examples
284
+ const examplesHeader = 'Quick examples:';
285
+ welcomeBox += createLine(colors.cyan(examplesHeader));
286
+ const example1 = ' • explain src/index.ts';
287
+ welcomeBox += createLine(colors.dim(example1));
288
+ const example2 = ' • fix src/utils.js "Add error handling"';
289
+ welcomeBox += createLine(colors.dim(example2));
290
+ const example3 = ' • review src/auth.ts';
291
+ welcomeBox += createLine(colors.dim(example3));
292
+ welcomeBox += borderColor('└' + '─'.repeat(width - 2) + '┘');
293
+ return welcomeBox;
294
+ }
295
+ //# sourceMappingURL=ui.js.map
package/dist/ui.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../src/ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=verify_db.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify_db.d.ts","sourceRoot":"","sources":["../src/verify_db.ts"],"names":[],"mappings":""}
@@ -0,0 +1,52 @@
1
+ import initSqlJs from 'sql.js';
2
+ import { readFileSync, existsSync } from 'fs';
3
+ import { join } from 'path';
4
+ const DB_PATH = join(process.cwd(), 'agent', 'data', 'embeddings.sqlite');
5
+ async function verifyDatabase() {
6
+ if (!existsSync(DB_PATH)) {
7
+ console.error('Database file not found');
8
+ process.exit(1);
9
+ }
10
+ const SQL = await initSqlJs();
11
+ const buffer = readFileSync(DB_PATH);
12
+ const db = new SQL.Database(buffer);
13
+ // Count total chunks
14
+ const countStmt = db.prepare('SELECT COUNT(*) as count FROM embeddings');
15
+ countStmt.step();
16
+ const count = countStmt.getAsObject();
17
+ const totalChunks = count.count;
18
+ countStmt.free();
19
+ // Count unique files
20
+ const filesStmt = db.prepare('SELECT COUNT(DISTINCT filepath) as count FROM embeddings');
21
+ filesStmt.step();
22
+ const files = filesStmt.getAsObject();
23
+ const totalFiles = files.count;
24
+ filesStmt.free();
25
+ // Get sample row
26
+ const sampleStmt = db.prepare('SELECT * FROM embeddings LIMIT 1');
27
+ sampleStmt.step();
28
+ const sample = sampleStmt.getAsObject();
29
+ sampleStmt.free();
30
+ // Parse embedding
31
+ let embeddingLength = 0;
32
+ if (sample.embedding) {
33
+ try {
34
+ const embedding = JSON.parse(sample.embedding);
35
+ embeddingLength = embedding.length;
36
+ }
37
+ catch (e) {
38
+ console.error('Error parsing embedding:', e);
39
+ }
40
+ }
41
+ console.log('Database Verification:');
42
+ console.log(` Total chunks: ${totalChunks}`);
43
+ console.log(` Total files: ${totalFiles}`);
44
+ console.log(` Sample row:`);
45
+ console.log(` Filepath: ${sample.filepath}`);
46
+ console.log(` Chunk index: ${sample.chunkIndex}`);
47
+ console.log(` Content preview: ${sample.content.substring(0, 100)}...`);
48
+ console.log(` Embedding vector length: ${embeddingLength}`);
49
+ db.close();
50
+ }
51
+ verifyDatabase();
52
+ //# sourceMappingURL=verify_db.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify_db.js","sourceRoot":"","sources":["../src/verify_db.ts"],"names":[],"mappings":"AAAA,OAAO,SAAuB,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAE1E,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,qBAAqB;IACrB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACzE,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAe,CAAC;IAC1C,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,qBAAqB;IACrB,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;IACzF,SAAS,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,EAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAe,CAAC;IACzC,SAAS,CAAC,IAAI,EAAE,CAAC;IAEjB,iBAAiB;IACjB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAClE,UAAU,CAAC,IAAI,EAAE,CAAC;IAClB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,EAAS,CAAC;IAC/C,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,kBAAkB;IAClB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAmB,CAAa,CAAC;YACrE,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,wBAAyB,MAAM,CAAC,OAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,gCAAgC,eAAe,EAAE,CAAC,CAAC;IAE/D,EAAE,CAAC,KAAK,EAAE,CAAC;AACb,CAAC;AAED,cAAc,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "codehere",
3
+ "version": "0.1.0",
4
+ "description": "AI-powered coding assistant with local embeddings and semantic search",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "codehere": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "templates",
13
+ "README.md",
14
+ "LICENSE",
15
+ "CHANGELOG.md",
16
+ "CONTRIBUTING.md",
17
+ "ARCHITECTURE.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "start": "node dist/index.js",
22
+ "dev": "tsx src/index.ts",
23
+ "test": "tsx tests/edit.test.ts"
24
+ },
25
+ "keywords": [
26
+ "coding-assistant",
27
+ "ai",
28
+ "semantic-search",
29
+ "cohere",
30
+ "typescript",
31
+ "cli-tool",
32
+ "code-analysis",
33
+ "embeddings",
34
+ "vector-search",
35
+ "sqlite"
36
+ ],
37
+ "author": {
38
+ "name": "Muhammad Ega",
39
+ "url": "https://github.com/muhammadegaa"
40
+ },
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/muhammadegaa/codehere.git"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/muhammadegaa/codehere/issues"
48
+ },
49
+ "homepage": "https://github.com/muhammadegaa/codehere#readme",
50
+ "dependencies": {
51
+ "boxen": "^8.0.1",
52
+ "chalk": "^5.3.0",
53
+ "cli-progress": "^3.12.0",
54
+ "cli-table3": "^0.6.5",
55
+ "cohere-ai": "^7.7.0",
56
+ "commander": "^11.1.0",
57
+ "diff": "^5.1.0",
58
+ "dotenv": "^16.3.1",
59
+ "ora": "^7.0.1",
60
+ "sql.js": "^1.10.3",
61
+ "tiktoken": "^1.0.10"
62
+ },
63
+ "devDependencies": {
64
+ "@types/cli-progress": "^3.11.5",
65
+ "@types/diff": "^5.0.8",
66
+ "@types/node": "^20.10.6",
67
+ "@types/sql.js": "^1.4.8",
68
+ "tsx": "^4.7.0",
69
+ "typescript": "^5.9.3"
70
+ }
71
+ }
@@ -0,0 +1,19 @@
1
+ import type { Metadata } from 'next';
2
+
3
+ export const metadata: Metadata = {
4
+ title: 'Next.js App',
5
+ description: 'Generated by CodeHere',
6
+ };
7
+
8
+ export default function RootLayout({
9
+ children,
10
+ }: {
11
+ children: React.ReactNode;
12
+ }) {
13
+ return (
14
+ <html lang="en">
15
+ <body>{children}</body>
16
+ </html>
17
+ );
18
+ }
19
+
@@ -0,0 +1,10 @@
1
+ // Simple Next.js page
2
+ export default function Home() {
3
+ return (
4
+ <main className="flex min-h-screen flex-col items-center justify-center p-24">
5
+ <h1 className="text-4xl font-bold mb-4">Welcome</h1>
6
+ <p className="text-lg text-gray-600">This is a simple Next.js page.</p>
7
+ </main>
8
+ );
9
+ }
10
+
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "next-page",
3
+ "version": "0.1.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "dev": "next dev",
7
+ "build": "next build",
8
+ "start": "next start"
9
+ },
10
+ "dependencies": {
11
+ "react": "^18.2.0",
12
+ "react-dom": "^18.2.0",
13
+ "next": "^14.0.0"
14
+ },
15
+ "devDependencies": {
16
+ "@types/node": "^20.0.0",
17
+ "@types/react": "^18.2.0",
18
+ "@types/react-dom": "^18.2.0",
19
+ "typescript": "^5.0.0"
20
+ }
21
+ }
22
+
@@ -0,0 +1,57 @@
1
+ // Simple Node.js API server
2
+ const http = require('http');
3
+
4
+ // In-memory store
5
+ const items = [];
6
+
7
+ // Health check endpoint
8
+ function handleHealth(req, res) {
9
+ res.writeHead(200, { 'Content-Type': 'application/json' });
10
+ res.end(JSON.stringify({ status: 'ok' }));
11
+ }
12
+
13
+ // Get all items
14
+ function handleGetItems(req, res) {
15
+ res.writeHead(200, { 'Content-Type': 'application/json' });
16
+ res.end(JSON.stringify(items));
17
+ }
18
+
19
+ // Create item
20
+ function handlePostItem(req, res) {
21
+ let body = '';
22
+ req.on('data', chunk => {
23
+ body += chunk.toString();
24
+ });
25
+ req.on('end', () => {
26
+ try {
27
+ const item = JSON.parse(body);
28
+ item.id = items.length + 1;
29
+ items.push(item);
30
+ res.writeHead(201, { 'Content-Type': 'application/json' });
31
+ res.end(JSON.stringify(item));
32
+ } catch (error) {
33
+ res.writeHead(400, { 'Content-Type': 'application/json' });
34
+ res.end(JSON.stringify({ error: 'Invalid JSON' }));
35
+ }
36
+ });
37
+ }
38
+
39
+ // Router
40
+ const server = http.createServer((req, res) => {
41
+ if (req.method === 'GET' && req.url === '/health') {
42
+ handleHealth(req, res);
43
+ } else if (req.method === 'GET' && req.url === '/items') {
44
+ handleGetItems(req, res);
45
+ } else if (req.method === 'POST' && req.url === '/items') {
46
+ handlePostItem(req, res);
47
+ } else {
48
+ res.writeHead(404, { 'Content-Type': 'application/json' });
49
+ res.end(JSON.stringify({ error: 'Not found' }));
50
+ }
51
+ });
52
+
53
+ const PORT = process.env.PORT || 3000;
54
+ server.listen(PORT, () => {
55
+ console.log(`Server running on http://localhost:${PORT}`);
56
+ });
57
+
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "node-api",
3
+ "version": "1.0.0",
4
+ "description": "Simple Node.js API",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "start": "node index.js"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "MIT"
12
+ }
13
+