codebakers 1.0.45
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/.vscodeignore +18 -0
- package/LICENSE +21 -0
- package/README.md +88 -0
- package/codebakers-1.0.0.vsix +0 -0
- package/codebakers-1.0.10.vsix +0 -0
- package/codebakers-1.0.11.vsix +0 -0
- package/codebakers-1.0.12.vsix +0 -0
- package/codebakers-1.0.13.vsix +0 -0
- package/codebakers-1.0.14.vsix +0 -0
- package/codebakers-1.0.15.vsix +0 -0
- package/codebakers-1.0.16.vsix +0 -0
- package/codebakers-1.0.17.vsix +0 -0
- package/codebakers-1.0.18.vsix +0 -0
- package/codebakers-1.0.19.vsix +0 -0
- package/codebakers-1.0.20.vsix +0 -0
- package/codebakers-1.0.21.vsix +0 -0
- package/codebakers-1.0.22.vsix +0 -0
- package/codebakers-1.0.23.vsix +0 -0
- package/codebakers-1.0.24.vsix +0 -0
- package/codebakers-1.0.25.vsix +0 -0
- package/codebakers-1.0.26.vsix +0 -0
- package/codebakers-1.0.27.vsix +0 -0
- package/codebakers-1.0.28.vsix +0 -0
- package/codebakers-1.0.29.vsix +0 -0
- package/codebakers-1.0.30.vsix +0 -0
- package/codebakers-1.0.31.vsix +0 -0
- package/codebakers-1.0.32.vsix +0 -0
- package/codebakers-1.0.35.vsix +0 -0
- package/codebakers-1.0.36.vsix +0 -0
- package/codebakers-1.0.37.vsix +0 -0
- package/codebakers-1.0.38.vsix +0 -0
- package/codebakers-1.0.39.vsix +0 -0
- package/codebakers-1.0.40.vsix +0 -0
- package/codebakers-1.0.41.vsix +0 -0
- package/codebakers-1.0.42.vsix +0 -0
- package/codebakers-1.0.43.vsix +0 -0
- package/codebakers-1.0.44.vsix +0 -0
- package/codebakers-1.0.45.vsix +0 -0
- package/dist/extension.js +1394 -0
- package/esbuild.js +63 -0
- package/media/icon.png +0 -0
- package/media/icon.svg +7 -0
- package/nul +1 -0
- package/package.json +127 -0
- package/preview.html +547 -0
- package/src/ChatPanelProvider.ts +1815 -0
- package/src/ChatViewProvider.ts +749 -0
- package/src/CodeBakersClient.ts +1146 -0
- package/src/CodeValidator.ts +645 -0
- package/src/FileOperations.ts +410 -0
- package/src/ProjectContext.ts +526 -0
- package/src/extension.ts +332 -0
- package/tsconfig.json +19 -0
package/preview.html
ADDED
|
@@ -0,0 +1,547 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>CodeBakers Extension Preview</title>
|
|
7
|
+
<style>
|
|
8
|
+
* {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
margin: 0;
|
|
11
|
+
padding: 0;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
body {
|
|
15
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
|
|
16
|
+
background: #1e1e1e;
|
|
17
|
+
color: #cccccc;
|
|
18
|
+
min-height: 100vh;
|
|
19
|
+
display: flex;
|
|
20
|
+
justify-content: center;
|
|
21
|
+
align-items: center;
|
|
22
|
+
padding: 20px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.preview-container {
|
|
26
|
+
display: flex;
|
|
27
|
+
gap: 40px;
|
|
28
|
+
max-width: 1400px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.sidebar-preview {
|
|
32
|
+
width: 350px;
|
|
33
|
+
background: #252526;
|
|
34
|
+
border-radius: 8px;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
height: 700px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.header {
|
|
43
|
+
padding: 12px 16px;
|
|
44
|
+
border-bottom: 1px solid #3c3c3c;
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
gap: 10px;
|
|
48
|
+
background: #2d2d2d;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.header-icon {
|
|
52
|
+
font-size: 24px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.header-title {
|
|
56
|
+
font-weight: 600;
|
|
57
|
+
font-size: 14px;
|
|
58
|
+
flex: 1;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.header-plan {
|
|
62
|
+
font-size: 11px;
|
|
63
|
+
padding: 3px 8px;
|
|
64
|
+
background: #4a9eff;
|
|
65
|
+
color: white;
|
|
66
|
+
border-radius: 10px;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.header-plan.trial {
|
|
70
|
+
background: #f0a030;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.clear-btn {
|
|
74
|
+
background: transparent;
|
|
75
|
+
border: none;
|
|
76
|
+
color: #888;
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
padding: 4px 8px;
|
|
79
|
+
border-radius: 4px;
|
|
80
|
+
font-size: 12px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.clear-btn:hover {
|
|
84
|
+
background: #3c3c3c;
|
|
85
|
+
color: #ccc;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.messages {
|
|
89
|
+
flex: 1;
|
|
90
|
+
overflow-y: auto;
|
|
91
|
+
padding: 16px;
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: column;
|
|
94
|
+
gap: 16px;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.message {
|
|
98
|
+
max-width: 90%;
|
|
99
|
+
padding: 12px 16px;
|
|
100
|
+
border-radius: 16px;
|
|
101
|
+
line-height: 1.5;
|
|
102
|
+
font-size: 13px;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.message.user {
|
|
106
|
+
background: #0e639c;
|
|
107
|
+
color: white;
|
|
108
|
+
align-self: flex-end;
|
|
109
|
+
border-bottom-right-radius: 4px;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.message.assistant {
|
|
113
|
+
background: #37373d;
|
|
114
|
+
align-self: flex-start;
|
|
115
|
+
border-bottom-left-radius: 4px;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.message pre {
|
|
119
|
+
background: #1e1e1e;
|
|
120
|
+
padding: 10px;
|
|
121
|
+
border-radius: 6px;
|
|
122
|
+
overflow-x: auto;
|
|
123
|
+
margin: 10px 0;
|
|
124
|
+
font-size: 12px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.message code {
|
|
128
|
+
font-family: 'Consolas', 'Monaco', monospace;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.message .footer {
|
|
132
|
+
margin-top: 12px;
|
|
133
|
+
padding-top: 10px;
|
|
134
|
+
border-top: 1px solid #4a4a4a;
|
|
135
|
+
font-size: 11px;
|
|
136
|
+
color: #888;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.typing-indicator {
|
|
140
|
+
align-self: flex-start;
|
|
141
|
+
padding: 12px 16px;
|
|
142
|
+
background: #37373d;
|
|
143
|
+
border-radius: 16px;
|
|
144
|
+
display: flex;
|
|
145
|
+
gap: 6px;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.typing-dot {
|
|
149
|
+
width: 8px;
|
|
150
|
+
height: 8px;
|
|
151
|
+
background: #888;
|
|
152
|
+
border-radius: 50%;
|
|
153
|
+
animation: typing 1.4s infinite ease-in-out;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.typing-dot:nth-child(2) { animation-delay: 0.2s; }
|
|
157
|
+
.typing-dot:nth-child(3) { animation-delay: 0.4s; }
|
|
158
|
+
|
|
159
|
+
@keyframes typing {
|
|
160
|
+
0%, 60%, 100% { transform: translateY(0); opacity: 0.3; }
|
|
161
|
+
30% { transform: translateY(-6px); opacity: 1; }
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.tools-bar {
|
|
165
|
+
padding: 8px 12px;
|
|
166
|
+
background: #2d2d2d;
|
|
167
|
+
border-top: 1px solid #3c3c3c;
|
|
168
|
+
display: flex;
|
|
169
|
+
gap: 6px;
|
|
170
|
+
flex-wrap: wrap;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.tool-chip {
|
|
174
|
+
font-size: 10px;
|
|
175
|
+
padding: 4px 8px;
|
|
176
|
+
background: #3c3c3c;
|
|
177
|
+
border-radius: 12px;
|
|
178
|
+
cursor: pointer;
|
|
179
|
+
transition: background 0.2s;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.tool-chip:hover {
|
|
183
|
+
background: #4a4a4a;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.tool-chip.active {
|
|
187
|
+
background: #4a9eff;
|
|
188
|
+
color: white;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.input-area {
|
|
192
|
+
padding: 12px;
|
|
193
|
+
border-top: 1px solid #3c3c3c;
|
|
194
|
+
display: flex;
|
|
195
|
+
gap: 8px;
|
|
196
|
+
background: #252526;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.input-area textarea {
|
|
200
|
+
flex: 1;
|
|
201
|
+
background: #3c3c3c;
|
|
202
|
+
color: #ccc;
|
|
203
|
+
border: 1px solid #4a4a4a;
|
|
204
|
+
border-radius: 8px;
|
|
205
|
+
padding: 10px 14px;
|
|
206
|
+
font-family: inherit;
|
|
207
|
+
font-size: 13px;
|
|
208
|
+
resize: none;
|
|
209
|
+
min-height: 40px;
|
|
210
|
+
max-height: 100px;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
.input-area textarea:focus {
|
|
214
|
+
outline: none;
|
|
215
|
+
border-color: #4a9eff;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
.send-btn {
|
|
219
|
+
background: #0e639c;
|
|
220
|
+
color: white;
|
|
221
|
+
border: none;
|
|
222
|
+
border-radius: 8px;
|
|
223
|
+
padding: 0 18px;
|
|
224
|
+
cursor: pointer;
|
|
225
|
+
font-weight: 500;
|
|
226
|
+
font-size: 13px;
|
|
227
|
+
transition: background 0.2s;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.send-btn:hover {
|
|
231
|
+
background: #1177bb;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
.chat-footer {
|
|
235
|
+
padding: 8px 12px;
|
|
236
|
+
text-align: center;
|
|
237
|
+
font-size: 10px;
|
|
238
|
+
color: #666;
|
|
239
|
+
border-top: 1px solid #3c3c3c;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/* Welcome state */
|
|
243
|
+
.welcome {
|
|
244
|
+
flex: 1;
|
|
245
|
+
display: flex;
|
|
246
|
+
flex-direction: column;
|
|
247
|
+
align-items: center;
|
|
248
|
+
justify-content: center;
|
|
249
|
+
padding: 30px;
|
|
250
|
+
text-align: center;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.welcome-icon {
|
|
254
|
+
font-size: 56px;
|
|
255
|
+
margin-bottom: 16px;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
.welcome-title {
|
|
259
|
+
font-size: 18px;
|
|
260
|
+
font-weight: 600;
|
|
261
|
+
margin-bottom: 8px;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
.welcome-text {
|
|
265
|
+
color: #888;
|
|
266
|
+
margin-bottom: 24px;
|
|
267
|
+
font-size: 13px;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.quick-actions {
|
|
271
|
+
display: flex;
|
|
272
|
+
flex-wrap: wrap;
|
|
273
|
+
gap: 8px;
|
|
274
|
+
justify-content: center;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.quick-action {
|
|
278
|
+
background: #3c3c3c;
|
|
279
|
+
color: #ccc;
|
|
280
|
+
border: none;
|
|
281
|
+
border-radius: 20px;
|
|
282
|
+
padding: 8px 16px;
|
|
283
|
+
cursor: pointer;
|
|
284
|
+
font-size: 12px;
|
|
285
|
+
transition: background 0.2s;
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.quick-action:hover {
|
|
289
|
+
background: #4a4a4a;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
/* Health indicator */
|
|
293
|
+
.health-bar {
|
|
294
|
+
padding: 8px 12px;
|
|
295
|
+
background: #2d2d2d;
|
|
296
|
+
border-bottom: 1px solid #3c3c3c;
|
|
297
|
+
display: flex;
|
|
298
|
+
align-items: center;
|
|
299
|
+
gap: 10px;
|
|
300
|
+
font-size: 11px;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
.health-indicator {
|
|
304
|
+
width: 8px;
|
|
305
|
+
height: 8px;
|
|
306
|
+
border-radius: 50%;
|
|
307
|
+
background: #4caf50;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
.health-indicator.warning {
|
|
311
|
+
background: #ff9800;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.health-indicator.error {
|
|
315
|
+
background: #f44336;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.health-text {
|
|
319
|
+
flex: 1;
|
|
320
|
+
color: #888;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.health-score {
|
|
324
|
+
font-weight: 600;
|
|
325
|
+
color: #4caf50;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/* Description panel */
|
|
329
|
+
.description {
|
|
330
|
+
width: 400px;
|
|
331
|
+
padding: 30px;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
.description h1 {
|
|
335
|
+
font-size: 28px;
|
|
336
|
+
margin-bottom: 20px;
|
|
337
|
+
color: #fff;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
.description h2 {
|
|
341
|
+
font-size: 16px;
|
|
342
|
+
margin: 20px 0 10px;
|
|
343
|
+
color: #4a9eff;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
.description ul {
|
|
347
|
+
list-style: none;
|
|
348
|
+
margin-bottom: 20px;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
.description li {
|
|
352
|
+
padding: 8px 0;
|
|
353
|
+
padding-left: 24px;
|
|
354
|
+
position: relative;
|
|
355
|
+
color: #aaa;
|
|
356
|
+
font-size: 14px;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.description li::before {
|
|
360
|
+
content: "โ";
|
|
361
|
+
position: absolute;
|
|
362
|
+
left: 0;
|
|
363
|
+
color: #4caf50;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
.description .badge {
|
|
367
|
+
display: inline-block;
|
|
368
|
+
padding: 4px 10px;
|
|
369
|
+
background: #4a9eff;
|
|
370
|
+
color: white;
|
|
371
|
+
border-radius: 12px;
|
|
372
|
+
font-size: 12px;
|
|
373
|
+
margin-right: 8px;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.description .badge.coherence {
|
|
377
|
+
background: #9c27b0;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.description .badge.patterns {
|
|
381
|
+
background: #ff9800;
|
|
382
|
+
}
|
|
383
|
+
</style>
|
|
384
|
+
</head>
|
|
385
|
+
<body>
|
|
386
|
+
<div class="preview-container">
|
|
387
|
+
<!-- Chat Preview -->
|
|
388
|
+
<div class="sidebar-preview">
|
|
389
|
+
<div class="header">
|
|
390
|
+
<span class="header-icon">๐ช</span>
|
|
391
|
+
<span class="header-title">CodeBakers</span>
|
|
392
|
+
<span class="header-plan">Pro</span>
|
|
393
|
+
<button class="clear-btn">Clear</button>
|
|
394
|
+
</div>
|
|
395
|
+
|
|
396
|
+
<div class="health-bar">
|
|
397
|
+
<div class="health-indicator"></div>
|
|
398
|
+
<span class="health-text">Project Health</span>
|
|
399
|
+
<span class="health-score">85%</span>
|
|
400
|
+
</div>
|
|
401
|
+
|
|
402
|
+
<div class="messages">
|
|
403
|
+
<div class="message user">
|
|
404
|
+
Add a login page with email and password
|
|
405
|
+
</div>
|
|
406
|
+
|
|
407
|
+
<div class="message assistant">
|
|
408
|
+
I'll create a login page following CodeBakers patterns.
|
|
409
|
+
|
|
410
|
+
<pre><code>// app/login/page.tsx
|
|
411
|
+
'use client';
|
|
412
|
+
|
|
413
|
+
import { useState } from 'react';
|
|
414
|
+
import { useRouter } from 'next/navigation';
|
|
415
|
+
|
|
416
|
+
export default function LoginPage() {
|
|
417
|
+
const [email, setEmail] = useState('');
|
|
418
|
+
const [password, setPassword] = useState('');
|
|
419
|
+
const [error, setError] = useState('');
|
|
420
|
+
const router = useRouter();
|
|
421
|
+
|
|
422
|
+
async function handleSubmit(e) {
|
|
423
|
+
e.preventDefault();
|
|
424
|
+
// Auth logic here
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
return (
|
|
428
|
+
<form onSubmit={handleSubmit}>
|
|
429
|
+
{/* Form fields */}
|
|
430
|
+
</form>
|
|
431
|
+
);
|
|
432
|
+
}</code></pre>
|
|
433
|
+
|
|
434
|
+
<div class="footer">
|
|
435
|
+
๐ช <strong>CodeBakers Active</strong> | Patterns: 00-core, 02-auth, 04-frontend | v6.12
|
|
436
|
+
</div>
|
|
437
|
+
</div>
|
|
438
|
+
|
|
439
|
+
<div class="message user">
|
|
440
|
+
Add form validation with Zod
|
|
441
|
+
</div>
|
|
442
|
+
|
|
443
|
+
<div class="typing-indicator">
|
|
444
|
+
<div class="typing-dot"></div>
|
|
445
|
+
<div class="typing-dot"></div>
|
|
446
|
+
<div class="typing-dot"></div>
|
|
447
|
+
</div>
|
|
448
|
+
</div>
|
|
449
|
+
|
|
450
|
+
<div class="tools-bar">
|
|
451
|
+
<span class="tool-chip active">๐ก๏ธ Guardian</span>
|
|
452
|
+
<span class="tool-chip">๐ Patterns</span>
|
|
453
|
+
<span class="tool-chip">๐งช Tests</span>
|
|
454
|
+
<span class="tool-chip">๐ Audit</span>
|
|
455
|
+
<span class="tool-chip">๐ Ripple</span>
|
|
456
|
+
</div>
|
|
457
|
+
|
|
458
|
+
<div class="input-area">
|
|
459
|
+
<textarea placeholder="Ask CodeBakers anything..." rows="1"></textarea>
|
|
460
|
+
<button class="send-btn">Send</button>
|
|
461
|
+
</div>
|
|
462
|
+
|
|
463
|
+
<div class="chat-footer">
|
|
464
|
+
Powered by CodeBakers โ a BotMakers Software
|
|
465
|
+
</div>
|
|
466
|
+
</div>
|
|
467
|
+
|
|
468
|
+
<!-- Welcome State Preview -->
|
|
469
|
+
<div class="sidebar-preview">
|
|
470
|
+
<div class="header">
|
|
471
|
+
<span class="header-icon">๐ช</span>
|
|
472
|
+
<span class="header-title">CodeBakers</span>
|
|
473
|
+
<span class="header-plan trial">Trial</span>
|
|
474
|
+
<button class="clear-btn">Clear</button>
|
|
475
|
+
</div>
|
|
476
|
+
|
|
477
|
+
<div class="welcome">
|
|
478
|
+
<span class="welcome-icon">๐ช</span>
|
|
479
|
+
<div class="welcome-title">Welcome to CodeBakers</div>
|
|
480
|
+
<div class="welcome-text">AI-powered coding with production-ready patterns</div>
|
|
481
|
+
<div class="quick-actions">
|
|
482
|
+
<button class="quick-action">๐จ Build Project</button>
|
|
483
|
+
<button class="quick-action">โจ Add Feature</button>
|
|
484
|
+
<button class="quick-action">๐ Audit Code</button>
|
|
485
|
+
<button class="quick-action">๐ก๏ธ Check Health</button>
|
|
486
|
+
</div>
|
|
487
|
+
</div>
|
|
488
|
+
|
|
489
|
+
<div class="tools-bar">
|
|
490
|
+
<span class="tool-chip">๐ก๏ธ Guardian</span>
|
|
491
|
+
<span class="tool-chip">๐ Patterns</span>
|
|
492
|
+
<span class="tool-chip">๐งช Tests</span>
|
|
493
|
+
<span class="tool-chip">๐ Audit</span>
|
|
494
|
+
</div>
|
|
495
|
+
|
|
496
|
+
<div class="input-area">
|
|
497
|
+
<textarea placeholder="Ask CodeBakers anything..." rows="1"></textarea>
|
|
498
|
+
<button class="send-btn">Send</button>
|
|
499
|
+
</div>
|
|
500
|
+
|
|
501
|
+
<div class="chat-footer">
|
|
502
|
+
Powered by CodeBakers โ a BotMakers Software
|
|
503
|
+
</div>
|
|
504
|
+
</div>
|
|
505
|
+
|
|
506
|
+
<!-- Description -->
|
|
507
|
+
<div class="description">
|
|
508
|
+
<h1>CodeBakers VS Code Extension</h1>
|
|
509
|
+
|
|
510
|
+
<p style="color: #888; margin-bottom: 20px;">
|
|
511
|
+
The chat sidebar that appears when you click the CodeBakers icon in VS Code.
|
|
512
|
+
</p>
|
|
513
|
+
|
|
514
|
+
<h2>Features</h2>
|
|
515
|
+
<ul>
|
|
516
|
+
<li>Guaranteed pattern enforcement (95%+ compliance)</li>
|
|
517
|
+
<li>Perfect context recall across sessions</li>
|
|
518
|
+
<li>Plan-based rate limits and token limits</li>
|
|
519
|
+
<li>Trial expiration warnings</li>
|
|
520
|
+
</ul>
|
|
521
|
+
|
|
522
|
+
<h2>Tool Categories</h2>
|
|
523
|
+
<p>
|
|
524
|
+
<span class="badge coherence">Coherence</span>
|
|
525
|
+
<span class="badge patterns">Patterns</span>
|
|
526
|
+
<span class="badge">Testing</span>
|
|
527
|
+
</p>
|
|
528
|
+
|
|
529
|
+
<ul>
|
|
530
|
+
<li><strong>Guardian</strong> - Auto-coherence, broken import detection</li>
|
|
531
|
+
<li><strong>Patterns</strong> - 40+ production modules</li>
|
|
532
|
+
<li><strong>Tests</strong> - Run and generate tests</li>
|
|
533
|
+
<li><strong>Audit</strong> - Code quality review</li>
|
|
534
|
+
<li><strong>Ripple</strong> - Impact analysis for changes</li>
|
|
535
|
+
</ul>
|
|
536
|
+
|
|
537
|
+
<h2>How to Test</h2>
|
|
538
|
+
<ul>
|
|
539
|
+
<li>Open extension folder in VS Code</li>
|
|
540
|
+
<li>Press F5 to launch Extension Host</li>
|
|
541
|
+
<li>Click CodeBakers icon in sidebar</li>
|
|
542
|
+
<li>Login and start chatting!</li>
|
|
543
|
+
</ul>
|
|
544
|
+
</div>
|
|
545
|
+
</div>
|
|
546
|
+
</body>
|
|
547
|
+
</html>
|