@vc-shell/create-vc-app 1.1.99-alpha.0 → 1.1.99-alpha.10

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 (34) hide show
  1. package/README.md +41 -5
  2. package/dist/cli/argv.d.ts.map +1 -1
  3. package/dist/cli/help.d.ts.map +1 -1
  4. package/dist/cli/types.d.ts +5 -0
  5. package/dist/cli/types.d.ts.map +1 -1
  6. package/dist/commands/generate-blade.d.ts +5 -0
  7. package/dist/commands/generate-blade.d.ts.map +1 -1
  8. package/dist/index.js +940 -789
  9. package/dist/templates/base/_package.json +5 -5
  10. package/dist/templates/blades/grid/blade.vue +329 -340
  11. package/dist/templates/composables/details-composable.ts +2 -0
  12. package/dist/templates/composables/grid-composable.ts +3 -1
  13. package/dist/utils/naming.d.ts +1 -0
  14. package/dist/utils/naming.d.ts.map +1 -1
  15. package/dist/utils/register-module.d.ts +4 -0
  16. package/dist/utils/register-module.d.ts.map +1 -1
  17. package/dist/utils/templates.d.ts +10 -0
  18. package/dist/utils/templates.d.ts.map +1 -0
  19. package/dist/workflows/create-app.d.ts.map +1 -1
  20. package/package.json +3 -3
  21. package/dist/templates/base/ai-guides/.cursorrules-vc-shell +0 -529
  22. package/dist/templates/base/ai-guides/README.md +0 -360
  23. package/dist/templates/base/ai-guides/guides/AI_GUIDE.md +0 -195
  24. package/dist/templates/base/ai-guides/guides/blade-patterns.md +0 -384
  25. package/dist/templates/base/ai-guides/guides/complete-workflow.md +0 -781
  26. package/dist/templates/base/ai-guides/guides/composables-reference.md +0 -338
  27. package/dist/templates/base/ai-guides/guides/troubleshooting.md +0 -529
  28. package/dist/templates/base/ai-guides/guides/ui-components-reference.md +0 -903
  29. package/dist/templates/base/ai-guides/prompts/adapt-existing-module.md +0 -1026
  30. package/dist/templates/base/ai-guides/prompts/advanced-scenarios.md +0 -852
  31. package/dist/templates/base/ai-guides/prompts/api-client-generation.md +0 -877
  32. package/dist/templates/base/ai-guides/prompts/cli-usage.md +0 -640
  33. package/dist/templates/base/ai-guides/prompts/quick-start-scenarios.md +0 -773
  34. package/dist/templates/base/ai-guides/prompts/simple-modifications.md +0 -987
