chore(agent-prompts): remove old agent prompt files
This commit is contained in:
@@ -1,67 +0,0 @@
|
||||
# Sub-Agent 1A: Admin Dashboard + Store Management
|
||||
|
||||
## Objective
|
||||
Convert 5 Pencil design files into Blazor Server pages for the Admin module.
|
||||
|
||||
## Tech Stack
|
||||
- **Framework**: Blazor Server (.NET 8) with MudBlazor
|
||||
- **Styling**: Vanilla CSS using existing `admin.css` tokens (BEM: `.admin-{component}--{variant}`)
|
||||
- **Icons**: Lucide via `<i data-lucide="icon-name"></i>` (add `lucide.createIcons()` in OnAfterRenderAsync)
|
||||
- **i18n**: `IStringLocalizer<T>` with locale files at `wwwroot/locales/{vi-VN,en-US}.json`
|
||||
- **Base class**: Inherit from `AdminBase` at `Pages/Admin/AdminBase.cs`
|
||||
- **Layout**: Use `@layout AdminLayout` (already created at `Layout/AdminLayout.razor`)
|
||||
|
||||
## Design Files (Input)
|
||||
Read and convert these `.pen` files from `pencil-design/src/pages/tPOS/admin/`:
|
||||
1. `admin-dashboard.pen` → `Pages/Admin/Dashboard.razor`
|
||||
2. `store-list.pen` → `Pages/Admin/Store/StoreList.razor`
|
||||
3. `store-detail.pen` → `Pages/Admin/Store/StoreDetail.razor`
|
||||
4. `store-create.pen` → `Pages/Admin/Store/StoreCreate.razor`
|
||||
5. `store-settings.pen` → `Pages/Admin/Store/StoreSettings.razor`
|
||||
|
||||
## Route Definitions
|
||||
```
|
||||
@page "/admin" → Dashboard.razor
|
||||
@page "/admin/stores" → StoreList.razor
|
||||
@page "/admin/stores/{Id}" → StoreDetail.razor
|
||||
@page "/admin/stores/create" → StoreCreate.razor
|
||||
@page "/admin/stores/{Id}/settings" → StoreSettings.razor
|
||||
```
|
||||
|
||||
## Pattern Reference
|
||||
Follow the same pattern as `Pages/Auth/LoginCustomer.razor`:
|
||||
- `@page` directive, `@inherits AdminBase`, `@layout AdminLayout`
|
||||
- Vietnamese/English bilingual comments with `@* EN: ... VI: ... *@`
|
||||
- All user-visible text uses `@L["Key"]`
|
||||
- Add locale keys to both `vi-VN.json` and `en-US.json`
|
||||
|
||||
## How to Read .pen Files
|
||||
Each `.pen` file is JSON with structure:
|
||||
```json
|
||||
{
|
||||
"children": [{ "type": "frame", "children": [...] }],
|
||||
"variables": { "bg-page": { "type": "color", "value": "#0A0A0B" } }
|
||||
}
|
||||
```
|
||||
- `type: "frame"` → `<div>`
|
||||
- `type: "text"` with `content` → text node
|
||||
- `type: "icon_font"` with `iconFontName` → `<i data-lucide="icon-name">`
|
||||
- `fill: "$variable-name"` → use CSS var `--admin-variable-name`
|
||||
- `layout: "vertical"` → `flex-direction: column`
|
||||
- `gap`, `padding`, `cornerRadius` → standard CSS properties
|
||||
|
||||
## CSS Guidelines
|
||||
- Use existing classes from `admin.css` wherever possible
|
||||
- Add new classes to admin.css only if needed, following BEM naming
|
||||
- Topbar page title/subtitle: use `admin-topbar__title` and `admin-topbar__subtitle`
|
||||
- For the Dashboard page, include the topbar directly in the page content area
|
||||
|
||||
## Output Files
|
||||
Create these files:
|
||||
1. `Pages/Admin/Dashboard.razor` (with KPI cards, store overview, alerts, activity feed)
|
||||
2. `Pages/Admin/Store/StoreList.razor` (data table with search, filters)
|
||||
3. `Pages/Admin/Store/StoreDetail.razor` (detail view with stats)
|
||||
4. `Pages/Admin/Store/StoreCreate.razor` (form with validation)
|
||||
5. `Pages/Admin/Store/StoreSettings.razor` (settings form)
|
||||
6. Update `wwwroot/locales/vi-VN.json` — add Admin_Dashboard_*, Admin_Store_* keys
|
||||
7. Update `wwwroot/locales/en-US.json` — matching English translations
|
||||
@@ -1,52 +0,0 @@
|
||||
# Sub-Agent 1B: Admin Staff + Products
|
||||
|
||||
## Objective
|
||||
Convert 11 Pencil design files into Blazor Server pages for Staff and Products modules.
|
||||
|
||||
## Tech Stack
|
||||
Same as Agent 1A — Blazor Server, MudBlazor, admin.css tokens, Lucide icons, IStringLocalizer.
|
||||
- Inherit from `AdminBase`, use `@layout AdminLayout`
|
||||
|
||||
## Design Files (Input)
|
||||
Read from `pencil-design/src/pages/tPOS/admin/`:
|
||||
|
||||
### Staff (6 files)
|
||||
1. `staff-directory.pen` → `Pages/Admin/Staff/StaffDirectory.razor`
|
||||
2. `staff-create.pen` → `Pages/Admin/Staff/StaffCreate.razor`
|
||||
3. `staff-schedule.pen` → `Pages/Admin/Staff/StaffSchedule.razor`
|
||||
4. `attendance-dashboard.pen` → `Pages/Admin/Staff/AttendanceDashboard.razor`
|
||||
5. `payroll-commission.pen` → `Pages/Admin/Staff/PayrollCommission.razor`
|
||||
6. `role-permissions.pen` → `Pages/Admin/Staff/RolePermissions.razor`
|
||||
|
||||
### Products (5 files)
|
||||
7. `product-catalog.pen` → `Pages/Admin/Products/ProductCatalog.razor`
|
||||
8. `product-create.pen` → `Pages/Admin/Products/ProductCreate.razor`
|
||||
9. `menu-builder.pen` → `Pages/Admin/Products/MenuBuilder.razor`
|
||||
10. `modifier-groups.pen` → `Pages/Admin/Products/ModifierGroups.razor`
|
||||
11. `pricing-rules.pen` → `Pages/Admin/Products/PricingRules.razor`
|
||||
|
||||
## Route Definitions
|
||||
```
|
||||
@page "/admin/staff" → StaffDirectory
|
||||
@page "/admin/staff/create" → StaffCreate
|
||||
@page "/admin/staff/schedule" → StaffSchedule
|
||||
@page "/admin/staff/attendance" → AttendanceDashboard
|
||||
@page "/admin/staff/payroll" → PayrollCommission
|
||||
@page "/admin/roles" → RolePermissions
|
||||
@page "/admin/products" → ProductCatalog
|
||||
@page "/admin/products/create" → ProductCreate
|
||||
@page "/admin/menu" → MenuBuilder
|
||||
@page "/admin/products/modifiers" → ModifierGroups
|
||||
@page "/admin/products/pricing" → PricingRules
|
||||
```
|
||||
|
||||
## Pattern Reference
|
||||
Same as Agent 1A — see `Pages/Auth/LoginCustomer.razor` for pattern.
|
||||
|
||||
## How to Read .pen Files
|
||||
Same as Agent 1A — JSON with frames, text, icon_font, variables.
|
||||
|
||||
## Output Files
|
||||
- 11 `.razor` files in respective folders
|
||||
- Update locale files with Admin_Staff_* and Admin_Products_* keys
|
||||
- Any new CSS classes added to `admin.css`
|
||||
@@ -1,120 +0,0 @@
|
||||
# Sub-Agent 2A: Admin Finance + Inventory
|
||||
|
||||
## Objective
|
||||
Convert 8 Pencil design files into Blazor Server pages for Finance and Inventory modules.
|
||||
|
||||
## Tech Stack
|
||||
Same as Agent 1A — Blazor Server, MudBlazor, admin.css tokens, Lucide icons, IStringLocalizer.
|
||||
- Inherit from `AdminBase`, use `@layout AdminLayout`
|
||||
|
||||
## Design Files (Input)
|
||||
Read from `pencil-design/src/pages/tPOS/admin/`:
|
||||
|
||||
### Inventory (4 files)
|
||||
1. `inventory-dashboard.pen` → `Pages/Admin/Inventory/InventoryDashboard.razor`
|
||||
2. `purchase-orders.pen` → `Pages/Admin/Inventory/PurchaseOrders.razor`
|
||||
3. `stock-transfer.pen` → `Pages/Admin/Inventory/StockTransfer.razor`
|
||||
4. `supplier-management.pen` → `Pages/Admin/Inventory/SupplierManagement.razor`
|
||||
|
||||
### Finance (4 files)
|
||||
5. `financial-overview.pen` → `Pages/Admin/Finance/FinancialOverview.razor`
|
||||
6. `revenue-analytics.pen` → `Pages/Admin/Finance/RevenueAnalytics.razor`
|
||||
7. `expense-management.pen` → `Pages/Admin/Finance/ExpenseManagement.razor`
|
||||
8. `tax-configuration.pen` → `Pages/Admin/Finance/TaxConfiguration.razor`
|
||||
|
||||
## Route Definitions
|
||||
```
|
||||
@page "/admin/inventory" → InventoryDashboard
|
||||
@page "/admin/inventory/orders" → PurchaseOrders
|
||||
@page "/admin/inventory/transfers" → StockTransfer
|
||||
@page "/admin/inventory/suppliers" → SupplierManagement
|
||||
@page "/admin/finance" → FinancialOverview
|
||||
@page "/admin/finance/revenue" → RevenueAnalytics
|
||||
@page "/admin/finance/expenses" → ExpenseManagement
|
||||
@page "/admin/finance/tax" → TaxConfiguration
|
||||
```
|
||||
|
||||
## Pattern Reference & .pen Reading
|
||||
Same as Agent 1A/1B.
|
||||
|
||||
## Output Files
|
||||
- 8 `.razor` files
|
||||
- Update locale files with Admin_Inventory_* and Admin_Finance_* keys
|
||||
- New CSS classes in `admin.css` if needed
|
||||
|
||||
---
|
||||
|
||||
# Sub-Agent 2B: Admin Customer + System
|
||||
|
||||
## Objective
|
||||
Convert 7 Pencil design files into Blazor Server pages.
|
||||
|
||||
## Design Files (Input)
|
||||
Read from `pencil-design/src/pages/tPOS/admin/`:
|
||||
|
||||
### Customer (3 files)
|
||||
1. `customer-database.pen` → `Pages/Admin/Customers/CustomerDatabase.razor`
|
||||
2. `customer-feedback.pen` → `Pages/Admin/Customers/CustomerFeedback.razor`
|
||||
3. `loyalty-program.pen` → `Pages/Admin/Customers/LoyaltyProgram.razor`
|
||||
|
||||
### System (4 files)
|
||||
4. `device-management.pen` → `Pages/Admin/System/DeviceManagement.razor`
|
||||
5. `integration-hub.pen` → `Pages/Admin/System/IntegrationHub.razor`
|
||||
6. `notification-center.pen` → `Pages/Admin/System/NotificationCenter.razor`
|
||||
7. `audit-log.pen` → `Pages/Admin/System/AuditLog.razor`
|
||||
|
||||
## Route Definitions
|
||||
```
|
||||
@page "/admin/customers" → CustomerDatabase
|
||||
@page "/admin/customers/feedback" → CustomerFeedback
|
||||
@page "/admin/loyalty" → LoyaltyProgram
|
||||
@page "/admin/devices" → DeviceManagement
|
||||
@page "/admin/integrations" → IntegrationHub
|
||||
@page "/admin/notifications" → NotificationCenter
|
||||
@page "/admin/audit" → AuditLog
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Sub-Agent 2C: POS Screens + Payment
|
||||
|
||||
## Objective
|
||||
Convert 33 Pencil design files into Blazor Server pages for POS module.
|
||||
|
||||
## Tech Stack
|
||||
- Inherit from `PosBase` at `Pages/Pos/PosBase.cs`
|
||||
- Use `@layout PosLayout` (at `Layout/PosLayout.razor`)
|
||||
- Styling: `pos.css` tokens with BEM `.pos-{component}--{variant}`
|
||||
- All other conventions same as Admin agents
|
||||
|
||||
## Design Files (Input)
|
||||
Read from `pencil-design/src/pages/tPOS/pos/shared/`:
|
||||
|
||||
### Screens (22 files)
|
||||
`screens/login.pen`, `screens/quick-sale.pen`, `screens/settings.pen`,
|
||||
`screens/shift-management.pen`, `screens/clock-in-out.pen`,
|
||||
`screens/device-setup.pen`, `screens/offline-mode.pen`,
|
||||
`screens/password-reset.pen`, `screens/pin-entry.pen`,
|
||||
`screens/pending-orders.pen`, `screens/promo-active.pen`,
|
||||
`screens/staff-list.pen`, `screens/staff-schedule.pen`,
|
||||
`screens/stock-count.pen`, `screens/theme-customization.pen`,
|
||||
`screens/training-mode.pen`, `screens/accessibility.pen`,
|
||||
`screens/backup-restore.pen`, `screens/biometric-setup.pen`,
|
||||
`screens/cash-drawer.pen`, `screens/commission-setup.pen`,
|
||||
`screens/customer-group.pen`
|
||||
|
||||
### Payment (11 files)
|
||||
`payment/method-select.pen`, `payment/cash.pen`, `payment/card.pen`,
|
||||
`payment/qr.pen`, `payment/bank-transfer.pen`, `payment/gift-card.pen`,
|
||||
`payment/partial-payment.pen`, `payment/tip-entry.pen`,
|
||||
`payment/payment-pending.pen`, `payment/receipt.pen`, `payment/success.pen`
|
||||
|
||||
## Route Definitions
|
||||
POS screens: `/pos/{screen-name}` (e.g., `/pos/quick-sale`, `/pos/settings`)
|
||||
Payment: `/pos/payment/{method}` (e.g., `/pos/payment/cash`, `/pos/payment/card`)
|
||||
|
||||
## Output
|
||||
- 22 POS screen `.razor` files in `Pages/Pos/`
|
||||
- 11 Payment `.razor` files in `Pages/Pos/Payment/`
|
||||
- Shared POS components in `Components/Pos/` if reusable patterns emerge
|
||||
- Locale keys: Pos_*, Pos_Payment_*
|
||||
@@ -1,95 +0,0 @@
|
||||
# Sub-Agent 3A: POS Dialogs
|
||||
|
||||
## Objective
|
||||
Convert 47 POS dialog design files into MudDialog components.
|
||||
|
||||
## Tech Stack
|
||||
- **Component type**: MudBlazor `MudDialog` (not full pages)
|
||||
- **Styling**: `pos.css` tokens
|
||||
- **Icons**: Lucide via `<i data-lucide="icon-name"></i>`
|
||||
- **i18n**: `IStringLocalizer<T>` with locale files
|
||||
- **Location**: `Components/Pos/Dialogs/{DialogName}.razor`
|
||||
|
||||
## Design Files (Input)
|
||||
Read ALL `.pen` files from `pencil-design/src/pages/tPOS/pos/shared/dialogs/`:
|
||||
barcode-scan, change-calculator, confirmation, coupon-redeem,
|
||||
customer-add, customer-edit, customer-history, customer-note, customer-search,
|
||||
data-export, deposit-withdrawal, discount-apply, expense-entry, expiry-warning,
|
||||
feedback-form, help-support, hold-recall, keyboard-shortcuts,
|
||||
low-stock-alert, loyalty-reward, loyalty-scan, manager-override,
|
||||
modifier-select, multi-discount, network-error, open-price,
|
||||
order-cancel, order-edit, order-reprint, permission-denied, petty-cash,
|
||||
price-check, printer-error, product-search, quantity-adjust,
|
||||
role-switch, session-timeout, split-bill, stock-in, stock-out,
|
||||
stock-transfer, sync-conflict, sync-status, two-factor,
|
||||
vip-benefits, void-refund, weight-entry
|
||||
|
||||
## MudDialog Pattern
|
||||
```razor
|
||||
@* EN: Dialog description / VI: Mô tả dialog *@
|
||||
|
||||
<MudDialog>
|
||||
<TitleContent>
|
||||
<div style="display:flex;align-items:center;gap:10px;">
|
||||
<i data-lucide="icon-name"></i>
|
||||
<span>@L["Dialog_Title"]</span>
|
||||
</div>
|
||||
</TitleContent>
|
||||
<DialogContent>
|
||||
@* Dialog content from .pen design *@
|
||||
</DialogContent>
|
||||
<DialogActions>
|
||||
<MudButton OnClick="Cancel">@L["Dialog_Cancel"]</MudButton>
|
||||
<MudButton Color="Color.Primary" OnClick="Submit">@L["Dialog_Submit"]</MudButton>
|
||||
</DialogActions>
|
||||
</MudDialog>
|
||||
|
||||
@code {
|
||||
[CascadingParameter] IMudDialogInstance MudDialog { get; set; }
|
||||
private void Cancel() => MudDialog.Cancel();
|
||||
private void Submit() => MudDialog.Close(DialogResult.Ok(true));
|
||||
}
|
||||
```
|
||||
|
||||
## Output
|
||||
- 47 dialog `.razor` files in `Components/Pos/Dialogs/`
|
||||
- Locale keys: Pos_Dialog_{DialogName}_*
|
||||
|
||||
---
|
||||
|
||||
# Sub-Agent 3B: POS Reports + Verticals
|
||||
|
||||
## Objective
|
||||
Convert 22 Pencil design files for POS reports and vertical-specific screens.
|
||||
|
||||
## Tech Stack
|
||||
Same POS conventions — inherit `PosBase`, use `@layout PosLayout`, `pos.css`.
|
||||
|
||||
## Design Files (Input)
|
||||
|
||||
### Reports (8 files) from `pos/shared/reports/`:
|
||||
`sales-dashboard.pen`, `shift-report.pen`, `tax-report.pen`,
|
||||
`cash-reconciliation.pen`, `inventory-alert.pen`, `payment-report.pen`,
|
||||
`staff-performance.pen`, `top-sellers.pen`
|
||||
|
||||
### Café (5+1 files) from `pos/cafe/`:
|
||||
`desktop.pen`, `tablet.pen`, `mobile.pen`,
|
||||
`barista-queue.pen`, `customer-display.pen`
|
||||
|
||||
### Restaurant (3 files) from `pos/restaurant/`:
|
||||
`desktop.pen`, `tablet.pen`, `mobile.pen`
|
||||
|
||||
### Karaoke (3 files) from `pos/karaoke/`:
|
||||
`desktop.pen`, `tablet.pen`, `mobile.pen`
|
||||
|
||||
### Spa (3 files) from `pos/spa/`:
|
||||
`desktop.pen`, `tablet.pen`, `mobile.pen`
|
||||
|
||||
## Route Definitions
|
||||
Reports: `/pos/reports/{report-type}`
|
||||
Verticals: `/pos/{vertical}/{view}` (e.g., `/pos/cafe/desktop`)
|
||||
|
||||
## Output
|
||||
- 8 Report pages in `Pages/Pos/Reports/`
|
||||
- Vertical pages in `Pages/Pos/Cafe/`, `Pages/Pos/Restaurant/`, etc.
|
||||
- Locale keys: Pos_Report_*, Pos_Cafe_*, Pos_Restaurant_*, etc.
|
||||
@@ -1,35 +0,0 @@
|
||||
# Sub-Agent 4: Admin Onboarding Wizard
|
||||
|
||||
## Objective
|
||||
Convert 6 Pencil onboarding files into a multi-step wizard flow.
|
||||
|
||||
## Tech Stack
|
||||
Same Admin conventions — inherit `AdminBase`, use `@layout AdminLayout`, `admin.css`.
|
||||
|
||||
## Design Files (Input)
|
||||
Read from `pencil-design/src/pages/tPOS/admin/`:
|
||||
1. `onboarding-business.pen` → Step 1: Business info
|
||||
2. `onboarding-store.pen` → Step 2: Store setup
|
||||
3. `onboarding-products.pen` → Step 3: Product catalog
|
||||
4. `onboarding-staff.pen` → Step 4: Staff setup
|
||||
5. `onboarding-device.pen` → Step 5: Device pairing
|
||||
6. `onboarding-ready.pen` → Step 6: Ready to go!
|
||||
|
||||
## Route Definitions
|
||||
```
|
||||
@page "/admin/onboarding" → OnboardingWizard.razor (all steps)
|
||||
@page "/admin/onboarding/{Step}" → Same component, step parameter
|
||||
```
|
||||
|
||||
## Implementation Notes
|
||||
- Create a SINGLE `OnboardingWizard.razor` with step navigation
|
||||
- Use MudStepper or custom stepper component
|
||||
- Each step renders content based on `{Step}` parameter
|
||||
- Include progress indicator, back/next buttons
|
||||
- Final step: celebration + redirect to `/admin`
|
||||
|
||||
## Output
|
||||
- `Pages/Admin/Onboarding/OnboardingWizard.razor`
|
||||
- `Components/Admin/OnboardingStep.razor` (reusable step wrapper)
|
||||
- Locale keys: Admin_Onboarding_*
|
||||
- Wire up the route from the admin layout's sidebar
|
||||
Reference in New Issue
Block a user