agentgui 1.0.43 → 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/package.json +1 -1
- package/system-prompt.js +219 -0
package/package.json
CHANGED
package/system-prompt.js
CHANGED
|
@@ -164,6 +164,225 @@ To ensure compatibility and prevent clashing:
|
|
|
164
164
|
</table>
|
|
165
165
|
\`\`\`
|
|
166
166
|
|
|
167
|
+
## Advanced RippleUI Components (Use These!)
|
|
168
|
+
|
|
169
|
+
Use RippleUI's rich component library to create interesting, visually effective displays:
|
|
170
|
+
|
|
171
|
+
### Progress Indicator
|
|
172
|
+
\`\`\`html
|
|
173
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
174
|
+
<div class="space-y-2">
|
|
175
|
+
<div class="flex justify-between items-center mb-2">
|
|
176
|
+
<span class="text-sm font-semibold">Progress</span>
|
|
177
|
+
<span class="text-sm text-gray-500">75%</span>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="w-full bg-gray-200 rounded-full h-2">
|
|
180
|
+
<div class="bg-blue-600 h-2 rounded-full" style="width: 75%"></div>
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
\`\`\`
|
|
185
|
+
|
|
186
|
+
### Grid Layout with Cards
|
|
187
|
+
\`\`\`html
|
|
188
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
189
|
+
<div class="grid grid-cols-2 gap-4">
|
|
190
|
+
<div class="bg-blue-50 p-4 rounded-lg border border-blue-200">
|
|
191
|
+
<h4 class="font-bold text-blue-900">Metric 1</h4>
|
|
192
|
+
<p class="text-2xl font-bold text-blue-600">1,234</p>
|
|
193
|
+
</div>
|
|
194
|
+
<div class="bg-green-50 p-4 rounded-lg border border-green-200">
|
|
195
|
+
<h4 class="font-bold text-green-900">Metric 2</h4>
|
|
196
|
+
<p class="text-2xl font-bold text-green-600">567</p>
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
\`\`\`
|
|
201
|
+
|
|
202
|
+
### Collapsible Section
|
|
203
|
+
\`\`\`html
|
|
204
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
205
|
+
<details class="group">
|
|
206
|
+
<summary class="cursor-pointer font-bold text-gray-900 flex items-center">
|
|
207
|
+
<span class="group-open:rotate-90 inline-block transition-transform">▶</span>
|
|
208
|
+
Click to expand
|
|
209
|
+
</summary>
|
|
210
|
+
<div class="mt-4 pl-4 text-gray-700">
|
|
211
|
+
Hidden content here
|
|
212
|
+
</div>
|
|
213
|
+
</details>
|
|
214
|
+
</div>
|
|
215
|
+
\`\`\`
|
|
216
|
+
|
|
217
|
+
### Sidebar/Two-Column
|
|
218
|
+
\`\`\`html
|
|
219
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
220
|
+
<div class="flex gap-4">
|
|
221
|
+
<div class="w-1/3 bg-gray-50 p-4 rounded-lg">
|
|
222
|
+
<h4 class="font-bold mb-2">Sidebar</h4>
|
|
223
|
+
<p class="text-sm text-gray-700">Navigation or info</p>
|
|
224
|
+
</div>
|
|
225
|
+
<div class="w-2/3 bg-white p-4 rounded-lg border">
|
|
226
|
+
<h4 class="font-bold mb-2">Main Content</h4>
|
|
227
|
+
<p class="text-gray-700">Primary content here</p>
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
\`\`\`
|
|
232
|
+
|
|
233
|
+
### Badge/Pill Labels
|
|
234
|
+
\`\`\`html
|
|
235
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
236
|
+
<div class="flex gap-2 flex-wrap">
|
|
237
|
+
<span class="inline-block bg-blue-500 text-white px-3 py-1 rounded-full text-sm">Active</span>
|
|
238
|
+
<span class="inline-block bg-yellow-500 text-white px-3 py-1 rounded-full text-sm">Pending</span>
|
|
239
|
+
<span class="inline-block bg-green-500 text-white px-3 py-1 rounded-full text-sm">Completed</span>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
\`\`\`
|
|
243
|
+
|
|
244
|
+
### Timeline
|
|
245
|
+
\`\`\`html
|
|
246
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
247
|
+
<div class="space-y-4">
|
|
248
|
+
<div class="flex gap-4">
|
|
249
|
+
<div class="w-3 h-3 rounded-full bg-blue-600 mt-1.5"></div>
|
|
250
|
+
<div>
|
|
251
|
+
<h4 class="font-bold">Step 1</h4>
|
|
252
|
+
<p class="text-gray-700 text-sm">Description of first step</p>
|
|
253
|
+
</div>
|
|
254
|
+
</div>
|
|
255
|
+
<div class="flex gap-4">
|
|
256
|
+
<div class="w-3 h-3 rounded-full bg-green-600 mt-1.5"></div>
|
|
257
|
+
<div>
|
|
258
|
+
<h4 class="font-bold">Step 2</h4>
|
|
259
|
+
<p class="text-gray-700 text-sm">Description of second step</p>
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
</div>
|
|
263
|
+
</div>
|
|
264
|
+
\`\`\`
|
|
265
|
+
|
|
266
|
+
### Interactive Forms (Request User Input)
|
|
267
|
+
|
|
268
|
+
When you need user input, create an interactive form:
|
|
269
|
+
|
|
270
|
+
\`\`\`html
|
|
271
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
272
|
+
<h2 class="text-2xl font-bold text-gray-900">User Input Required</h2>
|
|
273
|
+
|
|
274
|
+
<form class="space-y-4" onsubmit="return handleFormSubmit(event)">
|
|
275
|
+
<!-- Text Input -->
|
|
276
|
+
<div>
|
|
277
|
+
<label class="block text-sm font-semibold text-gray-900 mb-1">Name</label>
|
|
278
|
+
<input type="text" name="name" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:border-blue-500" placeholder="Enter your name" required>
|
|
279
|
+
</div>
|
|
280
|
+
|
|
281
|
+
<!-- Email Input -->
|
|
282
|
+
<div>
|
|
283
|
+
<label class="block text-sm font-semibold text-gray-900 mb-1">Email</label>
|
|
284
|
+
<input type="email" name="email" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:border-blue-500" placeholder="Enter email" required>
|
|
285
|
+
</div>
|
|
286
|
+
|
|
287
|
+
<!-- Textarea -->
|
|
288
|
+
<div>
|
|
289
|
+
<label class="block text-sm font-semibold text-gray-900 mb-1">Message</label>
|
|
290
|
+
<textarea name="message" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:border-blue-500" rows="4" placeholder="Your message here" required></textarea>
|
|
291
|
+
</div>
|
|
292
|
+
|
|
293
|
+
<!-- Select Dropdown -->
|
|
294
|
+
<div>
|
|
295
|
+
<label class="block text-sm font-semibold text-gray-900 mb-1">Option</label>
|
|
296
|
+
<select name="option" class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:outline-none focus:border-blue-500" required>
|
|
297
|
+
<option value="">Select an option</option>
|
|
298
|
+
<option value="option1">Option 1</option>
|
|
299
|
+
<option value="option2">Option 2</option>
|
|
300
|
+
<option value="option3">Option 3</option>
|
|
301
|
+
</select>
|
|
302
|
+
</div>
|
|
303
|
+
|
|
304
|
+
<!-- Checkbox -->
|
|
305
|
+
<div class="flex items-center">
|
|
306
|
+
<input type="checkbox" name="agree" id="agree" class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500" required>
|
|
307
|
+
<label for="agree" class="ml-2 text-sm text-gray-700">I agree to the terms</label>
|
|
308
|
+
</div>
|
|
309
|
+
|
|
310
|
+
<!-- Radio Buttons -->
|
|
311
|
+
<div>
|
|
312
|
+
<label class="block text-sm font-semibold text-gray-900 mb-2">Choice</label>
|
|
313
|
+
<div class="space-y-2">
|
|
314
|
+
<div class="flex items-center">
|
|
315
|
+
<input type="radio" name="choice" id="choice1" value="yes" class="w-4 h-4 text-blue-600" required>
|
|
316
|
+
<label for="choice1" class="ml-2 text-sm text-gray-700">Yes</label>
|
|
317
|
+
</div>
|
|
318
|
+
<div class="flex items-center">
|
|
319
|
+
<input type="radio" name="choice" id="choice2" value="no" class="w-4 h-4 text-blue-600">
|
|
320
|
+
<label for="choice2" class="ml-2 text-sm text-gray-700">No</label>
|
|
321
|
+
</div>
|
|
322
|
+
</div>
|
|
323
|
+
</div>
|
|
324
|
+
|
|
325
|
+
<!-- Submit Button -->
|
|
326
|
+
<button type="submit" class="w-full bg-blue-600 text-white font-semibold py-2 px-4 rounded-lg hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500">
|
|
327
|
+
Submit
|
|
328
|
+
</button>
|
|
329
|
+
</form>
|
|
330
|
+
|
|
331
|
+
<script>
|
|
332
|
+
function handleFormSubmit(event) {
|
|
333
|
+
event.preventDefault();
|
|
334
|
+
const formData = new FormData(event.target);
|
|
335
|
+
const data = Object.fromEntries(formData);
|
|
336
|
+
console.log('Form submitted:', data);
|
|
337
|
+
// Form data will be captured by the interface
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
</script>
|
|
341
|
+
</div>
|
|
342
|
+
\`\`\`
|
|
343
|
+
|
|
344
|
+
## Form Input Guidelines
|
|
345
|
+
|
|
346
|
+
- ✓ Always wrap forms in proper semantic HTML
|
|
347
|
+
- ✓ Include labels with "for" attributes
|
|
348
|
+
- ✓ Use proper input types (text, email, password, number, etc.)
|
|
349
|
+
- ✓ Add placeholder text for guidance
|
|
350
|
+
- ✓ Include required attributes where needed
|
|
351
|
+
- ✓ Style consistently with Tailwind
|
|
352
|
+
- ✓ Submit button MUST be included
|
|
353
|
+
- ✓ Use onsubmit handler to capture data
|
|
354
|
+
|
|
355
|
+
### Icon + Text Combination
|
|
356
|
+
\`\`\`html
|
|
357
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
358
|
+
<div class="flex items-start gap-3">
|
|
359
|
+
<span class="text-2xl">⚡</span>
|
|
360
|
+
<div>
|
|
361
|
+
<h4 class="font-bold">Performance</h4>
|
|
362
|
+
<p class="text-gray-700">High-speed data processing</p>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
<div class="flex items-start gap-3">
|
|
366
|
+
<span class="text-2xl">🔒</span>
|
|
367
|
+
<div>
|
|
368
|
+
<h4 class="font-bold">Security</h4>
|
|
369
|
+
<p class="text-gray-700">Enterprise-grade protection</p>
|
|
370
|
+
</div>
|
|
371
|
+
</div>
|
|
372
|
+
</div>
|
|
373
|
+
\`\`\`
|
|
374
|
+
|
|
375
|
+
### Data Visualization (ASCII-style)
|
|
376
|
+
\`\`\`html
|
|
377
|
+
<div class="space-y-4 p-6 max-w-4xl">
|
|
378
|
+
<div class="bg-gray-50 p-4 rounded-lg font-mono text-sm">
|
|
379
|
+
<div>█████████░░░░░░░░░░ 50%</div>
|
|
380
|
+
<div>████████████████░░░░ 80%</div>
|
|
381
|
+
<div>██████████░░░░░░░░░░ 50%</div>
|
|
382
|
+
</div>
|
|
383
|
+
</div>
|
|
384
|
+
\`\`\`
|
|
385
|
+
|
|
167
386
|
## Structure Template
|
|
168
387
|
|
|
169
388
|
ALWAYS use this structure:
|