@@ -1,987 +0,0 @@
1
- # Simple Modifications - Universal Prompt Templates
2
-
3
- Universal prompt templates for modifying VC-Shell modules. Replace `{{placeholders}}` with your actual values.
4
-
5
- ## How to Use
6
-
7
- 1. **Copy** the template you need
8
- 2. **Replace** all `{{placeholders}}` with your values
9
- 3. **Use** with AI to implement the change
10
-
11
- **Example:**
12
- ```
13
- Template: Add "{{columnName}}" column to {{moduleName}} list blade
14
- Filled: Add "email" column to customers list blade
15
- ```
16
-
17
- ---
18
-
19
- ## Workspace Blade Operations (List View)
20
-
21
- ### Add Column to Table
22
-
23
- ```
24
- Add "{{columnName}}" column to {{moduleName}} list blade.
25
- Column type: {{columnType}}
26
- Position: {{position}}
27
- Width: {{width}}
28
- Sortable: {{isSortable}}
29
- Mobile position: {{mobilePosition}}
30
- Locale key: {{MODULE_NAME}}.PAGES.LIST.TABLE.HEADER.{{COLUMN_KEY}}
31
- ```
32
-
33
- **Column types:** `text`, `image`, `date-ago`, `status-icon`, `badge`, `currency`
34
- **Positions:** `first`, `last`, `after "{{columnName}}"`, `before "{{columnName}}"`
35
- **Mobile positions:** `top-left`, `top-right`, `bottom-left`, `bottom-right`, `status`, `image`
36
-
37
- ---
38
-
39
- ### Remove Column from Table
40
-
41
- ```
42
- Remove "{{columnName}}" column from {{moduleName}} list blade.
43
- Also remove from locale: {{MODULE_NAME}}.PAGES.LIST.TABLE.HEADER.{{COLUMN_KEY}}
44
- ```
45
-
46
- ---
47
-
48
- ### Reorder Table Columns
49
-
50
- ```
51
- Reorder columns in {{moduleName}} list blade.
52
- New order: {{columnOrder}}
53
- Keep all existing configurations (width, sorting, mobile position).
54
- ```
55
-
56
- **Example:** `New order: image, name, email, status, createdDate`
57
-
58
- ---
59
-
60
- ### Change Column Type
61
-
62
- ```
63
- Change "{{columnName}}" column type in {{moduleName}} list blade.
64
- From: {{oldType}}
65
- To: {{newType}}
66
- Update display logic: {{displayLogic}}
67
- ```
68
-
69
- ---
70
-
71
- ### Add Table Sorting
72
-
73
- ```
74
- Enable sorting for "{{columnName}}" column in {{moduleName}} list blade.
75
- Default sort: {{defaultSort}}
76
- Sort direction: {{sortDirection}}
77
- Update API call with sort parameter: {{sortParameter}}
78
- ```
79
-
80
- **Sort directions:** `ASC`, `DESC`
81
-
82
- ---
83
-
84
- ### Add Row Selection
85
-
86
- ```
87
- Add row selection to {{moduleName}} list blade.
88
- Selection type: {{selectionType}}
89
- Show "Select All" option: {{showSelectAll}}
90
- Enable bulk actions: {{bulkActions}}
91
- ```
92
-
93
- **Selection types:** `single`, `multiple`
94
-
95
- ---
96
-
97
- ### Add Empty State
98
-
99
- ```
100
- Customize empty state for {{moduleName}} list blade.
101
- Icon: {{materialIcon}}
102
- Text: "{{emptyStateText}}"
103
- Action button: "{{actionButtonText}}"
104
- Button action: {{buttonAction}}
105
- Locale keys:
106
- - Text: {{MODULE_NAME}}.PAGES.LIST.EMPTY.NO_ITEMS
107
- - Button: {{MODULE_NAME}}.PAGES.LIST.EMPTY.ADD
108
- ```
109
-
110
- ---
111
-
112
- ### Add Not Found State
113
-
114
- ```
115
- Customize not found state for {{moduleName}} list blade.
116
- Icon: {{materialIcon}}
117
- Text: "{{notFoundText}}"
118
- Action button: "{{resetButtonText}}"
119
- Button action: {{resetAction}}
120
- Locale keys:
121
- - Text: {{MODULE_NAME}}.PAGES.LIST.NOT_FOUND.EMPTY
122
- - Button: {{MODULE_NAME}}.PAGES.LIST.NOT_FOUND.RESET
123
- ```
124
-
125
- ---
126
-
127
- ### Add Search Functionality
128
-
129
- ```
130
- Update search in {{moduleName}} list blade.
131
- Search placeholder: "{{placeholderText}}"
132
- Search fields: {{searchFields}}
133
- Debounce delay: {{debounceMs}}ms
134
- Locale key: {{MODULE_NAME}}.PAGES.LIST.SEARCH.PLACEHOLDER
135
- ```
136
-
137
- ---
138
-
139
- ### Add Pagination
140
-
141
- ```
142
- Configure pagination for {{moduleName}} list blade.
143
- Page size: {{pageSize}}
144
- Page size options: {{pageSizeOptions}}
145
- Show total count: {{showTotalCount}}
146
- Total count label locale: {{MODULE_NAME}}.PAGES.LIST.TABLE.TOTALS
147
- ```
148
-
149
- ---
150
-
151
- ## Details Blade Operations (Forms)
152
-
153
- ### Add Form Field
154
-
155
- ```
156
- Add "{{fieldName}}" field to {{moduleName}} details blade.
157
- Component: {{vcComponent}}
158
- Validation: {{validationRules}}
159
- Required: {{isRequired}}
160
- Position: {{position}}
161
- Locale keys:
162
- - Label: {{MODULE_NAME}}.PAGES.DETAILS.FIELDS.{{FIELD_KEY}}.TITLE
163
- - Placeholder: {{MODULE_NAME}}.PAGES.DETAILS.FIELDS.{{FIELD_KEY}}.PLACEHOLDER
164
- - Error: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_{{ERROR_TYPE}}
165
- ```
166
-
167
- **Components:** `VcInput`, `VcSelect`, `VcEditor`, `VcSwitch`, `VcGallery`, `VcInputCurrency`, `VcMultivalue`, `VcCheckbox`, `VcRadioButton`
168
-
169
- **Validation rules:** `required`, `email`, `min:{{value}}`, `max:{{value}}`, `regex:{{pattern}}`, `unique`
170
-
171
- ---
172
-
173
- ### Remove Form Field
174
-
175
- ```
176
- Remove "{{fieldName}}" field from {{moduleName}} details blade.
177
- Remove from:
178
- - Form template
179
- - Validation schema
180
- - TypeScript interface ({{interfaceName}})
181
- - API payload
182
- - Locale keys ({{MODULE_NAME}}.PAGES.DETAILS.FIELDS.{{FIELD_KEY}}.*)
183
- ```
184
-
185
- ---
186
-
187
- ### Change Field Component Type
188
-
189
- ```
190
- Change "{{fieldName}}" field in {{moduleName}} details blade.
191
- From: {{oldComponent}}
192
- To: {{newComponent}}
193
- Update props: {{propsChanges}}
194
- Update validation: {{validationChanges}}
195
- ```
196
-
197
- ---
198
-
199
- ### Add Field Validation
200
-
201
- ```
202
- Add {{validationType}} validation to "{{fieldName}}" in {{moduleName}} details blade.
203
- Validation rule: {{validationRule}}
204
- Error message: "{{errorMessage}}"
205
- Locale key: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_{{ERROR_TYPE}}
206
- ```
207
-
208
- ---
209
-
210
- ### Make Field Required
211
-
212
- ```
213
- Make "{{fieldName}}" required in {{moduleName}} details blade.
214
- Add asterisk (*) to label: {{showAsterisk}}
215
- Validation rule: required
216
- Error message: "{{errorMessage}}"
217
- Locale key: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_REQUIRED
218
- ```
219
-
220
- ---
221
-
222
- ### Add Conditional Field Display
223
-
224
- ```
225
- Show "{{fieldName}}" field in {{moduleName}} details blade only when {{condition}}.
226
- Condition: "{{conditionField}}" {{operator}} "{{conditionValue}}"
227
- Implementation: {{implementationMethod}}
228
- ```
229
-
230
- **Operators:** `equals`, `not equals`, `contains`, `greater than`, `less than`
231
- **Implementation methods:** `v-if`, `v-show`, `computed property`
232
-
233
- ---
234
-
235
- ### Group Form Fields
236
-
237
- ```
238
- Group related fields in {{moduleName}} details blade.
239
- Section name: "{{sectionName}}"
240
- Fields: {{fieldsList}}
241
- Collapsible: {{isCollapsible}}
242
- Default state: {{defaultState}}
243
- Locale key: {{MODULE_NAME}}.PAGES.DETAILS.SECTIONS.{{SECTION_KEY}}.TITLE
244
- ```
245
-
246
- **Default states:** `expanded`, `collapsed`
247
-
248
- ---
249
-
250
- ### Add Form Tabs
251
-
252
- ```
253
- Add tabs to {{moduleName}} details blade.
254
- Tabs:
255
- {{tabsList}}
256
- Default active tab: {{defaultTab}}
257
- Locale keys: {{MODULE_NAME}}.PAGES.DETAILS.TABS.{{TAB_KEY}}.TITLE
258
- ```
259
-
260
- **Example tabs list:**
261
- ```
262
- - Basic Info (fields: name, description)
263
- - Advanced (fields: settings, metadata)
264
- - History (show audit log)
265
- ```
266
-
267
- ---
268
-
269
- ### Change Form Layout
270
-
271
- ```
272
- Change form layout in {{moduleName}} details blade.
273
- From: {{oldLayout}}
274
- To: {{newLayout}}
275
- Column 1 fields: {{column1Fields}}
276
- Column 2 fields: {{column2Fields}}
277
- Full-width fields: {{fullWidthFields}}
278
- Gap between fields: {{gapSize}}
279
- ```
280
-
281
- **Layouts:** `single-column`, `two-column`, `three-column`, `custom`
282
-
283
- ---
284
-
285
- ## Toolbar Operations
286
-
287
- ### Add Toolbar Button
288
-
289
- ```
290
- Add "{{buttonText}}" toolbar button to {{moduleName}} {{bladeType}} blade.
291
- Position: {{position}}
292
- Icon: {{materialIcon}}
293
- Action: {{actionDescription}}
294
- Disabled when: {{disabledCondition}}
295
- Visible when: {{visibleCondition}}
296
- Locale key: {{MODULE_NAME}}.PAGES.{{PAGE_TYPE}}.TOOLBAR.{{BUTTON_KEY}}
297
- ```
298
-
299
- **Blade types:** `list`, `details`
300
- **Positions:** `start`, `end`, `after "{{buttonId}}"`, `before "{{buttonId}}"`
301
-
302
- ---
303
-
304
- ### Remove Toolbar Button
305
-
306
- ```
307
- Remove "{{buttonId}}" toolbar button from {{moduleName}} {{bladeType}} blade.
308
- ```
309
-
310
- ---
311
-
312
- ### Change Toolbar Button Text
313
-
314
- ```
315
- Change toolbar button text in {{moduleName}} {{bladeType}} blade.
316
- Button ID: {{buttonId}}
317
- From: "{{oldText}}"
318
- To: "{{newText}}"
319
- Update locale key: {{MODULE_NAME}}.PAGES.{{PAGE_TYPE}}.TOOLBAR.{{BUTTON_KEY}}
320
- ```
321
-
322
- ---
323
-
324
- ### Add Button Loading State
325
-
326
- ```
327
- Add loading state to "{{buttonId}}" button in {{moduleName}} {{bladeType}} blade.
328
- Loading indicator: {{loadingIndicator}}
329
- Loading text: "{{loadingText}}"
330
- Disable while loading: {{disableWhileLoading}}
331
- ```
332
-
333
- ---
334
-
335
- ### Make Button Conditional
336
-
337
- ```
338
- Make "{{buttonId}}" button conditional in {{moduleName}} {{bladeType}} blade.
339
- Visible when: {{visibleCondition}}
340
- Disabled when: {{disabledCondition}}
341
- Tooltip when disabled: "{{disabledTooltip}}"
342
- ```
343
-
344
- ---
345
-
346
- ## Widget Integration
347
-
348
- ### Add Widget to Details Blade
349
-
350
- ```
351
- Add "{{widgetName}}" widget to {{moduleName}} details blade.
352
- Widget displays: {{widgetContent}}
353
- Icon: {{materialIcon}}
354
- Click action: {{clickAction}}
355
- Register using useWidgets() composable
356
- Locale key: {{MODULE_NAME}}.WIDGETS.{{WIDGET_KEY}}.TITLE
357
- ```
358
-
359
- ---
360
-
361
- ### Remove Widget
362
-
363
- ```
364
- Remove "{{widgetName}}" widget from {{moduleName}} details blade.
365
- Unregister in blade's onBeforeUnmount hook.
366
- Remove locale: {{MODULE_NAME}}.WIDGETS.{{WIDGET_KEY}}.*
367
- ```
368
-
369
- ---
370
-
371
- ### Change Widget Content
372
-
373
- ```
374
- Update "{{widgetName}}" widget content in {{moduleName}} details blade.
375
- New content: {{newContent}}
376
- Update data source: {{dataSource}}
377
- Update display logic: {{displayLogic}}
378
- ```
379
-
380
- ---
381
-
382
- ## Custom Cell Templates
383
-
384
- ### Create Cell Template Component
385
-
386
- ```
387
- Create custom cell template for "{{columnName}}" in {{moduleName}} table.
388
- Component name: {{ComponentName}}Cell.vue
389
- Display: {{displayDescription}}
390
- Props: {{propsInterface}}
391
- Location: modules/{{module-name}}/components/{{ComponentName}}Cell.vue
392
- Register in table columns with template slot
393
- ```
394
-
395
- ---
396
-
397
- ### Use Existing Cell Template
398
-
399
- ```
400
- Apply existing cell template to "{{columnName}}" in {{moduleName}} table.
401
- Template component: {{TemplateComponent}}
402
- Import from: {{importPath}}
403
- Configure with: {{configuration}}
404
- ```
405
-
406
- ---
407
-
408
- ## Composable Modifications
409
-
410
- ### Add Composable Function
411
-
412
- ```
413
- Add {{functionName}} to {{moduleName}} composable.
414
- Composable file: use{{EntityName}}{{Type}}.ts
415
- Function purpose: {{functionPurpose}}
416
- Parameters: {{functionParams}}
417
- Return value: {{returnValue}}
418
- Use pattern: {{pattern}}
419
- ```
420
-
421
- **Composable types:** `List`, `Details`, `Manager`
422
- **Patterns:** `useAsync`, `useModificationTracker`, `useTableSort`, `computed`, `watch`
423
-
424
- ---
425
-
426
- ### Update API Integration
427
-
428
- ```
429
- Update API integration in {{moduleName}} composable.
430
- Composable: use{{EntityName}}{{Type}}.ts
431
- API client: {{ApiClientClass}}
432
- Endpoint changes: {{endpointChanges}}
433
- Request payload mapping: {{requestMapping}}
434
- Response mapping: {{responseMapping}}
435
- ```
436
-
437
- ---
438
-
439
- ### Add Modification Tracking
440
-
441
- ```
442
- Add modification tracking to {{moduleName}} details blade.
443
- Use useModificationTracker composable
444
- Track: {{itemRef}}
445
- Show modified indicator on blade
446
- Reset after successful save
447
- ```
448
-
449
- ---
450
-
451
- ### Add Loading State
452
-
453
- ```
454
- Add loading state to {{action}} in {{moduleName}}.
455
- Use useAsync composable
456
- Show loading: {{loadingIndicator}}
457
- Disable UI while loading: {{disableElements}}
458
- ```
459
-
460
- ---
461
-
462
- ## Localization
463
-
464
- ### Add Module Locales
465
-
466
- ```
467
- Add locale keys for {{moduleName}} module.
468
- Locale file: modules/{{module-name}}/locales/en.json
469
- Structure:
470
- {{MODULE_NAME}}.MENU.TITLE
471
- {{MODULE_NAME}}.PAGES.LIST.TITLE
472
- {{MODULE_NAME}}.PAGES.LIST.TOOLBAR.*
473
- {{MODULE_NAME}}.PAGES.LIST.TABLE.HEADER.*
474
- {{MODULE_NAME}}.PAGES.DETAILS.TITLE
475
- {{MODULE_NAME}}.PAGES.DETAILS.FIELDS.*
476
- {{MODULE_NAME}}.WIDGETS.*
477
- ```
478
-
479
- ---
480
-
481
- ### Update Locale Text
482
-
483
- ```
484
- Update locale text in {{moduleName}}.
485
- Locale key: {{localeKey}}
486
- From: "{{oldText}}"
487
- To: "{{newText}}"
488
- File: modules/{{module-name}}/locales/{{language}}.json
489
- ```
490
-
491
- ---
492
-
493
- ### Add New Language
494
-
495
- ```
496
- Add {{language}} translation for {{moduleName}}.
497
- Copy structure from en.json
498
- Create: modules/{{module-name}}/locales/{{languageCode}}.json
499
- Translate all keys
500
- Register in locales/index.ts
501
- ```
502
-
503
- ---
504
-
505
- ## Validation Rules
506
-
507
- ### Add Email Validation
508
-
509
- ```
510
- Add email validation to "{{fieldName}}" in {{moduleName}} details blade.
511
- Validation rule: email
512
- Error message: "{{errorMessage}}"
513
- Locale key: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_EMAIL
514
- ```
515
-
516
- ---
517
-
518
- ### Add Length Validation
519
-
520
- ```
521
- Add length validation to "{{fieldName}}" in {{moduleName}} details blade.
522
- Min length: {{minLength}}
523
- Max length: {{maxLength}}
524
- Error messages:
525
- - Min: "{{minErrorMessage}}"
526
- - Max: "{{maxErrorMessage}}"
527
- Locale keys:
528
- - Min: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_MIN
529
- - Max: {{MODULE_NAME}}.PAGES.DETAILS.VALIDATION.{{FIELD_KEY}}_MAX
530
- ```
531
-
532
- ---
533
-
534
- ### Add Custom Validation
535
-
536
- ```
537
- Add custom validation to "{{fieldName}}" in {{moduleName}} details blade.
538
- Validation logic: {{validationLogic}}
539
- Error message: "{{errorMessage}}"
540
- Async validation: {{isAsync}}
541
- API endpoint (if async): {{validationEndpoint}}
542
- ```
543
-
544
- ---
545
-
546
- ### Add Unique Validation
547
-
548
- ```
549
- Add unique validation to "{{fieldName}}" in {{moduleName}} details blade.
550
- Check against API: {{apiEndpoint}}
551
- Debounce delay: {{debounceMs}}ms
552
- Error message: "{{errorMessage}}"
553
- Loading indicator while checking: {{showLoading}}
554
- ```
555
-
556
- ---
557
-
558
- ## Bulk Operations
559
-
560
- ### Add Bulk Delete
561
-
562
- ```
563
- Add bulk delete to {{moduleName}} list blade.
564
- Selection required: {{requireSelection}}
565
- Confirmation dialog: {{confirmationMessage}}
566
- Delete API endpoint: {{deleteEndpoint}}
567
- Refresh list after deletion: {{refreshAfterDelete}}
568
- Locale keys:
569
- - Toolbar button: {{MODULE_NAME}}.PAGES.LIST.TOOLBAR.DELETE
570
- - Confirmation: {{MODULE_NAME}}.PAGES.ALERTS.DELETE_SELECTED_CONFIRMATION.MESSAGE
571
- ```
572
-
573
- ---
574
-
575
- ### Add Bulk Update
576
-
577
- ```
578
- Add bulk {{updateType}} update to {{moduleName}} list blade.
579
- Update field: {{fieldName}}
580
- New value: {{newValue}}
581
- Options: {{updateOptions}}
582
- Confirmation required: {{requireConfirmation}}
583
- Update API endpoint: {{updateEndpoint}}
584
- ```
585
-
586
- ---
587
-
588
- ### Add Bulk Export
589
-
590
- ```
591
- Add bulk export to {{moduleName}} list blade.
592
- Export format: {{exportFormat}}
593
- Include columns: {{columnsToExport}}
594
- Filename pattern: {{filenamePattern}}
595
- Export API endpoint: {{exportEndpoint}}
596
- Show progress indicator: {{showProgress}}
597
- ```
598
-
599
- **Export formats:** `CSV`, `Excel`, `JSON`, `PDF`
600
-
601
- ---
602
-
603
- ### Add Select All Functionality
604
-
605
- ```
606
- Add "Select All" to {{moduleName}} list blade.
607
- Select all visible items: {{selectVisible}}
608
- Select all items (including not loaded): {{selectAll}}
609
- Show selection count: {{showCount}}
610
- Clear selection button: {{showClearButton}}
611
- ```
612
-
613
- ---
614
-
615
- ## Filters & Search
616
-
617
- ### Add Filter
618
-
619
- ```
620
- Add {{filterType}} filter to {{moduleName}} list blade.
621
- Filter by: {{filterField}}
622
- Filter options: {{filterOptions}}
623
- Default value: {{defaultValue}}
624
- Multiple selection: {{allowMultiple}}
625
- Position: {{filterPosition}}
626
- ```
627
-
628
- **Filter types:** `select`, `date-range`, `status`, `checkbox`, `custom`
629
-
630
- ---
631
-
632
- ### Add Date Range Filter
633
-
634
- ```
635
- Add date range filter to {{moduleName}} list blade.
636
- Filter field: {{dateField}}
637
- Presets: {{datePresets}}
638
- Date format: {{dateFormat}}
639
- Apply on change: {{applyOnChange}}
640
- ```
641
-
642
- **Date presets:** `today`, `yesterday`, `last-7-days`, `last-30-days`, `this-month`, `last-month`, `custom`
643
-
644
- ---
645
-
646
- ### Add Status Filter
647
-
648
- ```
649
- Add status filter to {{moduleName}} list blade.
650
- Status field: {{statusField}}
651
- Status options: {{statusOptions}}
652
- Default: {{defaultStatus}}
653
- Show count per status: {{showCounts}}
654
- ```
655
-
656
- ---
657
-
658
- ### Update Search Behavior
659
-
660
- ```
661
- Update search behavior in {{moduleName}} list blade.
662
- Search in fields: {{searchFields}}
663
- Search type: {{searchType}}
664
- Minimum characters: {{minChars}}
665
- Debounce delay: {{debounceMs}}ms
666
- Case sensitive: {{caseSensitive}}
667
- ```
668
-
669
- **Search types:** `contains`, `starts-with`, `exact`, `fuzzy`
670
-
671
- ---
672
-
673
- ## Row Actions
674
-
675
- ### Add Row Action Menu
676
-
677
- ```
678
- Add row action menu to {{moduleName}} list blade.
679
- Menu items:
680
- {{menuItems}}
681
- Menu position: {{menuPosition}}
682
- Icon: {{menuIcon}}
683
- ```
684
-
685
- **Example menu items:**
686
- ```
687
- - Edit (opens details blade)
688
- - Duplicate (creates copy)
689
- - Archive (soft delete)
690
- - Delete (with confirmation)
691
- ```
692
-
693
- ---
694
-
695
- ### Add Inline Action
696
-
697
- ```
698
- Add inline action to {{moduleName}} list rows.
699
- Action: {{actionName}}
700
- Icon: {{actionIcon}}
701
- Position: {{actionPosition}}
702
- Condition: {{showCondition}}
703
- Action handler: {{actionHandler}}
704
- ```
705
-
706
- ---
707
-
708
- ## Blade Configuration
709
-
710
- ### Change Blade Width
711
-
712
- ```
713
- Change {{moduleName}} {{bladeType}} blade width.
714
- From: {{oldWidth}}
715
- To: {{newWidth}}
716
- ```
717
-
718
- **Width values:** `30%`, `40%`, `50%`, `60%`, `70%`, `80%`, `90%`, `100%`, `500px`
719
-
720
- ---
721
-
722
- ### Make Blade Non-Closable
723
-
724
- ```
725
- Make {{moduleName}} {{bladeType}} blade non-closable.
726
- Set closable prop to false
727
- Remove close button from toolbar
728
- ```
729
-
730
- ---
731
-
732
- ### Add Blade Modified Indicator
733
-
734
- ```
735
- Add modified indicator to {{moduleName}} details blade.
736
- Use useModificationTracker composable
737
- Show indicator when: {{showCondition}}
738
- Warning on close when modified: {{showWarning}}
739
- ```
740
-
741
- ---
742
-
743
- ### Add Blade Loading State
744
-
745
- ```
746
- Add loading state to {{moduleName}} {{bladeType}} blade.
747
- Use v-loading directive
748
- Loading conditions: {{loadingConditions}}
749
- Loading text: "{{loadingText}}"
750
- ```
751
-
752
- ---
753
-
754
- ## Navigation
755
-
756
- ### Open Blade on Row Click
757
-
758
- ```
759
- Open {{targetBlade}} when clicking row in {{moduleName}} list blade.
760
- Pass parameter: {{parameter}}
761
- Blade options: {{bladeOptions}}
762
- Update selected item indicator: {{updateSelected}}
763
- ```
764
-
765
- ---
766
-
767
- ### Add Breadcrumbs
768
-
769
- ```
770
- Add breadcrumbs to {{moduleName}} blade.
771
- Breadcrumb items: {{breadcrumbItems}}
772
- Clickable: {{clickableBreadcrumbs}}
773
- Show on: {{showCondition}}
774
- ```
775
-
776
- ---
777
-
778
- ### Close Blade After Action
779
-
780
- ```
781
- Close {{moduleName}} details blade after {{action}}.
782
- Delay: {{delayMs}}ms
783
- Show notification: {{notificationMessage}}
784
- Refresh parent blade: {{refreshParent}}
785
- ```
786
-
787
- ---
788
-
789
- ## Dashboard Cards
790
-
791
- ### Add Dashboard Card
792
-
793
- ```
794
- Add dashboard card for {{moduleName}}.
795
- Card component: {{ComponentName}}DashboardCard.vue
796
- Display: {{cardContent}}
797
- Position in dashboard: {{cardPosition}}
798
- Size: {{cardSize}}
799
- Refresh interval: {{refreshInterval}}
800
- ```
801
-
802
- ---
803
-
804
- ### Update Card Data
805
-
806
- ```
807
- Update data source for {{moduleName}} dashboard card.
808
- API endpoint: {{apiEndpoint}}
809
- Data transformation: {{dataTransformation}}
810
- Loading state: {{showLoading}}
811
- Error handling: {{errorHandling}}
812
- ```
813
-
814
- ---
815
-
816
- ## Notifications
817
-
818
- ### Add Success Notification
819
-
820
- ```
821
- Show success notification after {{action}} in {{moduleName}}.
822
- Message: "{{notificationMessage}}"
823
- Duration: {{durationMs}}ms
824
- Position: {{position}}
825
- Locale key: {{MODULE_NAME}}.NOTIFICATIONS.{{ACTION_KEY}}_SUCCESS
826
- ```
827
-
828
- ---
829
-
830
- ### Add Error Notification
831
-
832
- ```
833
- Show error notification on {{errorCondition}} in {{moduleName}}.
834
- Message: "{{errorMessage}}"
835
- Show retry button: {{showRetry}}
836
- Log to console: {{logToConsole}}
837
- Locale key: {{MODULE_NAME}}.NOTIFICATIONS.{{ACTION_KEY}}_ERROR
838
- ```
839
-
840
- ---
841
-
842
- ### Add Unsaved Changes Warning
843
-
844
- ```
845
- Add unsaved changes warning to {{moduleName}} details blade.
846
- Show when: {{showCondition}}
847
- Dialog message: "{{warningMessage}}"
848
- Actions: {{dialogActions}}
849
- Locale key: {{MODULE_NAME}}.ALERTS.UNSAVED_CHANGES
850
- ```
851
-
852
- ---
853
-
854
- ## Styling
855
-
856
- ### Change Colors
857
-
858
- ```
859
- Change colors in {{moduleName}}.
860
- Target: {{target}}
861
- From: {{oldColor}}
862
- To: {{newColor}}
863
- Apply to: {{applyTo}}
864
- ```
865
-
866
- **Targets:** `primary`, `secondary`, `accent`, `success`, `warning`, `danger`, `info`
867
-
868
- ---
869
-
870
- ### Change Icons
871
-
872
- ```
873
- Change icons in {{moduleName}}.
874
- Location: {{iconLocation}}
875
- From: {{oldIcon}}
876
- To: {{newIcon}}
877
- Icon library: {{iconLibrary}}
878
- ```
879
-
880
- **Icon libraries:** `material-icons`, `fontawesome`, `custom`
881
-
882
- ---
883
-
884
- ### Update Spacing
885
-
886
- ```
887
- Update spacing in {{moduleName}} {{location}}.
888
- Element: {{elementType}}
889
- Padding: {{padding}}
890
- Margin: {{margin}}
891
- Gap: {{gap}}
892
- ```
893
-
894
- ---
895
-
896
- ### Add Custom CSS Class
897
-
898
- ```
899
- Add custom CSS class to {{element}} in {{moduleName}}.
900
- Class name: {{className}}
901
- Style definitions: {{styleDefinitions}}
902
- Location: {{cssFileLocation}}
903
- ```
904
-
905
- ---
906
-
907
- ## Mobile Responsiveness
908
-
909
- ### Optimize for Mobile
910
-
911
- ```
912
- Optimize {{moduleName}} for mobile devices.
913
- Breakpoint: {{breakpoint}}
914
- Changes:
915
- - {{mobileChange1}}
916
- - {{mobileChange2}}
917
- - {{mobileChange3}}
918
- Test on viewport: {{testViewport}}
919
- ```
920
-
921
- ---
922
-
923
- ### Configure Mobile Column Positions
924
-
925
- ```
926
- Configure mobile column positions for {{moduleName}} list blade.
927
- Column: {{columnName}}
928
- Mobile position: {{mobilePosition}}
929
- ```
930
-
931
- **Mobile positions:** `top-left`, `top-right`, `bottom-left`, `bottom-right`, `status`, `image`, `hidden`
932
-
933
- ---
934
-
935
- ## Performance
936
-
937
- ### Add Debounce
938
-
939
- ```
940
- Add {{debounceMs}}ms debounce to {{action}} in {{moduleName}}.
941
- Function: {{functionName}}
942
- Trigger: {{triggerEvent}}
943
- ```
944
-
945
- ---
946
-
947
- ### Add Caching
948
-
949
- ```
950
- Add caching to {{dataSource}} in {{moduleName}}.
951
- Cache duration: {{cacheDuration}}
952
- Cache key: {{cacheKey}}
953
- Invalidate on: {{invalidateConditions}}
954
- Storage: {{storageType}}
955
- ```
956
-
957
- **Storage types:** `memory`, `localStorage`, `sessionStorage`
958
-
959
- ---
960
-
961
- ### Add Lazy Loading
962
-
963
- ```
964
- Add lazy loading to {{content}} in {{moduleName}}.
965
- Load trigger: {{loadTrigger}}
966
- Batch size: {{batchSize}}
967
- Show loading indicator: {{showLoading}}
968
- ```
969
-
970
- ---
971
-
972
- ## Tips for Using These Templates
973
-
974
- 1. **Be Specific**: Replace ALL placeholders with exact values
975
- 2. **Check Syntax**: Ensure locale keys use uppercase and dots
976
- 3. **Test Changes**: Always test after implementation
977
- 4. **Format Code**: Run Prettier after changes
978
- 5. **Update Types**: Keep TypeScript interfaces in sync
979
-
980
- ---
981
-
982
- ## Need More Help?
983
-
984
- - **Adapting existing modules**: See `adapt-existing-module.md`
985
- - **Complete workflows**: See `guides/complete-workflow.md`
986
- - **Advanced scenarios**: See `advanced-scenarios.md`
987
- - **API integration**: See `api-client-generation.md`